Généralités

Définitions

Un programme séquentiel est un programme qui exécute :

  • une seule instruction à la fois,
  • sur une seule unité de traitement.

Un programme parallèle est un programme qui exécute :

  • plusieurs instructions à la fois,
  • sur plusieurs unités de traitement en même temps.

Nous définissons l’unité de traitement comme le coeur de processeur d’un CPU ou d’un GPU.

Un coeur de processeur est un élément matériel capable d’exécuter les instuctions d’un programme.

Un noeud de calcul est constitué de plusieurs CPU eux-mêmes constitués de plusieurs coeurs.

Intérêt

Un programme est parallèlisé pour :

(Par exemple : U unités de traitement fonctionnant en parallèle, accélérent le programme par un facteur U, au mieux)

  • augmenter la quantité de mémoire disponible en utilisant plusieurs noeuds de calcul.

(Par exemple : N noeuds donnent accès à N fois plus de mémoire)

Comment paralléliser

  • sur un seul noeud : système à mémoire partagée
  • sur plusieurs noeuds : système à mémoire distribuée
  • sur accélérateurs de calcul : système hétérogène

RTRA

Annonces

Stage : "Conteneurs dans un environnement HPC"

Rapport de stage de Jiaming HU :

PDF - 1.7 Mo
(mai - août 2017)

Stage : "Machines virtuelles et haute disponibilité"

Rapport de stage de Mahdi HAMMOUCHE :

PDF - 1.2 Mo
(juin - septembre 2016)

Stage : "Grappe de calcul HPC à éléments délocalisés"

Rapport de stage de Brahim BIKI :

PDF - 1.4 Mo
(mai-août 2015)

Stage : "Optimisation des ressources d’un cluster pour le calcul scientifique"

Rapport de stage de Damien Delhay :

PDF - 1.4 Mo
(mai-juillet 2014)

Stage : "Diagonalisation des matrices réelles sur GPU"

Rapport de stage de Kun SONG :

PDF - 803.4 ko
(mai - août 2013)

Stage : "Optimisation du transfert de données entre un CPU et un GPU"

Rapport de stage de Jean YAOKELI :

PDF - 915.4 ko
(mai - août 2012)