Familiariser le programmeur avec le langage cuda.
Accélérer les codes hpc en utilisant les cartes accélératrices nvidia.
mots clés : modèle de programmation, optimisation de code, gp-gpu
SYNOPSIS :
- introduction, motivation, revue des modèles de programmation
- cuda : matériel, couche logicielle, compilateur
- basics : gestiond es donées, noyau (kernel) d’exécution, mémoire hierarchique.
- optimisation des tranferts de données : optimisation de base, pinned memory, asynchronisme, cuda streams.
- cuda avancé : optimisation des noyaux(kernels) (warp, shared memory, occupancy,...) et détails d’architecture
- applications cuda : debugging, monitoring
pré-requis :
bases c/c++, une connaissance de base en programmation parallèle (thread, posix, openmp, mpi, ...) sera très utile.
We focus on CUDA-C. Most concepts translate directly to CUDA-Fortran and the slides cover both ; however, the TPs are mostly in C.