Ensimag Rubrique Formation 2022

High performance computing for mathematical models - 5MM253C3

  • Number of hours

    • Lectures 18.0


    ECTS 1.75


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 PICARD



  1. Introduction to parallelism
    Introduction to general context of parallelism
  2. Models of parallel programming
    Description of various model of parallelism
  3. Paradigm of parallelism
  4. Tempplates of parallelism
  5. Parallel architectures
  6. Programming tools: OpenMP, OpenMPI


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


The exam is given in english only 

Multiple Choice Questions

N1= P
N2 = (P+E)/2

QCM = Question choix multiple
P = Evaluation du projet
E = Examen écrit de rattrapage (écrit)

Additional Information

This course is given in english only EN

Curriculum->MMIS.->Semester 5


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