GPU Computing

Credits

6 ECTS, Lectures 18h, Labs 18h

Instructor

Christophe Picard

Syllabus

In this course, we will introduce parallel programming paradigms to the students in the context of applied mathematics. The students will learn to identify the parallel pattern in numerical algorithm. The key components that the course will focus on are : efficiency, scalability, parallel pattern, comparison of parallel algorithms, operational intensity and emerging programming paradigm. Trough different lab assignments, the students will apply the concepts of efficient parallel programming using Graphic Processing Unit. In the final project, the students will have the possibility to parallelize one of their own numerical application developed in a previous course.

  1. Introduction to parallelism
  2. Introduction to general context of parallelism
  3. Models of parallel programming
  4. Description of various model of parallelism
  5. Paradigm of parallelism
  6. Templates of parallelism
  7. Parallel architectures
  8. Programming tools: Cuda

Prerequisite

C or C++, Compiling, Data structures, Architecture, Concurrency

Assessment

Project