Categories
cdd highlight job

2-years fixed-term: Task-based programming for Kinetic Plasma simulations

High performance computing specialist

2-years fixed-term research-engineer or postdoc contract at Maison de la Simulation, CEA Saclay

Contact: Mathieu Lobet, CEA Researcher-Engineer, mathieu.lobet@cea.fr
Location: Maison de la Simulation, bât. 565, CEA Saclay, 91191 Gif-sur-Yvette Cedex
Employer: CEA Saclay, 91191 Gif-sur-Yvette Cedex
Salary: Based on CEA salary grid, typically in the 35k€-40k€ gross yearly range
Duration: 2 years starting in November 2022
Start of contract: end of 2022

Description

Maison de la Simulation Laboratory is looking for a computer science specialist to explore task-based programming models in the Particle-in-Cell simulation code Smilei. The successful candidate will have a CEA contract of 2 years funded by the AIDAS project jointly launched by Forschungszentrum Jülich (FZJ) in Germany and CEA in France. This project aims at stimulating active collaborations in artificial intelligence, data analytics and scalable simulations between the two countries.

Context

Task-based programming is a promising parallelism method that consists on dividing application workload and successive computation phases into inter-dependent pieces called tasks. The structure of the code can thus be represented by a task graph. A runtime scheduler decides when each tasks is executed based on available resources (CPU cores, GPU units) and dependencies. This asynchronous parallelized execution speeds up application with important load imbalance, helps to reduce idle resources, enable to adapt to many kind of computing architectures (heterogeneity, big.LITTLE architectures) and enable easier overlapping between different application phases (computation, communication, outputs, etc). Nonetheless, task-based programming often requires a rethink of how parallelism is designed, especially if there are strong dependencies and memory races.

Smilei (https://smileipic.github.io/Smilei/) is an open-source and parallel scientific application developed to simulate a wide range of kinetic plasma scenarios: laser-plasma interaction, particle acceleration, laboratory astrophysics, fusion energy and more. This code is based on the electromagnetic Particle-In-Cell (PIC) extended with many physical models. The code was initially parallelized using MPI and OpenMP and is currently ported to GPU. An initial exploration (https://doi.org/10.1145/3539781.3539788) of task-based methods in Smilei has demonstrated the relevance of such a model for the PIC method using several libraries: OpenMP task, Eventify (developed at Jülich Supercomputing Center) and OMPSS (developed at the Barcelona Super-computing Center).

Mission

The successful candidate will be responsible for continuing the exploration and implementation of the task programming philosophy in the Smilei code. One of the goal will be to extend the OpenMP and Eventify task models, which are currently limited to a small part of the code. Many challenges remain to be addressed and explored, such as how to asynchronously perform MPI communications, compute diagnostics and write output files on disk using tasks, and more. This work is part of a research activity on tasks and will be promoted through publications and international communications.

Required skills

  • Master degree or PhD
  • Strong C++ programing skills
  • Experience in parallel computing (especially MPI, OpenMP)
  • Knowledge of scripting languages (Python, bash, etc) and Unix environment

In addition, the following skills and knowledge will be considered a plus:

  • Experience or knowledge in task-based parallel programming
  • Experience or knowledge in GPU parallel programming (OpenACC, OpenMP or CUDA)
  • Advanced C++

Abouts Us

Maison de la Simulation (https://mdls.fr/) is a joint laboratory between CEA, CNRS, Université Paris-Saclay and Université Versailles Saint-Quentin. It specializes in high-performance computing and numerical simulations in close connection with physical applications, parallel software engineering, programming models, visualization techniques, artificial intelligence, and quantum computing

Working conditions and advantages

The position is located at Maison de la Simulation (CEA Saclay in France). The candidate will be part of the Smilei code development team and participate in developer’s meetings at Ecole Polytechnique. She or He will also work in collaboration with the task-based programming model experts in France and with the developers of Eventify at JSC (Germany). We are also developing a collaboration with the BSC (Spain) on this topic.

The successful candidate will benefit from all the social advantages of CEA: works council, subsidized transport, company savings scheme, health insurance, maternity leaves, teleworking and more.

Application procedure

Please, send a resume and a motivation letter to mathieu.lobet@cea.fr.

Categories
cdd highlight job

Fixed-term contract: Ingénieur HPC en intégration de lois de comportement mécanique sur GPU

Nous proposons un poste d’ingénieur HPC en CDD (1 an renouvelable) sur l’intégration de lois de comportement mécanique sur GPUs pour la période 2022/2023 à la Maison de la Simulation.

Domaine : Informatique scientifique, calcul haute performance

Contrat : CDD

Intitulé du poste : Ingénieur Calcul Haute Performance

Durée du contrat : 12 mois (renouvelable)

Localisation du poste : Maison de la Simulation (Saclay) ou CEA Cadarache

Contexte

Le CEA/DES, en collaboration avec la Maison de la simulation, développe des outils de simulation avancés en mécanique non linéaire du solide.

L’étape d’intégration des lois de comportement mécanique a un impact fort sur la robustesse et les temps de calcul de ces codes. Elle est également un verrou majeur pour la conception de codes de mécaniques non linéaires massivement parallèles. On constate ainsi jusqu’à 80% du temps de calcul dans certains cas de lois de comportement complexes, notamment sur des simulations de plasticité cristalline basées sur la dynamique des dislocations réalisées avec le code AMITEX_FFTP [1, 2].

Le générateur de code open-source MFront, co-développé par le CEA et EDF, est dédié à l’implantation de ces lois de comportement[3]. Récemment, le projet MGIS a été développé pour simplifier l’intégration de MFront dans de nombreux solveurs et proposer des structures de données efficaces [4].

Le couple MFront/MGIS est utilisé par une large communauté regroupant académiques et industriels dans de nombreux domaines qui dépassent largement le domaine nucléaire. Plus d’informations sur ces projets peuvent être trouvées sur leurs sites web respectifs [5, 6] et sur leurs pages ResearchGate [7, 8].

Missions

Les lois générées par MFront traitent un unique point d’intégration et s’exécutent aujourd’hui sur les unités de calcul traditionnelles, les CPUs. Au vu de l’évolution des supercalculateurs, à savoir que 60% des 500 supercalculateurs les plus rapides listés en juin 2022 sont équipés des accélérateurs, la capacité à réaliser des calculs sur ce type d’architecture devient un enjeu beaucoup plus fort qu’auparavant, notamment pour le passage à l’exascale.

Le portage sur GPU nécessite d’implémenter de nouveaux algorithmes afin de traiter en parallèle directement des groupes de points d’intégration, de nouvelles structures de données adaptées au GPU et une attention particulière doit être portée pour minimiser les
transferts d’information Host / Device. Il est donc primordial de considérer le couple MFront/MGIS dans son ensemble.

Dans le cadre de ce projet PTC, on utilisera le code AMITEX_FFTP comme support des développements menés autour de trois thématiques :

  • Évaluer la pertinence de l’intégration des lois de comportement sur GPUs sur des cas de complexité croissante, allant de lois triviales à des lois de plasticité cristalline réalistes. Cette étape permettra d’évaluer différentes technologies (SYCL, Kokkos, CUDA, HIP, HPX, OpenAcc, etc.) en terme d’efficacité et de maintenabilité. Cette étape s’appuiera sur la bibliothèque tensorielle TFEL/Math utilisée par MFront qui a déjà été partiellement porté sur GPUs.
  • Mettre en place une implémentation générique de ce portage, en s’appuyant sur le couple MFront/MGIS. Des structures de données adaptées seront proposées dans MGIS et assureront les transferts de données entre CPU et GPU.
  • La mise en place dans un code de production AMITEX_FFTP sera envisagée très tôt, de même que l’identification de simulations d’intérêt (composites à particules, polycristaux, matériaux à propriétés continûment variables…) pour valider les développements réalisés. On envisagera le cas où la loi de comportement fait l’objet d’un traitement en bloc à chaque pas de temps (c.à.d. les opérateurs ne sont pas entremêlés à grains fins ce qui complexifierait les interfaces).

Profil recherché

Nous recherchons des candidats motivés par la réalisation de calculs hautes performances sur GPUs et compétents en développement de codes numériques en C++. Des compétences en calculs GPUs et/ou en développement de codes de mécanique du solide constitueraient des éléments appréciables.

Formation recommandée : niveau Master 2 ou Doctorat dans un domaine scientifique relié au calcul haute performance.

Avantages du poste

  • télétravail possible
  • transports collectifs
  • restauration d’entreprise
  • aide financière pour activités sociales

Localisation

Le candidat sera accueilli à la Maison de la Simulation (UAR 3441, CEA Saclay, 91191 Gif-sur-Yvette Cedex).

Un/plusieurs déplacement à CEA Cadarache est prévu pour la prise en main des codes.

Postuler

Les candidats peuvent envoyer leurs candidatures (CV, lettre de motivation) aux adresses suivantes: thomas.helfer@cea.fr, yushan.wang@cea.fr.

Categories
cdd highlight job

Fixed-term contract: Research Engineer position in High Performance Computing (ERC ATMO project)

Contexte & Rôle :

Le candidat retenu coordonnera et contribuera au développement de logiciels d’application liés au projet ERC ATMO. L’objectif est de produire et d’utiliser des outils de simulation haut de gamme conçus pour la prochaine génération des plus grands supercalculateurs (GPU, Xeon Phis, etc.) pour l’étude des dynamos convectives dans les étoiles, les naines brunes et les exoplanètes. Il/elle profitera de la librairie innovante Kokkos pour réaliser la portabilité des performances entre différentes architectures, et contribuera à l’incorporation de la librairie PDI dans le code de simulation ARK. Le candidat retenu contribuera à la mise en œuvre d’une simulation « grand défi » à grande échelle d’une dynamo convective sur le nouveau supercalculateur français Adastra.
Il/elle fera également partie des équipes d’experts HPC de la Maison de la Simulation et travaillera en collaboration avec une communauté scientifique internationale. Il/elle aura l’opportunité de travailler sur des codes HPC de niveau production fonctionnant sur les supercalculateurs les plus puissants.

Compétences requises :

  • Doctorat ou master dans un domaine scientifique fortement lié au HPC
  • Connaissance opérationnelle des techniques et du langage de programmation (Fortran90, C ou C++) pour le développement d’applications
  • Forte expérience en parallélisation d’applications (MPI, OpenMP) et en optimisation de codes scientifiques sur diverses architectures (SMP, MPP) fonctionnant en environnement Unix
  • Aptitudes à travailler en équipe

Avantages inclus :

Un financement supplémentaire pour les collaborations et l’équipement personnel est disponible. Les postes comprennent des avantages sociaux complets tels que des subventions pour le transport et le déjeuner, une assurance médicale, un congé de maternité et des prestations de retraite.

Application:

Pour postuler, veuillez envoyer un CV, une liste de publications à pascal.tremblin[at]cea.fr et faire suivre 1 lettre de référence à la même adresse e-mail.