Number of hours
- Lectures 18.0
ECTS
ECTS 1.75
Goal(s)
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 distributed and shared memory programming language (OpenMP, MPI). In the final project, the students will have the possibility to parallelize one of their own numerical application developed in a previous course.
Contact Christophe PICARDContent(s)
Syllabus
- Introduction to parallelism
Introduction to general context of parallelism - Models of parallel programming
Description of various model of parallelism - Paradigm of parallelism
- Tempplates of parallelism
- Parallel architectures
- Programming tools: OpenMP, OpenMPI
Prerequisites
C or C++, Compiling, Data structures, Architecture, Concurrency
The exam is given in english only
Project
Multiple Choice Questions
N1= P
N2 = (P+E)/2
QCM = Question choix multiple
P = Evaluation du projet
E = Examen écrit de rattrapage (écrit)
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
IDRIS#