La personne recrutée travaillera sur le logiciel CORSIKA, un code de simulation de gerbes atmosphériques, et plus précisément sur sa nouvelle version en C++17 : CORSIKA 8. Les versions antérieures de ce code sont actuellement utilisées dans nombre d’expériences d’astrophysique pour ajuster les modèles physiques et concevoir au mieux les télescopes.
La nouvelle version du code, encore en développement, est significativement plus lente que les précédentes versions. Un travail est entrepris pour améliorer ses performances, sur une architecture CPU, sans multi-threading ni parallélisation. Un profilage a permis d’identifier plusieurs pistes : adaptation de la précision, optimisation de l’utilisation des pointeurs intelligents, ou encore modification de routines d’interpolation. Selon les préférences de la personne recrutée en stage, l’une ou l’autre de ces pistes pourra être suivie.
Ce travail d’optimisation s’inscrit dans le cadre de la contribution du LUPM à l’observatoire international CTAO (Cherenkov Telescope Array Observatory), une grille de télescopes destinée à la détection des rayons gamma. Pour la simulation des gerbes atmosphériques, CTAO utilise CORSIKA, à raison d’environ 200 millions d’heures CPU HS06 par an. La réduction du temps de calcul nécessaire aux simulations est donc primordiale pour CTAO.
La personne recrutée sera rattachée au service informatique du LUPM et sera encadrée par une ingénieure de recherche en calcul scientifique. Elle travaillera en collaboration avec les développeurs et développeuses de CORSIKA 8 au sein d’un projet international et open-source.
We welcome applications in French and English.