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:
module add paraver wxparaver
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:
module add extrae
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:
mpi2prv set-0/*.mpit -o out.prv
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
1-3 1-5 PAPI_TOT_INS,PAPI_TOT_CYC,PAPI_L1_DCM PAPI_TOT_CYC PAPI_TOT_INS,PAPI_FP_INS,PAPI_TOT_CYC 500000
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.
module add dimemas
Commands like Dimemas , DimemasGUI , prv2dim and trf2dim should now be available.