Pause
Lecture
Moteur de recherche d'offres d'emploi CEA

Développement d'outils de profiling pour applications à base de tâches OpenMP avec OMPT


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

2021-18615-S0451  

Description du poste

Domaine

Mathématiques, information  scientifique, logiciel

Contrat

Stage

Intitulé de l'offre

Développement d'outils de profiling pour applications à base de tâches OpenMP avec OMPT

Sujet de stage

Développement d'outils de profiling pour applications à base de tâches OpenMP avec OMPT

Durée du contrat (en mois)

3 mois

Description de l'offre

Les architectures des supercalculateurs sont en perpétuelle évolution. Les nouvelles générations de machines intègrent des nœuds de calculs avec des architectures de processeurs intégrant de plus en plus de cœurs.
Les approches classiques de type Fork-Join (e.g., parallélisme de boucles) sont généralement utilisés au niveau du nœud de calculs, en mémoire partagée. Cependant, ces modèles ne sont pas adaptés pour générer suffisamment de parallélisme pour plusieurs dizaines de cœurs par nœud. Le modèle de programmation parallèle par tâches a donc été introduit. Une tâche représente un ensemble d’instructions, qui peut dépendre d’une ou plusieurs autres tâches. Naturellement asynchrone, adapté aux architectures hétérogènes : ce modèle de programmation présente de nombreux avantages pour la programmation des machines exascales.
Supporté depuis OpenMP 3.0, les outils de profiling pour ce modèle de programmation font défaut. OMPT permet aux développeurs d’application de concevoir leurs propres outils sans être invasif dans OpenMP. A chaque évènement rencontré, des informations peuvent être récupérées sous forme de callback liée à un évènement et sauvegarder par un outil tiers.
Plusieurs indicateurs de performances peuvent être analysés lors de l’exécution d’une application suivant le modèle de programmation par tâches :
Graphe de dépendances,
Analyse du chemin critique, Ordre de création et d’exécution des tâches,
- Overhead de gestion de tâches selon la granularité,
- Etc.
Ces métriques permettent d’analyser plus finement les performances obtenues d’une application parallèle. L’objectif de ce stage est de réaliser un outil OMPT pour visualiser toutes ces métriques de performances relatives aux tâches avec dépendances.

Profil du candidat

C, C++, Programmation parallèle, OpenMP
Bac+3

Localisation du poste

Site

DAM Île-de-France

Localisation du poste

France, Ile-de-France, Essonne (91)

Ville

Bruyères-le-Châtel