Option Calcul Intensif sur Nouvelles Architectures Parallèles
Objectif
Cette option vise à préparer les futurs ingénieurs à exploiter au mieux les nouvelles architectures parallèles
en leur présentant les algorithmes et les techniques de programmation efficaces les plus récents et les
plus adéquats. Cette formation s'appuie sur diverses architectures et systèmes (processeur et noyau
multicoeur, processeurs graphiques (GPU), processeur Cell...) et est illustrée par plusieurs applications issues
des différents champs du calcul intensif.
Cours
N.B. : depuis septembre 2011, chaque option de la spécialité ELI a été ramenée
à 40 h dans le tronc commun. Pour CINAP, nous avons conservé 10 h d' Introduction au calcul haute performance
(P. Fortin) et 30 h de Programmation GPU (T. Boubekeur, W. Kirschenmann, G. Poirier), ainsi
que le Projet implémentation (40 h).
- Introduction au calcul haute performance (P. Fortin, S. Graillat, F. Jezequel - LIP6, 20 h) :
architectures, algorithmes, langages, outils, noyaux de calcul et validation numérique pour le calcul
parallèle haute performance, du vectoriel à la grille.
- Programmation multicoeur et GPU (50h) :
- T. Boubekeur - Telecom ParisTech, W. Kirschenmann - EDF : notions fondamentales de programmation des processeurs graphiques (GPU), architecture, spécificités ;
et illustration par des applications graphiques 3D et des applications de calcul intensif généraliste (CUDA,
OpenCL) : page web de la partie GPU ;
- G. Poirier - CAPS entreprise : introduction à HMPP et à l'optimisation de code pour GPU ;
- J-L. Lamotte, P. Fortin - LIP6 : programmation des coeurs hétérogènes du processeur Cell en combinant différents paradigmes (programmation par envoi de messages, programmation multi-thread, programmation SIMD).
- Noyau multicoeur (G. Thomas - LIP6, 20 h) : ordonnancement, mémoire transactionnelle, programmation noyau/système.
- Applications en calcul intensif (P. Joly - Laboratoire Jacques-Louis Lions, P. Trébuchet, L-S. Didier - LIP6, 30 h) :
factorisation QR, résolution rapide de systèmes linéaires (par la méthode de réduction cyclique et
par analyse de Fourier) ou calcul de valeurs propres par la méthode des suites de Sturm. Implémentation
d'opérations arithmétiques pour la cryptographie sur GPU, arithmétique RNS.
- Projet implémentation (P. Fortin, 40 h) :
- 2010-2011 : Segmentation d'images en temps réel (implémentation de 3 méthodes sur GPU)
- 2009-2010 : Détection/estimation de mouvement dans un flux vidéo avec caméra fixe (implémentation sur GPU)
Précision : les étudiants ont déjà eu l'année précédente un cours de parallélisme (algorithmique parallèle, programmation MPI et OpenMP).
Matériel disponible
- 1 serveur avec 2 CPU Intel Xeon X5650 (2x6 coeurs), 48 Go de mémoire, 2 GPU NVIDIA C2070 (Fermi) et
2 GPU NVIDIA C1060
- 1 PC avec 1 CPU AMD Magny-Cours (12 coeurs), 16 Go de mémoire et 1 GPU NVIDIA C2050 (Fermi)
- 4 PlayStation 3 (par le biais de l'ARI à l'UPMC)
Stages
- Stage de 6 mois à partir de début mars
- Dépôt de stages / offres d'emploi : pôle entreprises
Contacts et informations supplémentaires
- Responsable de l'option : pierre.fortin @ lip6.fr
- Spécialité électronique et informatique : eli-polytech @ upmc.fr