==== Score-P ====
(Scalable Performance Measurement Infrustructure for Parallel codes)
Is a powerful tool suite for profiling and tracing events during execution of parallel applications.
With its support for different data formats to instrument, write and read trace data, it supports a number of analyis tools including Vampir, Scalasca and TAU. Data formats supported by Score-P include, Open Trace format 2 - OTF2, Cube4 profilinf format and the Opari2 instrumenter.
To compile a code with Score-P, you have to load the module first then use the Score-P wrapper.
$ module load scorep
In our system, loading the Score-P module also enables links to both OTF2 and CUBE libraries.
For automatic instrumentation use the scorep wrapper before the compiler, for example
$# Environment variable setup examples
$ export SCOREP_ENABLE_TRACING=true
$ scorep --user gcc -c test.c -o test
For manual instrumentation the "--user" flag is added to the "scorep" command when compiling, i.e.
$ scorep --user gcc -o test test.c
The environment variable "SCOREP_ENABLE_TRACING" allows tracing measurements. Current Score-P environment variables currently set can be checked by "score-p-info"
$ scorep-info config-vars --full
#Output
SCOREP_ENABLE_PROFILING
Description: Enable profiling
Type: Boolean
Default: true
SCOREP_ENABLE_TRACING
Description: Enable tracing
Type: Boolean
Default: false
SCOREP_VERBOSE
Description: Be verbose
Type: Boolean
Default: false
.....
To produce tace and profile files, just run the executable.
**NOTE:** In SCC, unfortunately for libraries installed via Spack scorep module ought to be loaded at run-time for linking to the necessary data formats libraries, e.g. for an interactive mode...
module load scorep
# Then run the executable
$./test
Following is an example run-script for batch execution:
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --partition=medium
#SBATCH --ntasks-per-node=16
#SBATCH --time=00:02:00
#SBATCH --job-name=vampir_trace_test
#SBATCH --output=traceTest_.%A_%a.out
#SBATCH --error=traceTest_e.%A_%a.err
module load scorep
export SCOREP_ENABLE_TRACING=true
# run the executable
srun ./trace.bin output