YP

Engineer Position - HPC / HPDA support and development H/F

CEA

CDD Sciences, Recherche Gif-sur-Yvette 30000 - 35000EUR/An

Détails de l'offre

Présentation de l'entreprise :

Le CEA est un acteur majeur de la recherche, au service des citoyens, de l'économie et de l'Etat.

Il apporte des solutions concrètes à leurs besoins dans quatre domaines principaux : transition énergétique, transition numérique, technologies pour la médecine du futur, défense et sécurité sur un socle de recherche fondamentale. Le CEA s'engage depuis plus de 75 ans au service de la souveraineté scientifique, technologique et industrielle de la France et de l'Europe pour un présent et un avenir mieux maîtrisés et plus sûrs.

Implanté au coeur des territoires équipés de très grandes infrastructures de recherche, le CEA dispose d'un large éventail de partenaires académiques et industriels en France, en Europe et à l'international.

Les 20 000 collaboratrices et collaborateurs du CEA partagent trois valeurs fondamentales :

* La conscience des responsabilités
* La coopération
* La curiosité

Missions :

With the increasing complexity of numerical simulation codes, new approaches are required to analyze the ever-growing amount of data. This requires coupling up-to-date data analysis libraries with the existing highly optimized numerical simulation codes. The PDI Data Interface code coupling library is designed to fulfill this goal.
The open-source PDI Data Interface library is designed and developed for process-local loose coupling in high-performance simulation codes. PDI supports the modularization of codes by inter-mediating data exchange between the main simulation code and independent modules (plugins) based on various libraries. It is developed in modern C++ and offers C, Fortran, and Python application programming interfaces.
PDI offers a reference system similar to Python or C++'s shared_ptr with locking to ensure coherent access by coupled modules. It provides a global namespace (the data store) to share references and implements the Observer pattern to enable modules to react to data availability and modifications. It implements a metadata system that can specify a dynamic type for references based on the value of other data (e.g., array size based on the value of a shared integer). Codes using PDI's declarative API expose the buffers in which they store data and trigger notifications when significant steps in the simulation are reached. Third-party libraries such as HDF5, SIONlib, or FTI are wrapped in a PDI plugin. A YAML configuration file is used to interleave plugins and additional code without modifying the original application.
Another aspect we explore with PDI is in-situ data analysis, which performs numerical analytics during the simulation. This is necessary due to the ever-growing gap between file system bandwidth and compute capacities. To this end, we are developing the Deisa plugin. This plugin is based on the open-source Dask framework and allows us to transfer data to dedicated processes to perform in-situ analysis.
One of our goals is to establish a feedback mechanism between the in-situ data analysis and the numerical simulation. This allows better resource allocations and on-the-fly simulation monitoring. Another aspect that in-situ analysis enables is using AI methods for HPC and HPDA. For instance, we can have unsupervised detection of rare events during the simulation, which can greatly reduce the amount of produced data, thus reducing stress on the file system.
As a member of the newly created PDI team, your primary focus will be developing and maintaining the PDI library.
Develop core functionalities and new plugins for PDI
Develop the Deisa library
User-support
Organize training sessions
Library packaging and deployment

Profil recherché :

The successful candidate will master the following skills and knowledge:
Proficiency in modern C++ (C++14 and above)
Software engineering and library design
Modern development environment (Linux, git, CMake, etc.)
Communication (writing, presenting, and training)
Team-work and integration in an international environment
In addition, the following will be considered a plus:
Data analysis libraries such as Dask
Knowledge and experience with Python, Fortran and/or GPU computing
HPC and parallel libraries such as OpenMP and MPI
HPC parallel IO libraries such as HDF5 or NetCDF
Experience with supercomputer tools (slurm, sbatch, etc), packaging and deployment

In accordance with CEA's commitments to the integration of people with disabilities, this position is open to everyone. The CEA offers accommodations and/or organizational arrangements for the inclusion of workers with disabilities.

Postuler

En cliquant sur « Postuler maintenant », vous acceptez que vos données soient transmises au recruteur qui a publié cette offre. La société Yupeek s’engage pour la protection des données à caractère personnel. Vous bénéficiez d’un droit d’accès, de rectification, d’opposition, de suppression et de portabilité de vos données, ainsi que du droit d’obtenir la limitation de leur traitement. Vous pouvez exercer vos droits en contactant le Délégué à la protection des données (DPO) de Yupeek par mail à dpo@yupeek.com, ou par courrier à Yupeek - à l’attention du DPO, 11 rue Pierre Simon de Laplace 57070 Metz. Vous disposez également de la possibilité d’introduire une réclamation auprès de la CNIL si vous estimez que le traitement de vos données n’est pas effectué conformément aux dispositions applicables. Pour en savoir plus sur la gestion de vos données et de vos droits vous pouvez consulter notre politique de protection des données à caractère personnel.

Upload ton CV