Présentation
Le Cours CSC8610 – Introduction au traitement d'image est un cours de troisième année de la VAP MAIA à Télécom SudParis.
-
SujetContenuNotions clefs
-
CI1 et CI2Programmation
- Les bases de la programmation C
- Points communs avec Java
- Les types et leur taille en mémoire
- Les pointeurs, les tableaux et les String
- Allocation de mémoire
- Structurer un projet en C
-
CI3Premier programme en CUDA
- Écouter le premier module du cours Intro to parallel programming
- Exercices
- Motivation programmation GPU
- Mouvement de données
- Écriture d'un kernel simple
- Définition block/grid/threads
-
CI4Architecture d'un GPU et synchronisation
- Écouter le deuxième module du cours Intro to parallel programming
- Exercices
- Les patterns de communication : gather, scatter, stencil, transpose
- Architecture d'un GPU et modèles de programmation
- SMs, threads, blocks, ordering
- Synchronisation
- Mémoire locale, globale, partagée, accès atomiques
- Programmation GPU efficace : accès continus en mémoire, rapidité de la mémoire
-
CI5Reduce et Scan
- Écouter le troisième module du cours Intro to parallel programming
- Exercices
- Step and work complexity
- Reduce on a GPU
- Shared memory
- Scan operation
- Hellis-Steele algorithme
- Blelloch algorithme
- Histogrammes
-
CI6Compact et Scan
- Écouter le quatrième module du cours Intro to parallel programming
- Exercices
- Compact
- Allocate
- Segmented scan
- Algorithmes de tri
-
CI7Optimisation sur GPU
- Écouter le cinquième module du cours Intro to parallel programming
- Exercices
- Principles of efficient GPU programming
- APOD
- Bande passant maximale théorique
- Coalescing
- La loi de Little
- Occupancy
- Warp
- Thread divergence
- Streams
-
CI8Motifs de calculs parallèles
- Écouter le cinquième module du cours Intro to parallel programming
- Exercices
- Dense body
- Sparse matrix - vector
- BFS
- List ranking
- Hash table
CM : Cours Magistral (lecture only) CI : Cours Intégré (lecture and lab)