Formation au profiling d'application avec des outils gratuits


Formation : 3 journées de formation dédiées au profiling d’applications CPU - OpenMP - MPI à l’aide d’outils gratuits : TAU, MAQAO et SCALASCA

Prérequis : Une expérience en programmation est requise. Les exemples seront en C/C++ et/ou Fortran mais la maitrise de ces langages n'est pas necessaire.

Dates : du 26 au 28 avril 2017 - 9h00-12h30  14h00-17h30 

Organisateurs :

  • Le Centre de Calcul de Normandie CRIANN,
  • le Centre de Recherche en STIC (CReSTIC), le Centre de Calcul de Champagne-Ardenne ROMEO la chaire C2I2, de l'Université de Reims Champagne-Ardenne URCA.
  • l'Université de Versailles Saint-Quentin UVSQ - Exascale Computing Research ECR

Lieu : La formation est ouverte sur 2 sites (partiellement en visio) :

  • Reims (Campus Moulin de la Housse - UFR Sciences - Salle de séminaire du Batiment 3 - au dessus de la salle d'examen, à droite en entrant)
  • Rouen (CRIANN, 745, avenue de l’Université, 76800 Saint-Etienne du Rouvray)

Affiche : Disponible en téléchargement ici, n'hésitez pas à diffuser

Prix : La formation est ouverte gratuitement aux académiques ainsi qu'aux industriels (100€ par jour de participation, déjeuner compris)

Planning : La formation se déroulera sous forme d'une alternance de cours et de labs qui auront lieu sur les machines des participants (connexion wifi, navigateur moderne et récent à jour requis).

Inscription : Pour des raisons d'organisation, l'inscription est obligatoire et les places sont limitées : Inscription


Intervenants :







 Expert GPU Application LAB, ROMEO - URCA 






William JALBY

 Full Professor at University of Versailles - Computer Software Consultant


Emmanuel OSERET

HPC Expert Engineer chez Exascale Computing Research (UVSQ)



Expert Engineer at Exascale Computing Research (UVSQ)




Benoist GASTON

 Engineer at CRIANN








Jour 1, mercredi 26 avril 2017 : TAU


TAU Performance System® is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, Java, Python. It is capable of gathering performance information through instrumentation of functions, methods, basic blocks, and statements. All C++ language features are supported including templates and namespaces. The API also provides selection of profiling groups for organizing and controlling instrumentation. The instrumentation can be inserted in the source code using an automatic instrumentor tool based on the Program Database Toolkit (PDT), dynamically using DyninstAPI, at runtime in the Java Virtual Machine, or manually using the instrumentation API. TAU internally uses the Score-P system for generating OTF2 traces that may be visualized using the Vampir Pro toolkit.

TAU's profile visualization tool, paraprof, provides graphical displays of all the performance analysis results in aggregate and single node/context/thread forms. The user can quickly identify sources of performance bottlenecks in the application using the graphical interface. In addition, TAU can generate event traces that can be displayed with the Vampir, Paraver or JumpShot trace visualization tools.


Jour 2, jeudi 27 avril 2017 : MAQAO


 MAQAO (Modular Assembly Quality Analyzer and Optimizer) is a performance analysis and optimisation tool suite. Its main goal is to provide application developers with synthetic reports in order to help them optimizing their code. The tool mixes both dynamic and static analyses based on its ability to reconstruct high level structures such as functions and loops from an application binary. Since MAQAO operates at binary level, it is agnostic with regard to the language used in the source code.


Another key feature of MAQAO is its extensibility. Users can easily write their own modules thanks to an API using the Lua scripting language, allowing fast prototyping of new MAQAO modules.


MAQAO has also been designed to support multiple architectures concurrently. At this point, the Intel64 and Xeon Phi architectures are implemented but others are in development.


The main modules of MAQAO are LProf, a sampling-based lightweight profiler offering results at the function and loop levels and capable of categorizing its results depending on their source, and CQA (Code Quality Analyzer), a static analyser assessing the quality of the code generated by the compiler and producing a set of reports describing potential issues, estimations of the gain if fixed, and hints on how to achieve this. Other modules, currently in beta version, allow performing value profiling, decremental analysis, and memory profiling.




Jour 3, vendredi 28 avril : SCALASCA


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.
Scalasca targets mainly scientific and engineering applications based on the programming interfaces MPI and OpenMP, including hybrid applications based on a combination of the two. The tool has been specifically designed for use on large-scale systems including IBM Blue Gene and Cray XT, but is also well suited for small- and medium-scale HPC platforms. The software is available for free download under the New BSD open-source license.