UE High performance computing for mathematical models

User information

Please note that you are curently looking at the ongoing Academic Programs. Applications are now closed for this academic year (2020-2021) for licences, professional licences, masters, DUT and regulated health training. If you are interested for an application in 2021-2022, please click on this link for the appropriate Academic Programs.

Degrees incorporating this pedagocial element :


Important : This mandatory course should not be taken if you have chosen "GPU Computing".

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.

Contents :

  • Introduction to parallelism
  • Introduction to general context of parallelism
  • Models of parallel programming
  • Description of various model of parallelism
  • Paradigm of parallelism
  • Templates of parallelism
  • Parallel architectures
  • Programming tools: OpenMP, OpenMPI


Evaluation :

Development of a parallel program : project (P)

The final mark for the 1st session is P

The final mark for the 2nd session is obtained as follows: (P+E2)/2

where E2 is the mark of the 2nd session written exam.

Recommended prerequisite

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

Targeted skills

At the end of the course, the student will be able to multiply two matrices using python.