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 :
Jean-Matthieu ETANCELIN
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)
Cédric VALENSI
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.