Optimisation de code HPC pour la simulation en astrophysique

When:
01/09/2019 – 02/09/2019 all-day
2019-09-01T02:00:00+02:00
2019-09-02T02:00:00+02:00

Annonce en lien avec l’Action/le Réseau : aucun

Laboratoire/Entreprise : Université de Perpignan Via Domitia, équipe DALI/LIRMM
Durée : 3 ans
Contact : arrabito@in2p3.fr
Date limite de publication : 2019-09-01

Contexte :
Résumé
Le projet CTA (Cherenkov Telescope Array) se propose de construire et d’exploiter le premier observatoire pour les photons gamma de très haute énergie. Les simulations Monte Carlo permettant de caractériser la réponse de l’instrument consomment dès à présent plus de 200 millions d’heures CPU par an et produisent plusieurs Péta-octets de données chaque année.

Aujourd’hui, les différentes générations de processeur proposent des améliorations architecturales qui permettent des gains importants en temps d’exécution (x2 à x16) et en consommation d’énergie. Les programmes doivent prendre en compte les différentes spécificités matérielles afin d’en exploiter pleinement les performances.

L’objectif de cette thèse est d’optimiser le code de simulation des gerbes atmosphériques de CTA en profitant au maximum des capacités de ces nouvelles générations de processeurs afin de réduire les coûts associés au calcul. Cette thèse s’insère aussi dans le développement d’un nouveau framework de simulation performant destiné aux différents projets internationaux du domaine. Ces travaux contribuent ainsi aux recherches relatives à l’optimisation automatique de performance dans un environnement matériel hétérogène.

La thèse s’effectuera dans le cadre d’une collaboration entre les informaticiens de l’équipe DALI/LIRMM à l’Université de Perpignan et les astrophysiciens du LUPM/CNRS (PEPS Astro-Informatique).

Sujet :
1. Contexte scientifique
Le projet CTA (Cherenkov Telescope Array) [1] a pour objectif la construction et l’exploitation d’un réseau d’une centaine de télescopes Cherenkov situés sur les sites de La Palma (Canaries, Espagne) et Paranal (ESO [2], Chili). CTA ouvre une nouvelle ère dans l’astronomie gamma de très haute énergie. Un premier grand télescope a été installé à La Palma en 2018 et l’acquisition des premières données est actuellement en cours. Le consortium de CTA regroupe environ 1200 membres, une centaine d’instituts de recherche de 32 pays.

Des simulations Monte Carlo détaillées des gerbes induites par les rayons cosmiques et la réponse des télescopes à la lumière Cherenkov, sont nécessaires tout au long du projet afin de calculer les fonctions de réponse des télescopes. C’est à travers ces fonctions de réponse que les astrophysiciens pourront découvrir les sources astronomiques et en déterminer les caractéristiques spatiales, spectrales et temporelles.

Pour la simulation des gerbes atmosphériques CTA utilise le logiciel Corsika [3], un logiciel de référence dans la communauté des ‘rayons cosmiques’. Le temps de calcul associé aux simulations est et restera très important, i.e. environ 200 millions d’heures CPU normalisées par an. Ces productions Monte Carlo utilisent typiquement 8000 cœurs en simultanés distribués sur une vingtaine de sites de la grille européenne EGI [4].

La réduction du temps de calcul nécessaire aux simulations est donc un enjeu majeur pour le projet.

Un projet de réécriture complète de Corsika (Next Generation Corsika) [5] a également démarré en 2018, avec l’implication des différentes expériences utilisatrices : CTA, Auger [6], IceCube [7], etc. La version actuelle du logiciel Corsika est en effet issue de développements entamés en 1990. La capacité d’utiliser efficacement les nouvelles générations de processeur est identifiée comme une nécessité à laquelle le nouveau logiciel NGC devra répondre.

2. Objectifs
L’objectif de la thèse consiste d’une part à obtenir les performances « optimales » du logiciel Corsika existant, qui restera en production encore 4-5 ans, et d’autre part à contribuer au développement du framework de Next Generation Corsika (NGC).

Concernant l’optimisation de Corsika, une étude préliminaire réalisée dans le cadre du PEPS Astro-Informatique [8], nous a permis de montrer que les outils d’optimisation automatique présentent des limites lorsqu’ils sont confrontés à des codes complexes comme Corsika. L’idée directrice est donc d’élargir l’espace des opportunités d’optimisation. Pour cela, nous souhaitons nous affranchir des contraintes liées aux limites des analyses statiques et aux heuristiques des compilateurs, à celles liées aux informations manquantes sur les jeux de données, ainsi qu’à celles liées aux informations manquantes sur la micro-architecture cible.

Le doctorant devra d’abord réaliser des transformations « manuelles » sur le programme existant afin de prendre en compte des informations sur les jeux de données et sur la micro-architecture cible. Dans ce processus de transformation, des techniques de vectorisation seront considérées, ainsi que l’utilisation ou le développement de fonctions mathématiques optimisées. Il s’agira ensuite de mesurer et de quantifier les améliorations de performance liées aux différentes contraintes et de mettre en évidence les voies les plus prometteuses pour lever les verrous de l’optimisation automatique.

Dans un deuxième temps, le doctorant contribuera au développement du NGC. L’objectif est de développer un framework général permettant de bénéficier au maximum des performances des architectures modernes et ce de manière transparente. L’idée principale consiste à explorer une nouvelle approche pour la simulation du ‘transport des particules’, en exploitant plusieurs niveaux de parallélisme, en regroupant des particules avec des propriétés similaires. Cette approche devrait permettre des gains de performance significatifs, qui seront quantifié dans des cas d’application réalistes.

Enfin, la nouvelle version de Corsika ainsi qu’une première version de NGC seront déployées sur la grille de calcul EGI pour leur validation complète sur la base d’une statistique élevée.
Ce travail s’effectuera dans un contexte international en étroite collaboration avec les astrophysiciens, membres du consortium CTA, ce qui permettra d’assurer la validité physique des résultats obtenus avec la version de Corsika optimisée et NGC.

Profil du candidat :
Le/la candidat/e aura des connaissances en architecture des machines et sur les processus de compilation. Il/elle aura une très bonne expérience en programmation en C/C++. Une connaissance du Fortran sera un plus.

Formation et compétences requises :
Formation souhaitée: Master en calcul haute performances ou équivalant
Le/la candidat/e aura des connaissances en architecture des machines et sur les processus de compilation. Il/elle aura une très bonne expérience en programmation en C/C++. Une connaissance du Fortran sera un plus.

Adresse d’emploi :
Université de Perpignan Via Domitia, équipe DALI/LIRMM.

Document attaché : PhD_OptSim_EN.pdf