Informations générales
Volumes horaires
- CM 24.0
- Projet -
- TD -
- Stage -
- TP 24.0
- DS -
Crédits ECTSCrédits ECTS
4.0
Objectif(s)
Le but de ce cours est de présenter et faire manipuler les variantes
importantes de la programmation parallèle, et les notions
algorithmiques centrales dans cette programmation.
Responsable(s)
Gregory MOUNIE
Contenu(s)
Ce cours n'inclut pas la programmation des accélérateurs comme les GPU
(Cuda, OpenCL) qui est traité par un autre cours.
Quatre environnements seront utilisés :
- *OpenMP* : niveaux d'intégration avec le compilateur et le runtime (vectorisation, FORALL, sections parallèles, tâches, dépendances entre tâches, partage de mémoire)
- *MPI* : échange de messages et synchronisations (communications point-à-point, collectives, lectures/écritures directes à distance, synchrones/asynchrones)
- **Channels (Go)** : patrons de synchronisation (sélection, OR, arbre divergeant, arbre convergeant, pipeline, T, séquence)
- *Un Autre* : parmi Rust (Fold), Fortran (PGAS), C++ (async, task, futur, promise), Ada (tasks, gardes), Raku (Supplies), Haskell, Scala (Agent), Kokkos, Chapel, etc.
Programmation (C, Go)
Systèmes d'exploitation
Réseaux informatiques
C (compréhension de la gestion de la mémoire)
Go
Contrôle des connaissances
Evaluation : Examen sur machine (3h)
Rattrapage : Examen écrit (3h)
Documents autorisés (ex : aucun, résumé feuille A4 manuscrite, dictionnaires, tous documents) : none
Documents interdits (ex : livres, tous documents) : all
Matériel autorisé : none
Calendrier
Le cours est programmé dans ces filières :
- Cursus ingénieur - Tronc Commun - Semestre 7
Informations complémentaires
Code de l'enseignement : 4MMAPP
Langue(s) d'enseignement : 
Le cours est rattaché aux structures d'enseignement suivantes :
- Equipe Programmation-logiciel
Vous pouvez retrouver ce cours dans la liste de tous les cours.