Descriptif
Avec l'émergence de processeur multi-coeur (et maintenant manycore avec plusieurs dizaines d'unités d'exécution), l'expression du parallélisme est obligatoire pour permettre des hautes performances dans différents types d'applications (calcul scientifique, mégadonnées...). Dans ce contexte, ce cours détaille de multiples paradigmes de programmation parallèle pour permettre l'exploitation d'un grand nombre de coeurs sur différentes architectures cibles (CPU et GPU). Il comprend le modèle de mémoire distribuée (MPI), le modèle de mémoire partagée (OpenMP) et le modèle hétérogène (CUDA). Toutes ces approches permettraient de tirer parti des performances de différents ordinateurs (allant des petits serveurs jusqu'à de très larges superordinateurs du Top500). **Niveau requis :** INF431 ou équivalent **Modalités d'évaluation :** Projet **Langue du cours :** AnglaisObjectifs pédagogiques
Ce cours permet d'acquérir des compétences en terme d'architectures de calcul modernes (e.g., GPU) et de programmation parallèle à grande échelle. De plus, grâce au projet se déroulant pendant toute la période, ce cours propose une expérience avancée de portage d'application sur une machine parallèle.
36 heures en présentiel
Diplôme(s) concerné(s)
- M1 PDS - Parallel and Distributed Systems
- M1 CPS - Système Cyber Physique
- M2 CPS - Système Cyber Physique
- M2 IGD - Interaction, Graphics and Design
- M1 IGD - Interaction, Graphics and Design