Stage : Génération de code parallèle à base de tâche en contexte HPC à Fort-de-France Bay

Stage : Génération de code parallèle à base de tâche en contexte HPC

Description du poste

Détail de l'offre

Informations générales

Entité de rattachement

Situé à 40 km au sud de Paris, le centre DAM-Île de France, a en charge la conception des armes nucléaires françaises, la recherche et développement dans le domaine de la lutte contre la prolifération et le terrorisme, l'alerte aux autorités en cas de séisme, de tsunami ou d'essai nucléaire étranger, la construction et le démantèlement de grandes infrastructures nucléaires. Leader français de la simulation numérique et du calcul intensif, il possède deux des machines européennes les plus puissantes. Il dispose également de plusieurs accélérateurs et de nombreux moyens techniques et expérimentaux pour mener ses recherches. Lui est également rattaché, l'Unité Propulsion Nucléaire située sur le centre CEA/Cadarache en région Provence Alpes-Côte d'Azur, où sont implantées les installations d'essais et une partie des fabrications de la propulsion nucléaire.

Référence

2020-14735-S0084

Description de l'unité

Le service ANL (Analyse, Numérique et Logiciels) est chargé de la conception, du développement, de la réalisation et de la maintenance des codes et d'outils de simulation numérique pour le calcul haute performance (HPC). Il est amené à réaliser des logiciels, des codes de simulations et de la R&D pour le programme simulation de la DAM.

Description du poste

Domaine

Mathématiques, information scientifique, logiciel

Contrat

Stage

Intitulé de l'offre

Génération de code parallèle à base de tâche en contexte HPC

Sujet de stage

Les architectures spécialisées des nouveaux supercalculateurs (accélérateur, carte graphique…) offrent des progrès significatifs en terme de performance de calcul et de consommation énergétique. Néanmoins, programmer ces architectures de façon performante et pérenne reste un défi à relever. Pour tenter d'y parvenir, le CEA-DAM travaille sur le Domain Specific Language (DSL) NabLab et l'environnement de développement associé (https://github.com/cea-hpc/NabLab.git).Cet environnement permet d'écrire un code de simulation numérique en langage NabLab en profitant de toutes les commodités apportées par un IDE (complétion, coloration syntaxique, détection d'erreur, proposition de corrections, évaluation des variables, débogueur). Il permet ensuite de générer du code optimisé pour les architectures ciblées.Le stage consiste à optimiser les performances du code généré à partir de NabLab sur des programmes existants. Nous nous intéresserons particulièrement aux versions C++ multi-threadées.

Durée du contrat (en mois)

6 mois

Description de l'offre

Dans un premier temps, le stagiaire devra prendre en main l'environnement d'exécution des machines de calcul du CEA, DAM et analyser les performances du code généré pour les exemples fournis. Ensuite, le travail consistera à améliorer les performances du code généré par NabLab afin d'accroître le potentiel de parallélisation des applications. Notamment, l'intégration d'un modèle de programmation parallèle à base de tâches avec OpenMP sera étudié pour améliorer l'équilibrage de charge dynamique à travers le moteur exécutif. La construction des tâches se basera alors sur les informations obtenues dans la représentation intermédiaire (i.e. les dépendances) de NabLab afin de générer le code associé.Une étude de portabilité de cette solution sur GPU (directives target OpenMP) pourra également être menée afin d'étendre celle-ci aux architectures hétérogènes.

Profil du candidat

BAC+5 (Master/Ingénieur) en InformatiqueAlgorithmique parallèleC , C++ avancéProgrammation OpenMP task,targetJava,XtextMaster 2

Date de publication

15-04-2021

Informations supplémentaires

Statut
Actif
Formation requise
Université
Lieu
Fort-de-France Bay
Heures de travail par semaine
4 - 40
Type de Contrat
Job étudiant
Secteur
Autres
Permis de conduire FR/EU exigé
Non
Voiture exigée
Non
Lettre de motivation exigée
Non
Langues
Français

Offres d'emploi autres | Job étudiant | Université

Postuler maintenant

Partager cette offre