Stage de Master 2-Informatique

Optimisation de code HPC pour la simulation astrophysique

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 est en cours d’installation à La Palma et l’acquisition des premières données est prévue pour fin 2018. Le consortium de CTA regroupe environ 1200 membres, une centaine d’instituts de recherche de 25 pays dont la France qui en est un acteur majeur.

Ce stage s’effectue dans le cadre d’une collaboration entre informaticiens du laboratoire LIRMM (UMR 5506) et physiciens du laboratoire LUPM (UMR 5299). Le LUPM est en charge de la production et de l’analyse de simulations Monte Carlo sur la grille de calcul européenne EGI [3]. Le temps de calcul associé est très important, i.e. environ 214 millions d’heures CPU HS06 [4] par an.

Ce stage participe aux travaux d’optimisation des performances du logiciel corsika [5] actuellement en cours au sein de l’équipe [6]. Corsika consomme environ 70% du CPU globale dans cette chaîne de simulation. Le moindre gain de performance permet à la fois une réduction des coûts d’utilisation des infrastructures de calcul et une amélioration scientifique grâce à une meilleure caractérisation de l’instrument.

2. Objectifs du stage

Le stage consiste d’abord à se familiariser aux outils d’optimisation automatique (état de l’art des compilateurs et environnements de compilation itérative) puis à les exploiter sur corsika pour obtenir une première version optimisée automatiquement. Dans un second temps il s’agit d’implémenter et évaluer un petit nombre d’optimisations manuelles (préalablement identifiées avec les encadrants) en exploitant entre autre des techniques de vectorisation (instructions SIMD) et en prenant en compte la qualité numérique des calculs. Une analyse comparative des optimisations manuelles et automatiques sera menée à l’aide d’outils spécialisés. Une synthèse mettra en avant des pistes d’amélioration du processus d’optimisation automatique par la prise en compte de la qualité numérique de l’application. Cette recherche se poursuivra dans le cadre d’une thèse.

3. Prérequis

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

4. Durée, lieu, encadrement et aspects logistiques

– Ce stage (4 à 6 mois) se déroulera au sein de l’équipe DALI à l’Université de Perpignan Via Domitia.

– Encadrants : Luisa Arrabito (LUPM) arrabito@in2p3.fr
David Parello (DALI/LIRMM/UPVD) david.parello@univ-perp.fr

– Logistique : Des facilités d’hébergement sur le campus (résidence universitaire) peuvent être organisées.

Nous contacter très vite à ce sujet.