Matthieu Haefele

Je suis ingénieur calcul scientifique et visualisation à l' IPP rattaché à l'équipe HLST. Spécialiste en développement applicatif, mon domaine de compétences s'étend de l'implantation efficace de méthodes numériques à la visualisation de leurs résultats en passant par la parallélisation MPI/OpenMP et l'optimisation de codes.

Curriculum Vitae

Photo de Matthieu Haefele
IPP
Boltzmann Strasse 2
D-85748 Garching
matthieuhaefele.fr

Principaux projets

Portage d'une application de calcul intensif sur architecture Intel Xeon Phi

La nouvelle famille de processeurs d'Intel dénommée Many Integrated Cores (MIC) demande un effort de parallélisation plus important que sur les processeurs standards Intel Xeon. C'est le prix à payer pour accéder à des ressources de calcul plus importantes. J'ai réalisé ce projet sur un code de turbulence dans le cadre de la recherche sur la fusion nucléaire et obtenu des résultats corrects, à savoir un facteur d'accélération compris entre x2 et x3 par rapport à un processeur Xeon classique.

Passage à l'échelle du schéma de communication "All-to-All" sur les machines Petaflop

Toujours dans le cadre de la recherche sur la fusion nucléaire, certains codes de simulation parallèles utilisent le schéma de communication "All-to-All" afin de transposer une matrice distribuée. Différentes méthodes ont été implantées et évaluées sur différentes architectures jusqu'à 65536 coeurs. La meilleure méthode à employer dépend de l'architecture mais il est important de noter qu'un déploiement d'une tâche MPI par coeur est encore sensé sur ce type de machines même si parfois le temps d'initialisation de MPI peut devenir important. Pour plus d'information.

Equipe-projet CALVI : contribution à la conception et l'implantation d'une plate-forme de simulation numérique

CALVI est une équipe-projet de l'Institut National de Recherche en Informatique et en Automatique (INRIA) bi-localisé à Nancy et à Strasbourg et est une collaboration de trois organismes de recherche. Dans ce cadre, j'ai contribué fortement à la conception et l'implantation d'une plate-forme de simulation numérique. Elle consiste en un ensemble de logiciels qui permettent d'implanter, valider et comparer rapidement différentes méthodes numériques pour le système Vlasov-Maxwell.

Le principe de la plate-forme consiste à décomposer une méthode numérique en un ensemble de modules, qu'on peut regrouper en trois grandes classes : les cas-tests, les exports et les calculs. Les modules cas-tests contiennent la description de tests standards nécessaires à la validation des méthodes numériques. Les modules d'exports servent à exporter les résultats de la simulation sur disque dans le but de les visualiser. Enfin les modules de calculs contiennent réellement les méthodes numériques qui résolvent des équations particulières. En conséquence, une nouvelle méthode numérique peut être facilement introduite dans la plate-forme en créant les modules de calculs correspondants. Dès lors, les modules de cas-test et d'export peuvent directement être utilisés pour valider le nouveau schéma et le comparer avec les schémas existants.

Projet européen EUFORIA : contribution à la partie post-traitement et visualisation d'une infrastructure logicielle

EUFORIA (EU Fusion fOR Iter Applications) est un projet financé par l'Union européenne dans le cadre du septième programme cadre (7e PC) qui va fournir un cadre et une infrastructure logicielle pour la simulation du transport de coeur, du transport de bord et de la turbulence dans un Tokamak. Cette infrastrucutre fera le lien entre la communauté des grilles de calcul et du calcul haute performance avec la communauté de la modélisation pour la fusion.

Ma contribution dans ce projet est de fournir un ensemble d'outils de visualisation unifiés pour les codes intégrés à la plate-forme. Certains de ces outils permettent d'effectuer des post-traitements sur les données générées par les codes, d'autres sont directement intégrés au système de workflow (Kepler) pour permettre la visualisation et le suivi des résultats durant l'exécution du workflow. Les outils de visualisation développés dans ce cadre sont basés sur des logicels libres existants tel que Python, numpy et matplotlib d'une part et VTK et VisIt d'autre part.

Travaux de thèse

Simulation numérique

Cette partie de ma thèse contribue à la mise au point et l'implantation efficace et parallèle d'une méthode numérique adaptative résolvant le système de Vlasov-Poisson en une dimension. En utilisant une décomposition en ondelettes, j'ai modifié la méthode semi-lagrangienne pour qu'elle utilise une grille adatative plutôt qu'une grille régulière. La complexité des algorithmes a ainsi été réduite et l'erreur commise est contrôlée par un seuil de compression fixé par l'utilisateur. Une structure de données dédiée a permis une implantation efficace et parallèle qui reflète la complexité des algorithmes et présente un très bon passage à l'échelle jusqu'à 64 processeurs en mémoire partagée.

Fonction de distribution
Discrétisation régulière
Coefficients d'ondelette significatifs
Fonction de distribution
(couleur = f(x, vx))
Discrétisation régulière
512 x 512 = 256K points
Maillage de calcul adaptatif
43K points (17%)

Visualisation scientifique

Cette partie de ma thèse consiste à élaborer un schéma de compression pour la visualisation de fonctions multidimensionnelles. En particulier, je me suis intéressé aux fonctions 4D à valeurs scalaires issues des codes résolvant le système de Vlasov-Poisson en quatre dimensions. La visualisation proposée utilise une méthode d'extraction de tranches 2D où l'utilisateur sélectionne et modifie interactivement les tranches visualisées. La taille de la donnée 4D ( > 2 Go) étant le problème principal, les données sont compressées à l'aide d'une base hiérarchique d'éléments finis. La localité des algorithmes de compression a permis leur intégration à différents codes de simulation parallèle pour qu'il puisse directement exporter la fonction 4D compressée. La réduction substantielle de la taille des données (facteur 10 à 100) ainsi que l'utilisation de structures de données dédiées permet au logiciel de visualisation plasmaViz de générer les coupes demandées par l'utilisateur en temps interactif ( > 10 images/s).

Capture d'écran de PlasmaViz

Publications