Cet atelier a pour objet de présenter une introduction à trois outils de parallélisation largement utilisés dans la communauté scientifique :
MPI est l'outil le plus courant pour utiliser des ressources de calcul distribuées. MPI permet l'exécution de plusieurs processus sur des coeurs de calcul situés sur des serveurs reliés par une interconnexion. MPI est une norme mise en oeuvre dans différentes bibliothèques utilisant toutes la même interface, et il est installé sur toutes les infrastructures de calcul mutualisées, à l'Observatoire (tycho, mesopsl) ou en dehors (centres nationaux). MPI est utilisable nativement en Fortran et C/C++, mais il existe également plusieurs paquets python permettant d'utiliser MPI. Les exercices seront proposés en Fortran mais il sera possible de faire du C pour celles et ceux qui le souhaiteront.
OpenMP est une interface de programmation permettant d'exploiter les architectures à mémoire partagée en développant une application mutli-threadée. Cette interface est basée sur des instructions interprétées à la précompilation, est utilisable nativement en Fortran et C/C++ et est mise en oeuvre dans la plupart des compilateurs. Les exercices seront proposés en Fortran mais il sera possible de faire du C pour celles et ceux qui le souhaiteront.
Le paquet multiprocessing de python permet de développer simplement des applications exploitant les architectures à mémoire partagée en lançant des processus à partir du processus parent.
Cet atelier comprendra des exercices pratiques, les participant.e.s devront donc venir avec un ordinateur portable leur permettant de se connecter sur les machines de calcul de l'Observatoire.