Le calcul à haute performance (En Anglais, High Performance Computing) est la capacité de traiter un large volume de données et d’effectuer problèmes complexes à grande vitesse. Grâce à cette nouvelle génération de méthode de calcul que de nouvelles innovations ont étaient découvertes
dans plusieurs domaines comme le traitement des images satellitaire et médicale (comme les scanner 3-D), cryptographie, l’intelligence artificielle , traitement de données boursière en temps réelle et plein d’autres applications.
Ce cours intitulé « High Performance Computing » vise à analyser et comprendre les différentes architectures des systèmes informatiques dédiés au calcul intensif. Il vous invite à explorer les concepts fondamentaux et à évaluer les spécificités techniques de ces architectures. Par ailleurs, ce cours vous permet de concevoir, développer et implémenter des programmes parallèles en utilisant des bibliothèques telles que MPI, principalement en langage C, afin de maîtriser les techniques avancées de programmation parallèle.
Le cours est structuré en un ensemble d’activités d’apprentissage conçues pour vous guider dans l’acquisition, la pratique et la synthèse des compétences liées à l’utilisation des techniques de parallélisme. Ces activités vous aident à appliquer ces techniques pour optimiser vos programmes traitant des problèmes complexes. De plus, chaque activité vous permet de décrire, comprendre et assembler les composants matériels et logiciels nécessaires à la construction de votre propre cluster HPC, vous donnant ainsi les moyens de concevoir et configurer une infrastructure performante adaptée à vos besoins.
Visées d'apprentissage
La compétence visée par ce cours est d’être capable d’« analyser les besoins matériel et logiciel liés à la réalisation d’un problème de calcul scientifique et de concevoir une/des solution(s) basés sur des algorithmes dites parallèles ».
Le cours HPC permet aux étudiants:
-
En terme de connaissances :
-
- À évaluer les différentes solutions de calcul à haute performance
-
À apprendre les concepts de base des architectures multiprocesseurs des machines dédiés aux calculs intensifs.
-
À comparer les différentes solutions de calcule à haute performance.
-
-
En terme de savoir-faire,
-
À analyser la complexité et la scalabilité d’un problème complexe
-
À concevoir un algorithme parallèle sur une architecture à mémoire partagée ou distribuée
-
À entraîner les étudiants à concevoir leurs programmes parallèle
-
À maîtriser les bibliothèques de programmation MPI en langage C, notamment l’installation et la configuration de la bibliothèque sur les systèmes Unix/Linux.
- Enseignant: Oualid Ouarem