v2.3.2 (2860)

Cours scientifique - IN203 : Programmation paralléle

Domaine > Sciences et technologies de l'information et de la communication.

Descriptif

Auparavant spécifique aux super-calculateurs ou au calcul en réseau, le parallélisme est désormais accessible sur station de travail, sous la forme de processeurs multicoeurs ainsi que de cartes graphiques massivement parallèles que l'on peut facilement détourner de leur usage premier (<a href= http://en.wikipedia.org/wiki/GPGPU>GPGPU</a>). Cet accès aisé au parallélisme est une aubaine pour gagner en complexité et rapidité de traitement, notamment pour rendre temps réel certaines applications lourdes. Mais la parallélisation est une tâche délicate, qui dépend bien sûr de l'architecture cible, qui nécessite le plus souvent de repenser l'application, parfois jusque dans ses fondements algorithmiques, et qui peut buter sur des difficultés d'ordre fondamental. Le cours constituera une introduction aux différents types de parallélisme, à différentes architectures qui les implantent et aux concepts particuliers nécessaires à leur mise en oeuvre.

Pour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées

Avoir suivi le cours ES102 en 1ère année.

 

Format des notes

Numérique sur 20

Littérale/grade européen

Pour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées

Le rattrapage est autorisé (Max entre les deux notes écrêté à une note seuil)
  • le rattrapage est obligatoire si :
    Note initiale < 6
  • le rattrapage peut être demandé par l'étudiant si :
    6 ≤ note initiale < 10
L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 2 ECTS
  • Scientifique acquis : 2

Le coefficient de l'UE est : 2

La note obtenue rentre dans le calcul de votre GPA.

L'UE est évaluée par les étudiants.

Programme détaillé

CM1 : Introduction à la programmation parallèle -Architectures des calculateurs parallèles
TD1 : Initiation à MPI
CM2 : Différents paradigmes de parallélisation
TD2 : Parallélisation en mémoire distribuée avec MPI
CM3 :  Parallélisation des algorithmes
TD3 : Parallélisation sur architecture à mémoire partagée avec les pthreads
CM4 : Optimisation des programmes parallèles - Mesures de performance
TD4 : pthreads (suite), équilibrage de charge, réglage de granularité
CM5 : Optimisation des échanges de message pour le calcul distribué et les GPGPUs - Différents outils pour paralléliser et optimiser un code parallèle.
TD5 (mini-projet) : parallélisation d'un "mini" raytracer (1)
Contrôle de connaissances (sur papier)
TD6 : (mini-projet) : parallélisation d'un "mini" raytracer (2)
TD7 noté

Veuillez patienter