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