Paraver / Extrae / Dimemas

A suite of performance analysis tools from the Barcelona Supercomputing Center (BSC), allowing the profiling, tracing and sampling of an application. Able to instrument codes using using a variety of parallel programming models (e.g. serial/no parallelism, MPI, OpenMP, pthreads).

This page is a tour of some of the functionality – please see the website for more details:


Paraver is the visualisation component. To use, please ensure your ssh client has a forwarded X connection configured to enable graphical output, and then execute:

Please see the website for details on how to use the tool – there are a number of tutorials available which are strongly recommended. Paraver seems to be such a general program for visualising in 2D that it is difficult to initially see how to use it.


Extrae is the data collection component. Before using, please execute:

Data can be collected from an application without recompilation. Although configuring extrae is achieved via an XML file, the command used to launch it varies depending on whether the application uses MPI or not:

Type of program Job Script Command
Non-MPI extrae -config <extrae config file> <program>
MPI based mpirun extrae -config <extrae config file> <program>

For parallel applications, a number of mpit files will have been created. Merge them into a paraver file with:

Example configuration file, edit appropriately to enable/disable MPI, OpenMP or multi-threaded instrumentation is shown below. Please note there are many examples to be found under directory $EXTRAE_HOME/share/example


Dimemas give predictions on how a given application might perform on a slightly different HPC machine – perhaps with CPUs of different speeds, or a network with different characteristics. We have not investigated this tool as yet, and offer it to complete the core set of applications from BSC.

Commands like Dimemas , DimemasGUI , prv2dim and trf2dim should now be available.