Le processus d'optimisation de code se décompose principalement en deux phases :
- Mesure de performance
- Modification du programme dans le but d'améliorer la performance
Cette Action Nationale de Formation (ANF) contribue à la première étape qui est généralement faite de manière incomplète car les outils d'évaluation de performance sont malheureusement encore difficiles à mettre en place et à utiliser. L'objectif est de vous mettre le pied à l'étrier et vous rendre autonomes au maximum dans l'utilisation de ces outils, de les intégrer dans vos codes de calcul, de produire des métriques de performance et d'établir une feuille de route de développement logiciel pour optimiser votre code.
Cet objectif est réaliste grâce à l'intervention des experts du centre d'excellence européen POP qui regroupe les meilleurs experts dans ce domaine au niveau européen et les développeurs des outils Scalasca et Paraver.
Deux parcours :
- Parcours « Base des outils » sur 2 jours ouvert à 25-30 personnes : présentation des outils Scalasca et Paraver (cours + TP).
- Parcours « Diagnostic HPC » sur 3 jours supplémentaires et ouvert à 10 personnes : intégration des outils dans vos codes, productions et analyse des métriques de performance et établissement d'une feuille de route d'optimisation.
Prise en charge
Les cours, l'hébergement et les repas sont pris en charge par l'Action Nationale de Formation grâce au soutient financier du centre d'excellence EoCoE et du CNRS. Les frais de transports sont à la charge des participants. Les agents CNRS et membres des UMR associées peuvent s'addresser au service de formation permanente de leur Délégation Régionale pour la prise en charge de leur déplacement.
Un nombre de places limité
Vos motivations, votre projet et le code de calcul sur lequel vous souhaitez travailler, sa maturité et son impact sur les communautés scientifiques sont les critères qui seront pris en compte lors de l'évaluation des candidatures.
Date limite de pré-inscription : 17/05/2019
Réponse mi-juin.
Nombre de participants : 22
Paraver (https://tools.bsc.es/paraver) a été développé pour répondre au besoin d'avoir une perception qualitative globale du comportement de l'application via une approche graphique pour ensuite se concentrer sur une analyse quantitative détaillée des problèmes.
Paraver n'est attaché à aucun modèle de programmation tant que le modèle peut être calé sur les trois niveaux de parallélisme exprimé dans la trace Paraver. Un exemple de parallélisme à deux niveaux serait une application hybride MPI + OpenMP. Le système de mesures lors des exécutions Extrae qui génèrant les traces Paraver supporte actuellement les interfaces de programmation MPI , OpenMP, pthreads, OmpSs et CUDA.
Scalasca est un logiciel qui aide à l'optimisation des applications parallèles en mesurant et en analysant leur comportement durant l'exécution. L'analyse permet d'identifier des goulots d'étranglements potentiels – en particulier ceux concernant les communications et les synchronisations – et permet d'explorer leurs causes.
Scalasca supporte les codes pure MPI ainsi que les codes hybrides MPI + OpenMP.
- Matthieu Haefele
- Anne Cadiou
- Fabrice Roy