Degrees incorporating this pedagocial element :

### Description

**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 2^{nd} session written exam.

### Prerequisites

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.

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

### In brief

**Period :**Semester 9

**Credits :**3

**Number of hours Lectures (CM) :**9h

**Culmination Code (APOGEE) :**GBX9MO16

**Hing methods :**In person

**Location(s) :**Grenoble - University campus

**Language(s) :**English

### Contacts

### International students

**Open to exchange students**