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.
Scalasca supports profiling of MPI, OpenMP and hybrid MPI+OpenMP applications.
For the current list of installed versions, use:
$ ml av Scalasca
Profiling a parallel application with Scalasca consists of three steps:
- Instrumentation, compiling the application such way, that the profiling data can be generated.
- Runtime measurement, running the application with the Scalasca profiler to collect performance data.
- Analysis of reports
scalasca -instrument is discouraged. Use Score-P instrumentation.
After the application is instrumented, runtime measurement can be performed with the
scalasca -analyze command. The syntax is:
scalasca -analyze [scalasca options] [launcher] [launcher options] [program] [program options]
$ scalasca -analyze mpirun -np 4 ./mympiprogram
Some notable Scalasca options are:
-tenables trace data collection. By default, only summary data are collected.
-e <directory>specifies a directory to which the collected data is saved. By default, Scalasca saves the data to a directory with the scorep_ prefix, followed by the name of the executable and the launch configuration.
Scalasca can generate a huge amount of data, especially if tracing is enabled. Consider saving the data to a scratch directory.
Analysis of Reports¶
To launch the analysis, run:
$ scalasca -examine [options] <experiment_directory>
If you do not wish to launch the GUI tool, use the
$ scalasca -examine -s <experiment_directory>
Alternatively, you can open CUBE and load the data directly from here. Keep in mind that in this case, the pre-processing is not done and not all metrics will be shown in the viewer.
Refer to the CUBE documentation on usage of the GUI viewer.