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

DÉVELOPPEMENT D'UN ORDONNANCEUR DYNAMIQUE DE CALCUL HYBRIDE GPU (CUDA)/CPU H/F


Détail de l'offre

Informations générales

Entité de rattachement

Le Commissariat à l'énergie atomique et aux énergies alternatives (CEA) est un organisme public de recherche.

Acteur majeur de la recherche, du développement et de l'innovation, le CEA intervient dans le cadre de ses quatre missions :
. la défense et la sécurité
. l'énergie nucléaire (fission et fusion)
. la recherche technologique pour l'industrie
. la recherche fondamentale (sciences de la matière et sciences de la vie).

Avec ses 16000 salariés -techniciens, ingénieurs, chercheurs, et personnel en soutien à la recherche- le CEA participe à de nombreux projets de collaboration aux côtés de ses partenaires académiques et industriels.  

Référence

2022-23337  

Description de l'unité

Le SERMA est le Service d'Etude des Réacteurs et de Mathématiques Appliquées au CEA/Paris-Saclay, dont les principales activités de R&D concernent le développement, la validation et l'application de codes pour la simulation numérique des systèmes nucléaires, dans le domaine de la radioprotection, de la physique et de la déplétion des réacteurs, de la sûreté-criticité et de l'instrumentation nucléaire.
Situé au sein du SERMA, le laboratoire LTSD (Laboratoire de Transport Stochastique et Données) se consacre notamment au développement du code Monte-Carlo de génération actuelle (TRIPOLI-4) et de prochaine génération (TRIPOLI-5) pour le transport de particules, ainsi qu'au traitement des bibliothèques de données nucléaires.

Description du poste

Domaine

Mathématiques, information  scientifique, logiciel

Contrat

Stage

Intitulé de l'offre

DÉVELOPPEMENT D'UN ORDONNANCEUR DYNAMIQUE DE CALCUL HYBRIDE GPU (CUDA)/CPU H/F

Sujet de stage

Patmos est une mini-app Monte-Carlo pour la simulation du transport de particules développée au CEA dans le but de s'adapter aux nouvelles architectures logicielles et matérielles. Les architectures GPU sont fortement représentées dans le paysage des supercalculateurs modernes. Cette technologie offre une puissance de calcul conséquente, capable de réduire considérablement le temps de calcul d'une simulation par rapport à la réalisation de ce même calcul sur CPU. Cependant, les architectures GPU actuelles se composent toujours d'une partie CPU, indispensable au déroulement normal d'une application. L'implémentation actuelle de portage sur GPU permet d'utiliser les ressources GPU mises à disposition, mais implique une inactivité CPU (en termes de calcul) durant la phase de calcul sur GPU et donc une utilisation des ressources non optimale. Dans ce stage nous allons définir une stratégie de portage permettant d'exploiter la totalité des ressources, y compris CPU.

Durée du contrat (en mois)

6 mois

Description de l'offre

Patmos est un code-maquette de simulation de transport de particules pour la physique des réacteurs utilisant la méthode Monte-Carlo. Cette méthode consiste à échantillonner aléatoirement les trajectoires des particules et leurs interactions avec le milieu dans lequel elles se déplacent, selon des lois de probabilités déterminées par la physique sous-jacente. Les probabilités déterminant les interactions particule-matière sont décrites par des grandeurs élémentaires appelées sections efficaces.
Patmos est développé au CEA dans le but de s’adapter aux nouvelles architectures logicielles et matérielles. Les architectures GPU sont fortement représentées dans le paysage des supercalculateurs modernes. Cette technologie offre une puissance de calcul conséquente, capable de réduire considérablement le temps de calcul d’une simulation. C’est pourquoi le portage du calcul des sections efficaces sur GPU a été étudié : cela permet de réduire considérablement le temps de calcul en comparaison de la réalisation de ce même calcul sur CPU. Cependant, les architectures GPU actuelles se composent toujours d’une partie CPU, indispensable au déroulement normal d’une application. L’implémentation actuelle de portage sur GPU permet d’utiliser les ressources GPU mises à disposition, mais implique une inactivité CPU (en termes de calcul) durant la phase de calcul sur GPU et donc une utilisation des ressources non optimale. Il est donc souhaitable de définir une stratégie de portage permettant d’exploiter la totalité des ressources, y compris CPU.

Pour résoudre le problème de l’inutilisation des cœurs CPU durant la phase de calcul sur GPU une approche hybride GPU/CPU est possible. Le nombre de sections efficaces à calculer dans une étape de calcul étant relativement élevé, il est aisé de répartir la charge de calcul sur les composants matériels (CPU et GPU). Néanmoins, la question de la proportion de calcul à porter sur GPU se pose. S’il est admis qu’une répartition équitable du calcul serait non optimale – le GPU étant à priori plus rapide – nous ne pouvons pas facilement et de manière précise définir à l’avance la meilleure répartition. La solution pour répondre à ce problème est donc un ordonnancement dynamique du calcul des sections efficaces. Pour cela, plusieurs approches ont été étudiées dans la littérature [4]. Dans le cas du calcul des sections efficaces nous nous intéressons notamment aux approches d’ordonnancement en fonction des performances relatives des CPU/GPU.
L’objectif de ce stage est de proposer un ordonnancement dynamique du calcul des sections efficaces sur CPU et GPU en utilisant une approche de performances relatives. En particulier, le stagiaire proposera une solution hybride pour l’implémentation CUDA en s’appuyant notamment sur l’API fournie. Plusieurs algorithmes d’ordonnancement pourront être mis en œuvre. Ces derniers pourront s’inspirer des solutions existantes dans la littérature. Ce développement sera réalisé au sein de Patmos.

Profil du candidat

Master 2 ou 3ème année d’école d’ingénieur en informatique avec une spécialisation HPC (GPU, OpenMP). Une sensibilisation à la physique des réacteurs serait un plus appréciable.

Localisation du poste

Site

Saclay

Localisation du poste

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

Ville

Gif-sur-Yvette

Demandeur

Disponibilité du poste

01/02/2023