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 ou C.

Durée :

3 jours.

Assistance :

Minimale : 8 personnes ; maximale : 20 personnes.

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 de l'IDRIS

Intervenants :

S’inscrire à cette formation :