Vous êtes ici :

UFR de mathématique et d'informatique

Information importante

La page que vous consultez correspond à l'offre de formation 2023-2024.

Trouvez votre formation pour l'année universitaire 2024-2025

Programmation parallèle

  • Cours (CM) 14h
  • Cours intégrés (CI) -
  • Travaux dirigés (TD) -
  • Travaux pratiques (TP) 12h
  • Travail étudiant (TE) -

Langue de l'enseignement : Français

Niveau de l'enseignement : B2-Avancé - Utilisateur indépendant

Description du contenu de l'enseignement

Cette UE présente les concepts et la mise en oeuvre de la programmation parallèle pour accélérer les traitements sur les architectures informatiques qui en sont capables. Les différentes architectures parallèles (machines vectorielles, multi-coeurs, clusters, accélérateurs matériels) y sont étudiées ainsi que les différents types de parallélisme (parallélisme de tâches, de threads, d'instructions et de données) et leur efficacité (loi d'Amdahl, évaluation de performances). Cette UE abordera les techniques de parallélisation (analyse de dépendances, ordonnancement) et d'optimisation (localité mémoire, minimisation des communications). Les erreurs classiques de la programmation parallèle y sont détaillés (data race, défaut de synchronisation, incohérence des données), ainsi que les moyens de les identifier et les éviter. Les principes fondamentaux seront mis en oeuvre par la programmation multi-thread pour architecture à mémoire partagée (OpenMP), pour accélérateurs matériels (OpenACC) et/ou pour architectures à mémoire distribuée (MPI).

Compétences à acquérir

À l'issue de cette UE un étudiant saura :
- Identifier ou extraire le parallélisme d'une application existante
- Écrire des applications parallèles optimisées
- Exploiter des architectures parallèles
- Évaluer les performances d'une application parallèle
- Reconnaître et éviter les erreurs de programmation liées au parallélisme

Bibliographie, lectures recommandées

Références :
- B. Chapman, G. Jost et R van der Pas, Using OpenMP, MIT Press, 2008
- OpenMP Specifications http://www.openmp.org/specifications/
- OpenACC Specification https://www.openacc.org/specification
- MPI Standard http://mpi-forum.org/docs/

Pré-requis obligatoires

À l'entrée de cette UE, un étudiant devrait savoir :
- Programmer des applications complexes (UE structures de données et algorithmes 2)
- Écrire des applications communiquant ou partageant de l'information entre elles (UE architecture des systèmes d'exploitation)

Contact

UFR de mathématique et d'informatique

7, rue René Descartes
67084 STRASBOURG CEDEX
0368850200

Formulaire de contact


Cursus master ingénierie (CMI)

Partenaires

Logo du CNRS
Logo Établissement associé de l'Université de Strasbourg
Logo du réseau Epicur
Logo de EUCOR, Le Campus européen
Logo de l'Inserm Grand Est
Logo de l'Inria

Labels

Logo du label Bienvenue en France
Logo du programme HRS4R
Logo du programme France 2030
Logo de Service Public+

Réseaux

Logo de France Universités
Logo de la Ligue européenne des universités de recherche (LERU)
Logo du réseau Udice
Logo de l'Université franco-allemande