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:

http://www.bsc.es/computer-sciences/performance-tools

Paraver

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 .prv

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

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

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.