GPU programming
Main contact(s) |
Stéphane Vialle |
||
---|---|---|---|
UE | SM10 | Credits | 2 ECTS |
Lectures | 7.5 hr | Tutorials | 1.5 hr |
Labworks | 11 hr | Exam | 0 hr |
Presentation
This course aims to introduce high performance algorithmics and programming on GPU, with experiments on Machine Learning algorithms run on GPU servers.
Learning outcomes
At the end of this course, students will be able:
- to analyse the adequacy of a mathematical solution with an implementation and execution on GPU,
- to design a GPU algorithm, or to adapt an algorithm to increase its efficiency on GPU,
- to design hybrid algorithms for CPU- GPU systems, overlapping data transfers and computations,
- to implement algorithms and to debug codes on GPU,
- to analyse and to summarize GPU software.
Syllabus
- GPU architecture
- Algorithmic principles of fine grained GPU parallelism (SIMD and SIMT models)
- CUDA programming
- Optimization of GPU and CPU-GPU CUDA codes
- Hybrid CPU-GPU algorithmics and programming, with CUDA and C/C++ languages
- Introduction to OpenACC programming
- Design and experiment of Machine Learning algorithms on GPU