Informations générales
Number of hours
- Lectures 24.0
- Projects -
- Tutorials -
- Internship -
- Laboratory works 12.0
- Written tests -
ECTSECTS
6.0
Goal(s)
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.
Responsible(s)
Christophe PICARD
Content(s)
- Introduction to parallelism and hardware concepts
Memory organisation and core organisation
#Software libraries for programming special purpose hardware
Introduction to OpenCL and CUDA
#Memory optimisation
Multilevel memory organisation and computation placement - Control Flow
Separation of tasks between CPU and special-purpose hardware - Parallel programming patterns
Study of the of the parallel pattern - Project
C/C++ Programming. Algorithms
Test
Evaluation : 75% of Projet (évaluation en continu et sur le rendu) and 25% of Examen Ecrit (1h00)
Resit : 50% of Projet (évaluation en continu et sur le rendu) (reported score) and 50% of Examen Ecrit (1h00)
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)
The exam is given in english only
Calendar
The course exists in the following branches:
- Curriculum - Math. Modelling, Image & Simulation - Semester 9 (this course is given in english only)
Additional Information
Course ID : 5MMGPUHP
Course language(s): 
You can find this course among all other courses.
Bibliography
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