
Table des matières
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