v2.12.0 (512)

Cours scientifiques - CSC_52060_EP : Algorithmique parallèle et distribuée

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 :** Anglais

Objectifs 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.

Format des notes

Numérique sur 20

Littérale/grade réduit

Programme détaillé

\- Architecture de calcul : d'un coeur de calcul jusqu'à un supercalculateur \- Programmation parallèle à mémoire distribuée : MPI \- Programmation parallèle à mémoire partagée : OpenMP \- Programmation hétérogène : CUDA
Veuillez patienter