Ensimag Rubrique Formation 2022

High performance computing for mathematical models - 5MM253C3

  • 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 PICARD

Content(s)

Syllabus

  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


Prerequisites

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

Test

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)

Additional Information

This course is given in english only EN

Curriculum->MMIS.->Semester 5

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
IDRIS#