| 2I2AC3 | Architectures paralleles | Informatique - formation initiale sous statut étudiant | S8 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Cours : 9 h | TD : 0 h | TP : 15 h | Projet : 0 h | Total : 24 h | |||||
| Responsable : Emmanuel Cagniot | |||||||||
| Pré-requis | |
|---|---|
| Notions d'architectures, de système et de langage C ou C++. | |
| Objectifs de l'enseignement | |
| Introduction aux architectures parallèles et à leurs modèles de programmation. | |
| Programme détaillé | |
| Le CM aborde essentiellement les aspects matériels de l'informatique parallèle à savoir la classification des architectures via les modèles d'exécution et la structure de la mémoire. Les TP ont pour thème la programmation des machines à mémoire partagée au travers du standard OpenMP. | |
| Applications (TD ou TP) | |
| - TP 1 (4h) : Initiation aux mécanismes de base du standard OpenMP (régions parallèles, statut des données et mécanismes de synchronisation) en langage C. - TP 2 (4h) : Parallélisation des boucles de type forall, maximisation des régions parallèles, vectorisation, algorithme de type "brute force'" (langage C). - TP 3 (4h) : Parallélisation d'algorithmes récursifs via le mécanisme des sections parallèles et celui des tâches (langage C). - TP 4 (3h) : Portage d'un algorithme de tri pour mémoire distribuée sur mémoire partagée (langage C++, template programming). |
|
| Compétences acquises | |
| Choisir la meilleure architecture parallèle pour un type d'application donné. Trouver le bon compromis entre performance d'une application parallèle et portabilité/maintenabilité de cette dernière. Bloc compétence : Développer et déployer une solution logicielle -> Niveau 3 : Maîtriser les technologies logicielles majeures. -> Niveau 2 : Adapter une modélisation en fonction de contraintes (physiques, systèmes, temps, complexité et coût). |
|
| Bibliographie | |
| Algorithmes et architectures parallèles, Michel Cosnard, Denis Trystram, InterEditions, Paris, 1993 |
© 2025 - ENSICAEN ( Mentions Légales - Crédits )