Calcul à Hautes Performances sur GPU
Mineure de 3ème année à CentraleSupélec

Stéphane Vialle

    

Le calcul scientifique sur GPU (ou "GPGPU") est maintenant totalement intégré au calcul à haute performance (HPC). Les GPU permettent d'atteindre des performances très élevées pour un coût limité, mais demandent de maîtriser une algorithmique et une programmation spécifique, différentes de celles des CPU. Ce cours vise à faire acquérir aux élèves ces compétences, autant théoriques que pratiques.

Scientific computing on GPU (or "GPGPU") is now fully part of high performance computing (HPC). GPU allow to reach high performances with limited cost. But they require a specific algorithmic and programming knowledge, different of CPU one. This course aims to give these theoretical and pratical skills to the students.

Ce cours à comme premier objectif d’appréhender par la pratique la programmation des GPU en CUDA. Il présentera l'architecture des GPU, leur programmation en CUDA, l'optimisation des codes CUDA et l'utilisation de bilbiothèque CUDA à haute perfomance. Des mises en oeuvres régulières jaloneront le cours (TD et TP sur GPU). Les concepts de la programmation des clusters de GPU seront enseignés, ainsi que les limitations de cette approche.

    1 - GPU architecture
    2 slides per page 3 slides per page 6 slides per page
    Site web du "Top 500" des superordinateurs http://www.top500.org/
    2 - CUDA basis 2 slides per page 3 slides per page 6 slides per page
    3 - CUDA best practices
    2 slides per page 3 slides per page 6 slides per page
    4 - CUBLAS library
    2 slides per page 3 slides per page 6 slides per page
    5 - CUDA: fast transfers & overlapping
    2 slides per page 3 slides per page 6 slides per page
    6 - CUDA: optimized programming
    2 slides per page 3 slides per page 6 slides per page
    7 - Feedback on hybrid programming
    2 slides per page 3 slides per page 6 slides per page
    8 - Performance models
    2 slides per page3 slides per page6 slides per page
    TP-0 : Debug and optimisation
    Statement 0

    TP-1 : Basis of CUDA programming (matrix product, coalescence, performance measures) Statement 1Slides
    TP-2 : Programming with CUBLAS
    Statement 2

    TP-3 : Programming with the shared memory
    Statement 3
    Slides

    Campus de Metz
    10/01/2020 - B208
    17/01/2020 - B208 & A304
    24/01/2020 - A304
    31/01/2020 - B208 & A304
    07/02/2020 - A304
    14/02/2020 - B208 & A304
    28/02/2020 - B208 & A304
    06/03/2020 - B208 & A304
    13/03/2020 - IO