Neutron Monte-Carlo transport for nuclear energy

PATMOS is a neutron Monte-Carlo transport code developed at CEA. It prototypes the next generation of applications used for nuclear safety and radiation shielding.

While those methods are used as reference for nuclear industry codes, they lead to a large amount of computation. Therefore, massive parallelism is required to speed up the simulation process. For this purpose, PATMOS is written in C++ and relies on the hybrid MPI+OpenMP programming model to express such parallelism. MPI is used to exploit multiple compute nodes while OpenMP has been added to reduce the memory footprint. The target simulation is to model the irradiation cycle of a full nuclear reactor core. This kind of simulation requires several hundreds of thousands of cores.

Within DEEP-SEA, the main goal is to adapt PATMOS to the MSA and to exploit the heterogeneous amount of resources available in such next generation supercomputers. Thus, multiple levels of memory spaces will be enabled inside the code based on developments made in the work package “Node-level programming”. Furthermore, the application will be extended to exploit heterogeneous compute units (e.g., CPUs+GPUs) and deployed on multiple modules based on work done in the work package “Software Architecture and System Software” and “System-level programming”.