• Votre sélection est vide.

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

Multicoeurs et accélérateurs de calcul

  • Composante

    ENSEIRB-MATMECA

Code interne

EI9IT390

Description

Le cours est décomposé en 2 parties. L'une sur le fonctionnement des multicoeurs généralistes, l'autre sur le fonctionnement des accélérateurs graphiques.
L'objectif de ce cours sera d'une part de présenter ces architectures, et d'autre part d'apprendre à les programmer efficacement à l'aide :

de flags de compilation
de langages specifiques (CUDA, OpenCL),
d'extensions du compilateur (SIMD, fonction intrinsèques)
d'annotations de code (OpenMP, OpenACC),
de bibliothèques optimisées (CUBLAS, Thrust,...).

La description du fonctionnement de ces architectures sera mise en oeuvre par le biais de microbenchmarks, pour bien comprendre le lien entre le code écrit, le code généré par les compilateurs et leurs performances.
Des TPs seront consacrés à l'écriture, au debug, et à l'optimisation de code accéléré sur GPU et sur multicoeurs, ainsi qu'a l'analyse des performances.

Lire plus

Heures d'enseignement

  • CICours Intégré13h
  • TDTravaux Dirigés16h

Pré-requis obligatoires

Notions de parallélisme.
Connaissance du C/C++ (en particulier la gestion de la mémoire)

Lire plus

Informations complémentaires

Fonctionnement et optimisation de code pour les multicoeurs et les accélérateurs de calcul de type 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
Contrôle ContinuContrôle Continu1
ProjetSoutenance1