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

ml spider

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

module avail

or

ml spider

to see if it is installed.

You can also try with

ml spider SOFTWARE

to see if the software named SOFTWARE is installed as a module.

For information about versions, login to the cluster (Kebnekaise) and run

ml spider SOFTWARE

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.

  • Local documentation: DDT
  • External info: ArmDDT

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.

  • Local documentation: Cube
  • External info: Cube

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.

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.

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.

  • Local documentation: LLVM
  • External info: LLVM

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.

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.

  • Local documentation: PAPI
  • External info: PAPI

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.

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.