1 year position to integrate and evaluate the unified parallel runtime MPC in SMILEI   

The coming up of many-cores architecture in the HPC landscape caused the introduction of new ways to express parallelism. Up to now, parallelism of simulation codes consists mostly in mixing MPI with a fine grain shared memory paradigm as OpenMP.
To go further, la Maison de la Simulation and CEA/DAM propose to integrate and test on the Particles-In-Cells simulation code Smilei (http://www.maisondelasimulation.fr/smilei) a new approach introducing MPC (http://mpc.hpcframework.paratools.com).
Smilei is a 3D Particles-In-Cells (C++, Python) code developed by la Maison de la Simulation and plasma physics labs to face needs born of the arrival of the 10 PW laser Apollon in Saclay : an efficient and ergonomic tool accessible to laser-plasma interaction physicists.
The parallel performance is on one side managed through a MPI and OpenMP runtime stacking which supports a load balancing of the computation cost inherent to Particles-In-Cells simulations. On the other side, efforts have been done to adapt Smilei to SIMD technologies.
The ergonomic part is handled by an onboard Python interpreter which allows user to model plasma according to its needs.
MPC, for Multi-Processor Computing, has been developed by CEA/DAM for 10 years to provide a unified programming model to handle distributed and shared memory paradigm.
To achieve this, MPC is based on its own MPI and OpenMP implementations, which support MPI 3.1 and OpenMP 3.1 API versions.
Regarding Smilei, MPC allow to release communications constraints unifying both programmation model and so reduce its cost.


The challenge for the recruited person which will be hired for a 1 year contract will be, first, to run and evaluate the behavior of Smilei using MPC as a regular MPI library, with its process-based implementation, before looking for better performances by exploiting its thread-based implementation. This achievement will be mainly enabled by a better integration of the Python interpreter embedded by all MPI processes. The evaluation will be hosted by CEA and GENCI supercomputers.
This evaluation process will lead to identify Smilei’s communication patterns which will be especially developed in MPC to optimize its integration in Smilei.
The position will be located alternatively at la Maison de la Simulation and in CEA/DAM according to the task in progress.

Skills :

  • PhD or master's degree in a scientific domain strongly connected to HPC
  • C++, Python, MPI, OpenMP, Unix system

Contact :

  • Julien Dérouillat, julien.derouillat@cea.fr
  • Julien Jaeger, julien.jaeger@cea.fr
J. Derouillat, dépêche du 04/10/2017