Ingénieur logiciel pour la recherche (RSE), HPC · Paris-Saclay · diplômé en 2026 · disponible dès janvier 2027

Je développe des logiciels de recherche qui mesurent ce que coûte le calcul scientifique.

Des outils de mesure d’énergie pour Kokkos, développés à l’Oak Ridge National Laboratory, et trois ans d’outillage de performance pour un code de simulation de réacteurs nucléaires chez EDF.

300 W0fdbscan769 J2,68 s300 W0fdbscan-dense569 J2,20 s0 s1 s2 s3 s300 W0fdbscan769 J2,68 s300 W0fdbscan-dense569 J2,20 s0 s1 s2 s3 s
Une exécution de chaque implémentation de DBSCAN d’ArborX sur un NVIDIA H100 NVL, même résultat. L’aire colorée représente l’énergie consommée par le calcul DBSCAN. Sur 64 exécutions de chacune, la version dense prend 19 % de temps et 25 % d’énergie en moins (médianes). Comment c’est mesuré

Réalisations

Oak Ridge National Laboratory · CSEDGraduate Research Fellow (programme GRO) · Été 2025

Mesurer où part l’énergie sur le GPU

Des outils de mesure d’énergie pour Kokkos, la bibliothèque C++ de portabilité des performances sur laquelle reposent de nombreux codes du Département de l’Énergie américain. J’ai écrit un profileur d’énergie pour Kokkos Tools, avec des connecteurs NVML et Variorum, dont le démon d’échantillonnage est fusionné en amont, et energy-dashboard-for-kokkos, l’outil d’analyse open source que j’ai réécrit en septembre 2026.

Le problème

Kokkos fait tourner un même code source C++ sur des GPU NVIDIA, AMD et Intel, et le même noyau consomme une puissance différente sur chacun. Kokkos Tools ne savait estimer l’énergie d’un noyau qu’à partir de deux lectures de puissance, au début et à la fin, ce que le rafraîchissement de NVML toutes les 100 ms rend peu fiable ; rien n’intégrait une trace continue par région, sur des machines du DOE où la puissance est devenue une contrainte majeure.

Comment c’est construit

Les outils se branchent à l’exécution par Kokkos Tools : une application se mesure sans recompilation ni correctif. Les connecteurs soumis en amont lisent la puissance via NVML ou Variorum ; une version AMD via ROCm SMI, pas encore publiée, est celle que j’ai fait tourner sur Frontier. energy-dashboard-for-kokkos, réécrit en Rust en septembre 2026, a un format de trace documenté, des tests sur une trace GPU réelle et des binaires publiés par la CI et archivés sur Zenodo avec un DOI. Les traces et le script derrière les chiffres DBSCAN sont publics, et la CI les recalcule.

Où ça en est

Le reste du profileur tient en trois pull requests que j’ai écrites, encore ouvertes : le cœur et l’export des mesures (#299), le connecteur NVML (#301, avec des modifications demandées) et le connecteur Variorum (#302, un brouillon d’environ 2 700 lignes qui inclut des tests unitaires). Son démon d’échantillonnage (#300) a été fusionné dans kokkos-tools en mars 2026, après que mon encadrant à l’ORNL, Jakob Bludau, l’a retravaillé pendant la relecture, après mon séjour. Neuf pull requests vers kokkos-tools et LAMMPS au total, dont certaines redécoupées ensuite ; trois fusionnées : le démon et deux correctifs de build. Un poster, avec Daniel Arndt, Jakob Bludau et Damien Lebrun-Grandié, présenté à la SMC 2025 et lors d’une session interne de l’ORNL, et cité dans le rapport de projet S4PST 2024–2025.

Technologies C++ · Kokkos · CUDA · NVML · ROCm SMI · Variorum · Slurm · Rust

EDF Lab Paris-Saclay · groupe ASICSApprenti ingénieur · 2023 à 2026

Rendre mesurable un code de simulation nucléaire

Une alternance de trois ans sur COCAGNE, la plateforme de simulation de cœurs de réacteurs d’EDF, plus de 500 000 lignes de C++ : les outils qui mesurent ses performances, un prototype de sa future architecture et la chaîne qui la livre en paquets Debian.

Le contexte

Le groupe ASICS d’EDF développe le calcul scientifique dont dépend la simulation nucléaire. J’ai travaillé au sein de l’équipe qui développe la plateforme : réunion de groupe hebdomadaire, revues de code données et reçues via les merge requests GitLab, cinq notes techniques internes, et le support aux utilisateurs des outils ; le profileur mémoire a trouvé une explosion mémoire que l’équipe traquait depuis des jours.

Ce que j’ai construit

Deux outils d’analyse de performance en C++ : un profileur mémoire qui intercepte l’allocation via LD_PRELOAD, et un outil de mesure temporelle hiérarchique avec bindings Python (PyBind11), chargé à l’exécution pour ne rien changer aux builds de production. Avec eux, j’ai mesuré le prototype que j’ai développé pour une nouvelle architecture modulaire du calcul de cœur (Ports et Composants) ; les trois chiffres de cette section en sont les résultats. J’ai aussi bâti le pipeline de packaging Debian sur GitLab CI/CD et Jenkins, et documenté les outils avec Sphinx pour que l’équipe puisse continuer à s’en servir.

Seul le travail ci-dessus peut être cité publiquement ; le reste est confidentiel.

Technologies C++17 · Python · PyBind11 · CMake · GitLab CI/CD · Jenkins · Sphinx

résultats identiques à la référence
bit à bit
temps de calcul, meilleur cas
−12 %
pic mémoire
−38 %

Articles

Des articles sur le HPC, le calcul GPU, l’infrastructure et les projets qui les accompagnent.
Lire tous les articles

Parcours

Ethan PuyaubreauParis-Saclay, France

Je développe des logiciels de recherche pour le calcul haute performance : des outils qui rendent les codes scientifiques mesurables, et l’ingénierie autour (tests, packaging, CI/CD, versions publiées, documentation) qui permet à d’autres de s’y fier. Je suis diplômé de Polytech Paris-Saclay depuis septembre 2026 (diplôme d’ingénieur) et je cherche un poste d’ingénieur logiciel pour la recherche à partir de janvier 2027, dans un laboratoire national, une université ou un institut de recherche, en France comme à l’international.

Langages : C++17 au quotidien, Python (NumPy, pandas) pour l’analyse et les bindings, Rust, CUDA. Build, tests et livraison : CMake, GitLab CI/CD, GitHub Actions, Jenkins, paquets Debian, Sphinx. Calcul par lots avec Slurm, sur Frontier et chez EDF. Anglais : langue de travail professionnelle (TOEIC 970/990) ; français langue maternelle.

Contact

Ouvert aux postes d’ingénieur logiciel pour la recherche à partir de janvier 2027

Calcul haute performance et calcul scientifique, dans un laboratoire national, une université ou un institut de recherche, en France comme à l’international.

ethan.puyaubreau@gmail.com