This course examines technologies that are for the use of special-purpose hardware originally designed for graphics and games to solve general-purpose computing problems. We will address the hardware aspects (architectures, memory hierarchy), software aspects (CUDA/OpenCL) and algorithms aspects (tiling, reduction, pipeline,...) The design process of a parallel application will also be discussed.
C/C++ Programming. Algorithms
Project based assessment on a student chosen subject.
The project is done in two phases : the first one, in class with some specific requirements and the second one is exploratory. (NPR)
N2 = (NPR+E)/2
NPR = Evaluation du projet
E = Examen écrit de rattrapage (écrit)
The exam is given in english only
The course exists in the following branches:
Course ID : WMM9AM26
You can find this course among all other courses.
Parallel Computing: Principles and Practice - T. J. Fountain
Patterns for Parallel Programming - Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill
Introduction to Parallel Computing - Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta
CUDA by Example: An Introduction to General-Purpose GPU Programming - Jason Sanders, Edward Kandrot
Heterogeneous Computing with OpenCL de Benedict Gaster
Date of update July 11, 2018