• Votre sélection est vide.

    Enregistrez les diplômes, parcours ou enseignements de votre choix.

Programmation multicoeur et GPU

  • Composante

    ENSEIRB-MATMECA

Code interne

EI8IT224

Description

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

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)


Lire plus

Pré-requis obligatoires

Programmation en langage C

Lire plus

Syllabus

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

Lire plus

Modalités de contrôle des connaissances

Évaluation initiale / Session principale - Épreuves

Type d'évaluationNature de l'épreuveDurée (en minutes)Nombre d'épreuvesCoefficient de l'épreuveNote éliminatoire de l'épreuveRemarques
ProjetRapport1