Number of hours
- Lectures 18.0
- Projects -
- Tutorials -
- Internship -
- Laboratory works 18.0
- Written tests -
ECTS
ECTS 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.
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
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)
Assessment = Written coeff. 1,5)
Final exam = Written exam (coeff. 0,5) 1h duration
Re take = assessment grade + written exam session 2 (1h)
The exam is given in english only
The course exists in the following branches:
- Curriculum - Master in Applied Mathematics - Semester 9 (this course is given in english only)
- Curriculum - Master in Computer Science - Semester 9 (this course is given in english only)
- Curriculum - Master in Applied Mathematics - Semester 9 (this course is given in english only)
Course ID : WMM9AM49
Course language(s):
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