OpenMP (Open Multi-Processing )

Responsable :

Objectif :

  • Être initié à la parallélisation mémoire partagée avec l'API OpenMP
  • Appréhender les concepts sous-jacents
  • Comprendre le modèle de programmation associé
  • Mettre en pratique ces notions en parallélisant de petits codes simples extraits d'applications réelles

Public concerné :

Toute personne souhaitant paralléliser une application pré-existante ou dans sa genèse pour une architecture multi-processeurs à mémoire partagée.

Pré-requis :

Connaissance et utilisation des langages Fortran et C.

Durée :

3 jours.

Assistance :

Minimale : 10 personnes ; maximale : 14 personnes.

Dans le cadre sanitaire du COVID-19, la direction de l'IDRIS a pris la décision de limiter, jusqu'à nouvel ordre, le nombre de stagiaires dans les sessions de formation afin de pouvoir respecter la distance minimum entre les participants dans la salle de cours.

Plan :

  • Introduction : présentation du parallélisme et des concepts généraux d'OpenMP
  • Principes : syntaxe et compilation d'un code OpenMP, gestion des régions parallèles et du status des variables
  • Partage du travail : utilisation d'OpenMP pour paralléliser des boucles ou constructions Fortran 95, gestion des opérations de réduction, spécialisation d'un processus léger
  • Synchronisation : mécanismes d’exclusion mutuelle et synchronisation fine entre processus légers
  • Vectorisation SIMD : utilisation d'OpenMP pour exploiter les registres vectoriels des processeurs modernes
  • Tâches : parallélisation de problèmes dynamiques ou exploitant la récursivité via l'utilisation de tâches avec gestion des dépendances
  • Affinités mémoire/processeur et performances : impact des architectures matérielles sur les performances des codes parallélisées avec OpenMP et bonnes pratiques

Travaux pratiques (environ 50 % du temps).

Équipements :

Supercalculateur(s) de l'IDRIS

Intervenants :

S’inscrire à cette formation :