ANF Évaluation de performance des applications scientifiques HPC

Europe/Paris
Observatoire de Haute Provence

Observatoire de Haute Provence

Description
logo_eocoe logo_cnrs logo_Groupe-calcul logo_pop  

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 formation contribue à la première étape qui est généralement faite de manière incomplète. 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 leur utilisation.  Il s'agira d'apprendre à les manipuler, 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 une fois de retour dans vos laboratoires.

Cet objectif est réaliste grâce à l'intervention 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 et manipulation des outils sur des exemples simples (cours + TP) :
    Scalasca : permet d'avoir une vision très fine des coûts liés aux communications et aux synchronisations ainsi que de leurs causes
    Paraver : permet d'appréhender de manière graphique le comportement global d'une application puis d'une analyse quantitative fine lorsque l'on souhaite comprendre un goulot d'étranglement finement
  •  Parcours « Diagnostic HPC » sur 3 jours supplémentaires et ouvert à 10 personnes : intégration des outils dans les codes des participants, production et analyse des métriques de performance lors d'exécutions sur des supercalculateurs et établissement d'une feuille de route d'optimisation. Les participants repartiront de la formation avec une connaissance fine des goulots d'étranglement actuels de leur application et comment les repousser.

Prise en charge
Les cours, l'hébergement et les repas sont pris en charge par l'Action Nationale de Formation grâce au soutien financier du centre d'excellence EoCoE et du CNRS. Les frais de transport sont à la charge des participants. Les agents CNRS et membres des UMR associées peuvent s'adresser 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 : 14/06/2019

 

Réponses le 20 juin 2019

    • 14:00 15:30
      Paraver : cours 1h 30m
      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.
      Orateurs: Germain Llort (BSC), Judit Gimenez (BSC)
    • 15:30 16:00
      Pause 30m
    • 16:00 18:00
      Paraver : pratique 1 2h
      Orateurs: Germain Llort (BSC), Judit Gimenez (BSC)
    • 19:30 21:00
      Dîner 1h 30m
    • 09:00 12:30
      Paraver : pratique 2 3h 30m
      Orateur: Judit Gimenez (BSC)
    • 12:30 14:00
      Déjeuner 1h 30m
    • 14:00 15:30
      Scalasca : cours 1h 30m
      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.
      Orateur: Brian Wylie (JSC)
    • 15:30 16:00
      Pause 30m
    • 16:00 17:30
      Scalasca : pratique 1 1h 30m
      Orateur: Brian Wylie (JSC)
    • 19:30 21:00
      Dîner 1h 30m
    • 09:00 12:30
      Scalasca : pratique 2 3h 30m
      Orateur: Brian Wylie (JSC)
    • 12:30 14:00
      Déjeuner 1h 30m
    • 14:00 19:00
      Social event 5h
    • 19:30 21:00
      Dîner 1h 30m
    • 09:00 12:30
      Code des participants : instrumentation / analyse 3h 30m
      Orateur: Tous les intervenants
    • 12:30 14:00
      Déjeuner 1h 30m
    • 14:00 17:30
      Code des participants : instrumentation / analyse 3h 30m
      Orateur: Tous les intervenants
    • 19:30 21:00
      Dîner 1h 30m
    • 09:00 12:30
      Code des participants: instrumentation / analyse 3h 30m
      Orateur: Tous les intervenants
    • 12:30 14:00
      Déjeuner 1h 30m