Scalasca

Scalasca est un outil open-source permettant d'analyser le comportement d'applications parallèles et d'identifier les zones à optimiser.

"Scalasca (SCalable performance Analysis of LArge SCale parallel Applications) is an open-source project developed in the Jülich Supercomputing Centre (JSC) which focuses on analyzing OpenMP, MPI and hybrid OpenMP/MPI parallel applications, yet presenting an advanced and user-friendly graphical interface. Scalasca can be used to help identify bottlenecks and optimization opportunities in application codes by providing a number of important features: profiling and tracing of highly parallel programs; automated trace analysis that localizes and quantifies communication and synchronization inefficiencies; flexibility (to focus only on what really matters), user friendliness; and integration with PAPI hardware counters for performance analysis."

Version installée

Scalasca 2.2.2 icc and gcc version

Utiliser la commande module avail perf/scalasca pour afficher les versions installées.

Pour activer la fonctionnalité de tracing export SCOREP_ENABLE_TRACING=1

Utilisation

Charger le module scalasca (dépend de qt et de ompi) :

$ module load perf/scalasca/icc

L'utilisation de scalasca se décompose en trois phases :

1. Instrumentation de l'application (skin)

Préparation de l'application et édition du lien avec les outils de mesure scalasca.

Remplacer :

$ mpicc -o foo [some options] foo.c

par :

$ scalasca -instrument mpicc -o foo [some options] foo.c

ou en utilisant l'alias skin

$ skin mpicc -o foo [some options] foo.c

pour produire un code binaire instrumenté prêt à être exécuté.

2. Exécution de l'application instrumentée (scan)

Lancement de l'analyseur de mesure avec :

$ scalasca -analyze mpirun [some options] foo.exe [some parameters]

ou

$ scan mpirun [some options] foo.exe [some parameters]

cela produit des données de mesure dans un nouveau dossier, appelé par défaut, epik_ProgramName_nCPUS_sum.

3. Analyse/visualisation des résultats (square)

Lancement de l'interface graphique scalasca :

$ scalasca -examine epik_ProgramName_nCPUS_sum

ou

square epik_ProgramName_nCPUS_sum

Pour explorer et analyser le rapport.

Exemple :

Liens