.. index:: Scalasca, Profiling; Scalasca .. _Scalasca: 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: .. code-block:: bash $ 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 .. code-block:: bash $ scalasca -h gives a short overview. Further documentation is available in $SCALASCA_ROOT/share/doc. Source ------ http://www.scalasca.org 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. .. code-block:: bash 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: .. code-block:: bash 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, :ref:`Open MPI`, :ref:`Cube` and :ref:`Score-P` modules loaded.