Debuggers and profiling¶
Under this area you will find information about the installed debuggers and profiling tools available on HPC2N’s systems.
Caveat and info
The list is NOT complete. Login to Kebnekaise and run the command
to get a full list.
If there is a program you need and it is not installed, you can either install it yourself or ask (mail support at support@hpc2n.umu.se) if it can be installed on Kebnekaise. If the program needs a license you will have to provide that yourself. If the license requires a license server, that will have to be provided either by yourself or through your department or similar.
Most of the software is accessed through the module system. You can read more about using modules on our ‘The modules system’ page. When you are looking for a piece of software, try running either
or
to see if it is installed.
You can also try with
to see if the software named SOFTWARE is installed as a module.
For information about versions, login to the cluster (Kebnekaise) and run
where SOFTWARE is the name of the software.
Newer versions of the provided software will be installed regularly. However, if you need a new version quickly, please send an email to support@hpc2n.umu.se.
DDT¶
The Number One Debugger for C, C++ and Fortran Threaded and Parallel Code. Arm DDT is the number one server and HPC debugger in research, industry, and academia for software engineers and scientists developing C++, C, Fortran parallel and threaded applications on CPUs, GPUs, Intel and Arm. Arm DDT is trusted as a powerful tool for automatic detection of memory bugs and divergent behavior to achieve lightning-fast performance at all scales.
Cube¶
Cube, which is used as performance report explorer for Scalasca and Score-P, is a generic tool for displaying a multi-dimensional performance space consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree can be collapsed or expanded to achieve the desired level of granularity.
Extrae¶
Extrae is the core instrumentation package developed by the Performance Tools group at BSC. Extrae is capable of instrumenting applications based on MPI, OpenMP, pthreads, CUDA1, OpenCL1, and StarSs1 using different instrumentation approaches. The information gathered by Extrae typically includes timestamped events of runtime calls, performance counters and source code references. Besides, Extrae provides its own API to allow the user to manually instrument his or her application.
Intel Inspector¶
Intel Inspector XE is an easy to use memory error checker and thread checker for serial
and parallel applications.
- Local documentation: Intel Inspector
- External info: Intel Inspector
itac¶
The Intel Trace Collector is a low-overhead tracing library that performs event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application activities gathered by the Intel Trace Collector through graphical displays.
- Local documentation: itac
- External info: Intel Trace Analyzer and Collector
LLVM¶
The LLVM Core libraries provide a modern source- and target-independent optimizer, along with code generation support for many popular CPUs (as well as some less common ones!) These libraries are built around a well specified code representation known as the LLVM intermediate representation (“LLVM IR”). The LLVM Core libraries are well documented, and it is particularly easy to invent your own language (or port an existing compiler) to use LLVM as an optimizer and code generator.
OPARI2¶
OPARI2, the successor of Forschungszentrum Juelich’s OPARI, is a source-to-source instrumentation tool for OpenMP and hybrid codes. It surrounds OpenMP directives and runtime library calls with calls to the POMP2 measurement interface.
- Local documentation: OPARI2
- External info: Score-p with OPARI2
PAPI¶
PAPI provides the tool designer and application engineer with a consistent interface and methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables software engineers to see, in near real time, the relation between software performance and processor events. In addition Component PAPI provides access to a collection of components that expose performance measurement opportunites across the hardware and software stack.
PDT¶
Program Database Toolkit (PDT) is a framework for analyzing source code written in several programming languages and for making rich program knowledge accessible to developers of static and dynamic analysis tools. PDT implements a standard program representation, the program database (PDB), that can be accessed in a uniform way through a class library supporting common PDB operations.
- Local documentation: PDT
- External info: Program Database Toolkit
Scalasca¶
Scalasca is a software tool that supports the performance optimization of parallel programs by measuring and analyzing their runtime behavior. The analysis identifies potential performance bottlenecks – in particular those concerning communication and synchronization – and offers guidance in exploring their causes.
Score-P¶
The Score-P measurement infrastructure is a highly scalable and easy-to-use tool suite for profiling, event tracing, and online analysis of HPC applications.
Valgrind¶
Debugging and profiling tools.
VTune¶
Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, Assembly and Java.