UE Parallel Algorithms and Programming

Diplômes intégrant cet élément pédagogique :

Descriptif

The use of multiprocessor machines has become mandatory and most applications are now running on machines with parallel processing units, from tablets to supercomputers. These applications concern both public and private scientific research, as well as industrial and commercial enterprises.

This lecture and lab work presents the parallel computing domain in different aspects: architectural, algorithmic, parallel programming languages, performance measurements, etc. Examples of parallel algorithms in different domains are also studied.

The course allows you to understand how to design and program a parallel application and run it on a multicore processor or a classical parallel cluster machine. The lab work on machines allows to implement the concepts studied during the lectures, and this with the language extensions ​​OpenMP and MPI.

----------------------

L'usage des machines multiprocesseurs est devenu incontournable et la plupart des applications s'exécutent aujourd'hui sur des machines disposant de plusieurs unités de traitement s'exécutant en parallèle, depuis les tablettes jusqu'aux supercalculateurs. Ces applications concernent à la fois la recherche scientifique (physique, chimie, biologie,...), mais également les entreprises industrielles et commerciales. Ce domaine s'appelle le calcul haute performance (High Performance Computing, HPC).

Cet enseignement d'informatique présente le domaine du HPC sous différents aspects : architecturaux, algorithmiques, langages de programmation parallèle, évaluation de performances, ... Plusieurs exemples d'algorithmes parallèles, issus de différents domaines scientifiques, sont disséqués et étudiés.

Le contenu de cet enseignement permet de comprendre comment concevoir, programmer et exécuter efficacement une application parallèle sur un large spectre de plates-formes, allant d'un simple processeur multicore en passant par une machine multiprocesseurs à 200 coeurs et jusqu'à une grappe (cluster) de serveurs multiprocesseurs. Les travaux pratiques sur machines parallèles représentent une partie importante de cet enseignement et vont mettre en oeuvre les concepts étudiés en cours, en particulier en utilisant les extensions de langages OpenMP et MPI.

Informations complémentaires

Méthode d'enseignement : En présence
Lieu(x) : Grenoble
Langue(s) : Anglais