Module : IT224Title :
Multicore and GPU computing
Number of hours :
Combined lecture and tutorial classes : 30.00 h
Individual work : 18.00 h
ECTS credits :
3.00
Teacher(s) :
NAMYST Raymond - Responsible
Shared by choice module(s) :
Level :
second year module
Abstract :
Comment tirer partie de la puissance de calcul des ordinateurs contemporains ? Ce cours est une initiation aux techniques algorithmiques, logicielles et matérielles permettant de programmer des machines disposant de plusieurs coeurs et/ou d'accélérateurs tels que les cartes graphiques (GPU). Autrement dit, il s'agira de comprendre comment exploiter les capacités de traitement en paralléle offertes par le matériel.
Plan :
Les points abordés dans ce cours sont :
intérêts et notions de base du parallélisme, granularité des calculs, d'équilibrage de charge ;
architecture générale des ordinateurs multicoeur et des cartes graphiques
techniques algorithmiques générales de parallélisation ;
langages et bibliothèques incontournables de la programmation des architectures multicoeur ;
impacts de l'architecture et de la compilation sur la programmation : vers la portabilité des performances ;
programmation des machines hétérogènes équipées de processeurs specialisés (e.g. GPU).
Prerequisite :
Programmation en langage C
Evaluation :
contrôle continu (mini projet + rapport)