Programmation / parallèle


Objectifs

  • Maîtriser le développement de noyaux de calculs séquentiels optimisés, et présentation d’environnements de développement parallèle visant des architectures à gros grain, à grain moyen et à grain fin.
  • Appréhender la mesure, l’analyse et la modélisation de performances parallèles.


Programme

  • Optimisations sérielles : coûts élémentaires des calculs, profiling d’applications séquentielles, spécialisation du C++ pour le HPC.
  • Programmation et algorithmique parallèles par partage de mémoire : principes du multithreading, présentation d’OpenMP et de la bibliothèque IntelTBB.
  • Programmation et algorithmique distribuées: algorithmes distribués par envois de
  • Programmation et algorithmique data parallel (vectoriel) : introduction au calcul vectoriel, présentation de CUDA, d’OpenCL, des fonctions intrinsèques et des directives de compilation Intel.
  • Modélisation du comportement des applications parallèles : lois d’Amdahl et de Gustafson, et études de cas.