Scalasca

Description

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 the performance optimization of simulation codes on a wide range of current HPC platforms. Its powerful analysis and intuitive result presentation guides the developer through the tuning process.

User instructions

Scalasca is available for both the GNU and Intel compiler families. It can analyse OpenMP code as well as MPI programs. To use it, first load the relevant module:

$ module load scalasca/2.3.1

Programs must be recompiled and run in a specific fashion in order for scalasca to analyse the program’s performance. This amounts to prefacing the compilation and execution commands with a Scalasca command.

Running

$ scalasca -h

gives a short overview. Further documentation is available in $SCALASCA_ROOT/share/doc.

License

New BSD license.

Admin notes

Scalasca requires QT4 libraries for its GUI interface. This was slightly excessive to install on the NFS server, so I compiled it using the builder account on a workstation.

mkdir build-gcc63ompi21; cd build-gcc63ompi21
ml purge; ml gcc openmpi
../scalasca-2.3.1/configure --prefix=/common/debian/9.1/MPI/gcc/6.3/openmpi/2.1/scalasca/scalasca-2.3.1
make
make install

and for the Intel compilers:

mkdir build-intel2017ompi21; cd build-intel2017ompi21
ml intel openmpi
../scalasca-2.3.1/configure --prefix=/common/debian/9.1/MPI/intel/2017.4/openmpi/2.1/scalasca/scalasca-2.3.1 CC=icc CXX=icpc FC=ifort F77=ifort
make
# Make fails with an error - so the intel version was not installed.

with the appropriate compiler, Open MPI, Cube and Score-P modules loaded.