Optimization of Monte Carlo Neutron Transport Simulations with Emerging Architectures Yunsong Wang
Total Page:16
File Type:pdf, Size:1020Kb
Optimization of Monte Carlo Neutron Transport Simulations with Emerging Architectures Yunsong Wang To cite this version: Yunsong Wang. Optimization of Monte Carlo Neutron Transport Simulations with Emerging Archi- tectures. Distributed, Parallel, and Cluster Computing [cs.DC]. Université Paris Saclay (COmUE), 2017. English. NNT : 2017SACLX090. tel-01687913 HAL Id: tel-01687913 https://pastel.archives-ouvertes.fr/tel-01687913 Submitted on 18 Jan 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. NNT : 2017SACLX090 THESE` DE DOCTORAT DE L’UNIVERSITE´ PARIS-SACLAY PREPAR´ E´ A` L’ECOLE´ POLYTECHNIQUE ECOLE´ DOCTORALE No 573 INTERFACES : APPROCHES INTERDISCIPLINAIRES / FONDEMENTS, APPLICATIONS ET INNOVATION Sp´ecialit´ede doctorat: Informatique par M. Yunsong Wang Optimization of Monte Carlo Neutron Transport Simulations by Using Emerging Architectures Th`ese pr´esent´ee et soutenue `a Gif-sur-Yvette, le 14 d´ecembre 2017 : Composition de jury : M. Marc Verderi Directeur de Recherche, CNRS/IN2P3/LLR Pr´esident du jury M. Andrew Siegel Expert Senior, Argonne National Laboratory Rapporteur M. Raymond Namyst Professeur, Universit´ede Bordeaux/LABRI Rapporteur M. David Chamont Charg´ede Recherche, CNRS/IN2P3/LAL Examinateur M. David Riz Ing´enieur,CEA/DAM Examinateur M. Christophe Calvin Directeur de Recherche, CEA/DRF Directeur de th`ese M. Fausto Malvagi Expert Senior, CEA/DEN Encadrant M. Emeric Brun Ing´enieur,CEA/DEN Encadrant R´esum´e Les m´ethodes Monte Carlo (MC) sont largement utilis´eesdans le domaine du nucl´eaire pour r´esoudreles ´equationsdu transport neutronique. Ce type de m´ethode stochastique offre l’avantage de minimiser les approximations mais pr´esente un taux de convergence lent r´egitpar la loi des grands nombres, ce qui rend les simulations tr`escoˆuteuses en termes de temps de calcul. Auparavant, l’´evolution r´eguli`erede la puissance des processeurs permettait d’am´eliorerles performances du code sans avoir `areconcevoir les algorithmes. De nos jours, avec l’av`enement des architectures many-cœurs (Intel MIC) et les acc´el´erateurs mat´eriels,les travaux d’optimisation sont indispensables et sont une pr´eoccupation importante de la communaut´eMC. Dans ce type de simulation, les calculs les plus coˆuteuxconcernent le calcul des sec- tions efficaces, qui mod´elisent l’interaction probabiliste d’un neutron avec les nucl´eides qu’il rencontre sur sa trajectoire, au niveau microscopique. L’approche convention- nelle consiste `apr´e-calculer avant la simulation les sections efficaces de chaque type de nucl´eide,`achaque temp´eratureintervenant dans le syst`eme`apartir des informations des biblioth`equesde donn´eesnucl´eaires, et rang´edans des tables index´eespar l’´energie incidente. Ces donn´eessont ensuite charg´eesen m´emoire.Pendant le calcul, elles sont ensuite r´ecup´er´eesdans des tables et le caract`erestochastique du transport MC induit des acc`es`ala m´emoireal´eatoires pour un coˆutde calcul minime correspondant `aune interpolation lin´eaire. Dans ce cas, l’essentiel du temps de calcul se concentre sur des recherches dans ces tables de probabilit´es,qui sont de tailles tr`esvariables en fonction de chaque nucl´eide. Afin de minimiser les conflits d’acc`esm´emoire,nous avons ´etudi´eet optimis´eune vaste collection d’algorithmes de recherche afin d’acc´el´ererce processus de r´ecup´erationde donn´ees.Dans un premier temps, nous avons ´etudi´eet propos´eplusieurs alternatives `a la recherche binaire conventionnelle, telles que la recherche N-aire (variante vectoris´ee de la recherche binaire) et la recherche lin´eairevectoris´ee. Les ´evaluations montrent qu’une acc´el´erationsignificative peut ˆetreobtenue par rapport `ala recherche binaire conventionnelle `ala fois sur CPU classique et architecture many-cœurs. Cependant, la recherche N-aire n’est pas plus performante que la recherche binaire, ce qui indique que les efforts de vectorisation sont p´enalis´espar des acc`esdispers´eset une mauvaise utilisation du cache. La vectorisation de certains des algorithmes s’est montr´eeefficace sur l’architecture MIC grˆace`ases unit´esvectorielles de 512 bits. Cette am´elioration est moins nette sur CPU, o`ules registres vectoriels ´etant deux fois plus petits. Dans la seconde partie, nous avons ´etudi´edes multiples structures de donn´eespossibles per- mettant d’optimiser l’acc`esaux tableaux des sections efficaces. Ainsi, la grille d’´energie unifi´eeest la plus performante dans tous les cas. Ce type de m´ethode synth`etisetous les i ii tableaux en un seul, donc la recherche dans la table n’a besoin d’ˆetreeffectu´eequ’une seule fois pour chaque calcul de section efficace macroscopique. Cascade fractionnaire, un compromis similaire utilisant moins d’espace m´emoire,est ´egalement impl´ement´ee et ´evalu´ee. Les m´ethodes d’acc`espar tables de hachage, avec des strat´egiesde hachage lin´eaireset logarithmiques, pr´esente le meilleur compromis entre performance et em- preinte m´emoire.A partir de ces algorithmes existent, nous avons propos´ele N-ary map en utilisant des tampons suppl´ementaires pour assurer des acc`esm´emoireefficaces lors du chargement des bordures dans les registres vectoriels. Toutes ces variantes sont ´evalu´ees sur les syst`emesde multi-cœurs et de many-cœurs. Cependant, ils sont redoutablement inefficaces du fait de la saturation de la m´emoireet du manque de vectorisation de ces algorithmes. En d’autres termes, la puissance de calcul des architectures modernes est en grande partie gaspill´ee.Une optimisation suppl´ementaire comme la r´eductionde la m´emoires’av`eretr`esimportante car elle am´elioreen grande partie les performances in- formatiques. Un autre probl`ememajeur de ces m´ethodes est l’empreinte m´emoiretr`es importante qu’elles induisent quand un grand nombre de temp´eraturessont `aconsid´erer comme par exemple dans le cadre d’un couplage `ala thermo-hydraulique. En effet, les sections efficaces `aune temp´eraturepour les quatre cent noyaux impliqu´eesdans une simulation repr´esentent pr`esd’un gigaoctet d’espace m´emoire,ce qui rend impossible la simulation `aplusieurs centaines de temp´eratures. Afin de r´esoudrece probl`eme,nous avons ´etudi´eune approche radicalement oppos´ee : la reconstruction au vol des sections efficaces. L’id´eeest de r´ealiserle calcul des sec- tions efficaces `apartir des donn´ees ´el´ementaires se trouvant dans les biblioth`eques de donn´eesnucl´eaires (description des r´esonances) ainsi que le traitement en temp´erature (´elargissement Doppler) pendant la simulation, `achaque fois qu’une section efficace est n´ecessaire.Cet algorithme, tr`escalculatoire, repose sur une formulation similaire `acelle utilis´eedans le calcul des biblioth`equesstandards de neutronique. Cette approche per- met de passer d’un probl`emede type “memory-bound” `aun probl`emede type “compute- bound” : seules quelques variables pour chaque r´esonancesont n´ecessairesau lieu de la table conventionnelle. L’espace m´emoire est ainsi largement r´eduit,ainsi que les con- flits d’acc`es. Cette m´ethode est cependant extrˆemement coˆuteuseen temps de calcul. Apr`esune s´eried’optimisations, les r´esultatsmontrent que le noyau de reconstruction b´en´eficiede la vectorisation et peut atteindre 1,806 GFLOPS (en simple pr´ecision)sur un Knights Landing 7250, ce qui repr´esente 67% de la puissance crˆete. Cela permet d’envisager des simulations `aplusieurs centaines de temp´eratures,ce qui est impossible avec une approche classique. Mˆemesi ces efforts d’optimisation am´eliorent significativement la performance, ce calcul iii `ala vol´eereste encore beaucoup plus lent que les m´ethodes de recherche convention- nelles. Les travaux futurs devront donc se concentrer sur les optimisations algorith- miques comme des m´ethodes de fenˆetragede multipole. Si ce travail s’est concentr´esur les architectures many-cœurs, les impl´ementations sur acc´el´erateurgraphique (GPGPU) m´eritent d’ˆetre´etudi´eespour esp´ereratteindre des performances plus ´elev´ees. D’autre part, la prise en compte de l’efficacit´e´energ´etiquedevient cruciale pour ´evaluer les algo- rithmes sur les architectures modernes. Une solution de compromis entre la performance maximale et la consommation d’´energieest d´esormaisn´ecessaires.Ainsi les algorithmes propos´esdevront ˆetrer´eexamin´essous l’angle de la consommation ´energ´etiqueet pas uniquement sur leur performance brute ou leur occupation m´emoire. Acknowledgements I would firstly like to thank my thesis director, Christophe Calvin, for the opportunity he has given me as a Ph.D. student, and for his lightning-fast supports every time I was in trouble. I am grateful for his wise guidance and inclusiveness throughout my three year’s study. I acknowledge my advisor, Fausto Malvagi, for his patience with me, and his willingness to share his invaluable insights to the field. I really miss the discussions we had every Friday after lunch in his office. I would also like to thank my advisor, Emeric Brun, for the aids he offered to deal with technical issues. I am grateful to him for remembering my girlfriend’s birthday during countless ssh connections. I thank Fran¸cois-Xavier Hugot for introducing OCaml as well as his skillful codes. I want to express my gratitude to Philippe Thierry of Intel, for always providing us with the latest hardware. I would like to thank David Chamont for his role as my academical advisor. Specifically, I thank Pierre Gu´erinof EDF R&D for guiding me into the field of HPC and Monte Carlo transport. I thank the director of Maison de la Simulation, Edouard Audit, for accepting me to study at this laboratory.