École / Prépa
ENSEIRB-MATMECA
Code interne
EMM9-ITEC1
Description
Ce cours propose une introduction au calcul haute performance sur architectures parallèles, en particulier les accélérateurs graphiques (GPU). Il a pour objectif de former les étudiants à la mise en œuvre d’algorithmes numériques efficaces pour la résolution de problèmes issus de l’algèbre linéaire et des équations aux dérivées partielles.
À l’issue du cours, les étudiants seront capables de :
- connaître les spécificités des architectures GPU et comprendre les différences entre CPU et GPU
- programmer des applications parallèles simples dans le langage CUDA
- exploiter des bibliothèques optimisées pour le calcul scientifique (cuBLAS, cuSOLVER)
- implémenter et accélérer des méthodes numériques, notamment la méthode des éléments finis
Contenu
- Introduction au calcul sur GPU
- Évolution des architectures matérielles
- Comparaison CPU / GPU
- Notions de parallélisme et de performance
- Programmation avec CUDA
- Modèle de programmation
- Organisation des calculs (threads, blocs, grilles)
- Gestion de la mémoire
- Écriture et optimisation de noyaux de calcul
- Algèbre linéaire sur GPU
- Opérations de base (BLAS niveaux 1 et 2) en stockage dense et creux
- Produit matrice-matrice (GEMM)
- Résolution de systèmes linéaires (méthodes itératives)
- Optimisation et outils
- Analyse de performance (profiling)
- Utilisation de bibliothèques spécialisées (cuBLAS, cuSOLVER)
- Applications à la méthode des éléments finis
- Rappel de la formulation variationnelle d’un problème elliptique et discrétisation par éléments finis
- Assemblage des matrices et vecteurs, et résolution du système linéaire sur GPU
Prérequis
- Bases en langage de programmation C++
- Notions d’algèbre linéaire numérique
- Connaissances de base en analyse numérique (équations différentielles, formulation variationnelle, méthode des éléments finis)
Modalités d’évaluation
L’évaluation du cours repose sur deux composantes :
- la réalisation d’un travail pratique évalué, effectué au cours d’une séance
- un mini-projet de fin de module, initié en séance puis poursuivi en autonomie, donnant lieu à un rendu écrit
Heures d'enseignement
- CICours Intégrés24h
Modalités de contrôle des connaissances
Évaluation initiale / Session principale
| Type d'évaluation | Nature de l'évaluation | Durée (en minutes) | Nombre d'épreuves | Coefficient de l'évaluation | Note éliminatoire de l'évaluation | Remarques |
|---|---|---|---|---|---|---|
| Projet | Rapport | 1 |
Seconde chance / Session de rattrapage
| Type d'évaluation | Nature de l'évaluation | Durée (en minutes) | Nombre d'épreuves | Coefficient de l'évaluation | Note éliminatoire de l'évaluation | Remarques |
|---|---|---|---|---|---|---|
| Projet | Soutenance | 1 |
