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 can be loaded using the following module:
module load scalasca
To instrument your code prefix your compilation line with scalasca -instrument e.g.
scalasca -instrument mpif90 -o foo foo.f90
Running Instrumented Code
Execute your instrumented code by prefixing your launch command with scalasca -analyze e.g.
scalasca -analyze mpiexec -n $NSLOTS ./foo
Note: Your profile may fail to be generated because the ESD_BUFFER_SIZE variable needs to be increased. Please check the end of the run for any warning messages like the following:
ESD_BUFFER_SIZE needs to be at least X bytes
Generating Profile Report
After execution an 'epik' profile directory will be created. To view your profile with the Cube3 GUI tool, use the following command:
scalasca -examine ./epik_foo
To generate a text report within the epik directory (called epik.score) use the following command:
scalasca -examine -s ./epik_foo
See the official website: Scalasca Webpage
The User Guide, v.1.3.3, may be found here