PROPOSITION DE STAGE SERMA-05 Intitulé DÉVELOPPEMENT D

Transcription

PROPOSITION DE STAGE SERMA-05 Intitulé DÉVELOPPEMENT D
PROPOSITION DE STAGE SERMA-05
Intitulé
DÉVELOPPEMENT D'UNE GÉOMETRIE PARALLÈLE POUR UN CODE DE TRANSPORT MONTE CARLO
Contexte du stage
Depuis 20 ans le CEA développe le code TRIPOLI-4 [1], un outil de calcul scientifique simulant le transport de particules
(neutron, photon, électron, positron) par la méthode Monte Carlo. L'avantage principal de cette méthode est
d'introduire très peu d'approximations physiques, mais conduit en contrepartie à des temps de calcul importants.
Pour réduire ces temps de calcul, les codes de transports Monte Carlo ont depuis longtemps eu recours au
parallélisme (essentiellement à mémoire distribuée).
Toutefois, l'évolution de l'architecture des ordinateurs et des supercalculateurs pour atteindre l'exascale (parallélisme
massif, architectures hétérogènes à base d'accélérateurs, unités vectorielles, …) et les ambitions de réaliser des simulations de plus en plus détaillées nécessitent de repenser l'architecture informatique des codes actuels ainsi que
les choix d'algorithmes.
Dans ce contexte, le Laboratoire de Transport Stochastique et Déterministe (LTSD) au CEA Saclay développe une miniapplication (nommée PATMOS pour PArticle Transport Monte Carlo Object-Oriented System) pour préparer le code de
transport Monte Carlo du futur. PATMOS est représentatif d'un vrai code de transport Monte Carlo mais avec une
physique partielle. D'un point de vue informatique, PATMOS est développé en C++11/14, en orienté objet et dispose
d'un parallélisme hybride (mémoire partagée et mémoire distribuée).
Sujet du stage
Une étape nécessaire et importante d'un calcul de transport Monte Carlo est la poursuite géométrique des particules
dans la géométrie du système simulé (localisation du volume dans lequel se situe la particule, calcul de distance à la
prochaine frontière…). Dans PATMOS, la poursuite géométrique a été déléguée à la librairie ROOT [2] développée par
le CERN.
À court terme, nous souhaiterions disposer d'un moteur de poursuite « interne » que l'on puisse optimiser pour les
types de simulation et le parallélisme propres à PATMOS. Le travail de stage sera donc le suivant :

Récupération du moteur de géométrie du code open-source du MIT OpenMC [3] (~1000 lignes de Fortran 90)
et réécriture en orienté objet C++.

Analyse des performances (« profiling ») et optimisations pour les géométries de réacteur de type REP
(utilisation des notions de réseau, de cylindres imbriqués, etc.)

Si le temps le permet, extension des algorithmes aux géométries maillées en tétraèdres (provenant d'un
logiciel de conception assisté par ordinateur).
[1] Brun, E., Damian, F., Diop, C. M., Dumonteil, E., Hugot, F. X., Jouanne, C., ... & Trama, J. C. (2015). Tripoli-4®, CEA,
EDF and AREVA reference Monte Carlo code. Annals of Nuclear Energy, 82, 151-160.
[2] Brun, R., & Rademakers, F. (1997). ROOT --an object oriented data analysis framework. Nuclear Instruments and
Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, 389(1), 8186.
[3] Romano, P. K., & Forget, B. (2013). The OpenMC Monte Carlo particle transport code. Annals of Nuclear Energy, 51,
274-281.
Profil du stagiaire
ème
Master 2 ou 3
année école d’ingénieur – Connaissances en physique des réacteurs et en informatique scientifique
Ce stage s'adresse à des élèves en Master 2 ou en dernière année d'école d'ingénieurs à forte dominante
informatique, avec de bonnes connaissances en programmation objet, C++, Fortran et parallélisme à
mémoire partagée (OpenMP).
Localisation du stage
Commissariat à l'énergie atomique et aux énergies alternatives (CEA), Centre de Saclay
DEN/DANS/DM2S/SERMA – Bât. 470
91191 GIF-SUR-YVETTE Cedex
Contacts
DEN/DANS/DM2S/SERMA/LTSD
Fausto MALVAGI : [email protected]
Franck GABRIEL : [email protected]
Tel : +33(0)1 69 08 89 49
Tel : +33(0)1 69 08 79 76