"Contributions à l'amélioration de l'extensibilité de simulations ...

of 159 /159

Embed Size (px)

Transcript of "Contributions à l'amélioration de l'extensibilité de simulations ...

  • THSEPRSENT

    L'UNIVERSIT DE BORDEAUX

    COLE DOCTORALE DE MATHMATIQUES ET D'INFORMATIQUE

    Par Fabien ROZAR

    POUR OBTENIR LE GRADE DE

    DOCTEUR

    SPCIALIT : INFORMATIQUE

    Contributions l'amlioration de l'extensibilit desimulations parallles de plasmas turbulents

    Soutenue le : 05 Novembre 2015

    Devant la commission d'examen compose de :Olivier Coulaud . . . . . Directeur de recherche, Inria Prsident du juryJean-Franois Mehaut Professeur, Univ. de Grenoble 1 RapporteurBoniface Nkonga . . . . . Professeur, Univ. de Nice Sophia-Antipolis RapporteurAlberto Bottino . . . . . Charg de recherche, IPP Garching, Allemagne ExaminateurAlain Ketterlin . . . . . Matre de confrence, Univ. de Strasbourg ExaminateurGuillaume Latu . . . . . . Ingnieur-chercheur, CEA Cadarache Co-encadrantJean Roman . . . . . . . . . . Professeur, Inria et Bordeaux INP Directeur de thse

    2015

  • Rsum

    Les besoins en nergie dans le monde sont croissants alors que les ressources ncessairespour la production d'nergie fossile s'puisent d'anne en anne. Un des moyens alternatifs pourproduire de l'nergie est la fusion nuclaire par connement magntique. La matrise de cetteraction est un d et constitue un domaine actif de recherche.

    Pour amliorer notre connaissance des phnomnes qui interviennent lors de la raction defusion, deux approches sont mises en uvre : l'exprience et la simulation. Les expriencesralises grce aux Tokamaks permettent de prendre des mesures. Ceci ncessite l'utilisationdes technologiques les plus avances. Actuellement, ces mesures ne permettent pas d'accder toutes chelles de temps et d'espace des phnomnes physiques. La simulation numriquepermet d'explorer ces chelles encore inaccessibles par l'exprience. Les ressources matriellesqui permettent d'eectuer des simulations ralistes sont consquentes. L'usage du calcul hauteperformance (High Performance Computing HPC) est ncessaire pour avoir accs cessimulations. Ceci se traduit par l'exploitation de grandes machines de calcul aussi appelessupercalculateurs.

    Les travaux raliss dans cette thse portent sur l'optimisation de l'application Gysela quiest un code de simulation de turbulence de plasma. L'optimisation d'un code de calcul scientiquevise classiquement l'un des trois points suivants : (i) la simulation de plus grand domaine decalcul, (ii) la rduction du temps de calcul et (iii) l'amlioration de la prcision des calculs.

    La premire partie de ce manuscrit prsente les contributions concernant la simulation deplus grand domaine. Comme beaucoup de codes de simulation, l'amlioration de la prcision dela simulation est souvent synonyme de ranement du maillage. Plus un maillage est n, plus laconsommation mmoire est grande. De plus, durant ces dernires annes, les supercalculateursont eu tendance disposer de moins en moins de mmoire par cur de calcul. Pour ces raisons,nous avons dvelopp une bibliothque, la libMTM (Modeling and Tracing Memory), ddie l'tude prcise de la consommation mmoire d'applications parallles. Les outils de la libMTMont permis de rduire la consommation mmoire de Gysela et d'tudier sa scalabilit. l'heure actuelle, nous ne connaissons pas d'autre outil qui propose de fonctionnalits quivalentespermettant une tude prcise de la scalabilit mmoire.

    La deuxime partie de ce manuscrit prsente les travaux concernant l'optimisation dutemps d'excution et l'amlioration de la prcision de l'oprateur de gyromoyenne. Cetoprateur est fondamental dans le modle gyrocintique qui est utilis par l'application Gysela.L'amlioration de la prcision vient d'un changement de la mthode de calcul : un schma bas surune interpolation de type Hermite vient remplacer l'approximation de Pad. Il s'avre que cettenouvelle version de l'oprateur est plus prcise mais aussi plus coteuse en terme de temps decalcul que l'oprateur existant. An que les temps de simulation restent raisonnables, direntesoptimisations ont t ralises sur la nouvelle mthode de calcul pour la rendre trs comptitive.Nous avons aussi dvelopp une version paralllise enMPI du nouvel oprateur de gyromoyenne.La bonne scalabilit de cet oprateur de gyromoyenne permettra, terme, de rduire des cotsen communication qui sont pnalisants dans une application parallle comme Gysela.

    Mots cls : Calcul haute performance, Scalabilit mmoire, Mathmatiques appliques,Physique des plasmas.

    Equipe-projet commune HiePACS, Inria Bordeaux Sud-OuestLaBRI (UMR CNRS 5800), Universit de Bordeaux, Bordeaux INPInstitut de Recherche sur la Fusion par connement Magntique, CEA CadaracheMaison de la Simulation, USR 3441, CEA/CNRS/ Inria /Univ. Paris-Sud /Univ.Versailles

  • Abstract

    Energy needs around the world still increase despite the resources needed to produce fossilenergy drain o year after year. An alternative way to produce energy is by nuclear fusion throughmagnetic connement. Mastering this reaction is a challenge and represents an active eld of thecurrent research.

    In order to improve our understanding of the phenomena which occur during a fusion re-action, experiment and simulation are both put to use. The performed experiments, thanks toTokamaks, allow some experimental reading. The process of experimental measurements is ofgreat complexity and requires the use of the most advanced available technologies. Currently,these measurements do not give access to all scales of time and space of physical phenomenon.Numerical simulation permits the exploration of these scales which are still unreachable throughexperiment. An extreme computing power is mandatory to perform realistic simulations. Theuse of High Performance Computing (HPC) is necessary to access simulation of realistic cases.This requirement means the use of large computers, also known as supercomputers.

    The works realized through this thesis focuses on the optimization of the Gysela code whichsimulates a plasma turbulence. Optimization of a scientic application concerns mainly one ofthe three following points : (i) the simulation of larger meshes, (ii) the reduction of computingtime and (iii) the enhancement of the computation accuracy.

    The rst part of this manuscript presents the contributions relative to simulation of largermesh. Alike many simulation codes, getting more realistic simulations is often analogous to renethe meshes. The ner the mesh the larger the memory consumption. Moreover, during these lastfew years, the supercomputers had trend to provide less and less memory per computer core.For these reasons, we have developed a library, the libMTM (Modeling and Tracing Memory),dedicated to study precisely the memory consumption of parallel softwares. The libMTM toolsallowed us to reduce the memory consumption of Gysela and to study its scalability. As faras we know, there is no other tool which provides equivalent features which allow the memoryscalability study.

    The second part of the manuscript presents the works relative to the optimization of thecomputation time and the improvement of accuracy of the gyroaverage operator. This operatorrepresents a corner stone of the gyrokinetic model which is used by the Gysela application. Theimprovement of accuracy emanates from a change in the computing method : a scheme basedon a 2D Hermite interpolation substitutes the Pad approximation. Although the new version ofthe gyroaverage operator is more accurate, it is also more expensive in computation time thanthe former one. In order to keep the simulation in reasonable time, dierent optimizations havebeen performed on the new computing method to get it competitive. Finally, we have developeda MPI parallelized version of the new gyroaverage operator. The good scalability of this newgyroaverage computer will allow, eventually, a reduction of MPI communication costs which arepenalizing in Gysela.

    Keywords : High performance computing, Memory scalability, Applied mathematics, Plasmaphysics.

    Equipe-projet commune HiePACS, Inria Bordeaux Sud-OuestLaBRI (UMR CNRS 5800), Universit de Bordeaux, Bordeaux INPInstitut de Recherche sur la Fusion par connement Magntique, CEA CadaracheMaison de la Simulation, USR 3441, CEA/CNRS/ Inria /Univ. Paris-Sud /Univ.Versailles

  • v

    Remerciements

    Dans un souci de rigueur, je commencerai dans cette partie par remercier chaleureusementmon jury de thse. Merci Boniface Nkonga pour son regard vif et clair son mon manuscritet pour ses remarques toujours pertinentes. Merci Jean-Franois Mhaut pour l'intrt qu'ila port mes travaux et pour les discussions pleines d'ides qui ont eu lieu avant et durantla soutenance. Je remercie Alberto Bottino de s'tre intress mon travail et d'avoir fait ledplacement pour contribuer mon jury. De mme, merci Alain Ketterlin pour les courtes(peut-tre trop courtes) discussions qu'on a pu avoir durant ma thse et pour avoir contribu mon jury. Je tiens remercier particulirement Olivier Coulaud, prsident du jury, qui a accepttrs rapidement de faire partie de mon jury, sans qui les choses auraient t plus compliques.J'ai eu l'honneur d'avoir comme directeur de thse Jean Roman que j'ai souvent sollicit durantces trois ans et que je remercie pour son regard aguerri dans le domaine du calcul intensif et poursa bienveillance. Je remercie bien videmment mon encadrant de thse, Guillaume Latu, pours'tre si bien occup de moi durant mon doctorat et mon stage de n d'tude (parfois jusquetard le soir, parfois durant les weekends et mme aprs la n de mon doctorat), sans sa bonnehumeur et son aide, mon travail en aurait certainement ptit. Je le remercie aussi de m'avoirfait participer deux CEMRACS qui ont jou un rle important pour le droulement de mondoctorat. Je n'oublie pas les invits, savoir Michel Mhrenberger avec qui j'ai travaill en troitecollaboration durant la seconde partie de ma thse, merci de m'avoir enrl si rapidement auxtravaux sur la gyromoyenne (clin d'il spcial Christophe Steiner), et Virginie Grandgirard quej'appelle parfois "maman Gysela" avec qui j'ai eu le plaisir de collaborer durant l'intgralitde mon doctorat (je n'oublie pas bien sr les joyeuses soires villelauraines auxquelles tu m'asconvi ;-)).

    La thse a t une grande aventure pour ma part, et j'ai beaucoup appris en chemin. Cechemin aurait t bien dirent si je n'avais pas eu la chance de croiser tout au long de ma routedes collgues et amis forts agrables. Je remercie Damien Estve (alias Daminou) de m'avoirsupport dans le bureau durant ma premire anne de thse et de m'avoir tant fait rigoler c'qui parat, c'qui parat (il comprendra :-p). La superbe ambiance qui rgne dans lelaboratoire IRFM existe grce aux nombreux non permanents et jeunes permanents : ThomasCartier-Michaud (alias TC), Hugo Arnichand (alias Boby), Alexandre Fil (alias Filou), HugoBuerand, Laurent Chon, Clothilde Colin-Bellot (du M2P2 de Marseille, mais je te comptequand mme), Jean-Baptiste Girardo, Romain Futtersack, Claudia Norcini, Walid Helou, LaurentValade (l'exceptionnel ;) ), Jae-heon Ahn, Olivier Fvrier, Cristian Sommariva, Laura Mendoza(de Garching), Camille Baudoin, Nicolas Nace, merci vous tous pour les nombreuses soirespartages .

    L'ambiance chaleureuse de l'IRFM ne serait pas la mme sans ses membres permanents.Je commencerai par remercier Chantal Passeron qui a toujours t l quand j'avais des soucisinformatiques (et oui, a arrive plus frquemment qu'on ne le croit). Je ne peux pas oublier lesexperts physiciens que sont Philippe Ghendrih, Xavier Garbet et Yanick Sarazin pour qui j'aile plus grand respect. Je remercie Patrick Tamin pour sa combativit sportive (je pense que jedois attendre ta retraite au badminton pour pouvoir te battre '). Je remercie Guilhem Dif-Pradalier, certes pour ses conseils et sa vision claire des thmatiques abordes par ma thse,mais surtout pour sa contribution exceptionnelle le jour de mon pot de thse ;-).

    Enn, je remercie Jennyfer Obry et Olivier Maegey qui ont t mes colocataires sur Aixen Provence durant un an et demi. Je n'oublierai pas non plus ta contribution indispensableOlivier le jourJ de ma soutenance pour la russite de mon pot de thse ;-). Lors de mes sjours Cadarache durant la seconde partie de ma thse, j'ai souvent t en squatte la coloc forme de

  • vi

    Hugo (Boby), Damien (Daminou), Katia, Davide Galassi et Clment Nguyen Than Dao : merci vous de m'avoir accueilli si souvent et toujours dans la bonne humeur .

    Quand je pense au CEA Cadarache, je ne peux pas m'empcher d'avoir une pense pource qui y sont passs et que j'ai eu la chance de croiser : Jonathan Faustin, Alvin Sashalanaik,Olivier Thomine, Victor Moncada, Jeremie Abiteboul, Antoine Merle, Antoine Strugarek, DidierVzinet, Sabine Cockenpot, David Zarzoso, Grgoire Hornung, Timothe Nicolas, Jorge Morales,Yue Dong, Franois Orain, Farah Hariri, vous tous, merci d'avoir contribu la vie l'extrieurdu laboratoire ("ce soir, un p'tit sextius ou pas ?") :D.

    Durant la seconde partie de ma thse, j'ai eu la chance de travailler la Maison de laSimulation (CEA Saclay) et surtout de rencontrer des gens sympathiques travaillant sur desthmatiques diverses. Parmi mes collgues de la MdlS, je remercie tout d'abord Julien Bigot pourtoutes ses contributions l'amlioration des conditions de dveloppement de Gysela (c'taitvraiment une boue d'oxygne) et pour toutes ses qualits dans la vie l'extrieur du labo.Thank you Ralitsa Ivanova to give me the opportunity to discover the squash, a sport I really loveto play with you partner ;-) and thank you to have made MdlS a really funny place to work :-).Merci Sbastien Cayrols pour tout, pour les dbats techniques, pour les challenges, pour tonhumour, pour avoir jou au taxi pour moi... franchement je regrette que tu n'aies pas t plussouvent l la MdlS parce qu'on se marrait vachement bien quand mme. J'en connais une autrequi a jou au taxi pour moi, et oui c'est de toi que je parle Florence Drui, merci pour a, etsurtout merci d'avoir si souvent dlir avec moi :D. Mme si tu n'tais plus la MdlS la nde mon doctorat Maxime Delorme, j'ai une pense pour toi et je garde un trs bon souvenir denos changes (souvent techniques) et de nos dlires (souvent nawak :-p). Merci Adeline Holtonpour sa bonne humeur, son sourire et ses conseils capillaires. Merci Matthieu Haefele qui m'asouvent donn de trs bons conseils biens utiles pour la progression de mon travail. Au mmetitre je remercie Samuel Kock qui m'a vraiment fourni un support en mathmatiques de trs hautstanding et tout simplement pour sa gentillesse (tu as rellement jou un rle de co-encadrant des moments cl de ma thse). Thomas Dufaud, malgr le fait qu'on n'ait pas (encore) pu boirece dernier verre ensemble (on pourra toujours trouver une autre occasion ;-)), je te remercie dem'avoir aid sur un bout de ce manuscrit, mme si ce n'tait peut-tre pas grand chose, a m'afait du bien psychologiquement ; et merci pour les nombreux dbats (souvent non termins) qu'ona eus. Quand je pense Maximilien Levesque j'ai tout de suite le sourire, tu es un vrai scientiqueau sens noble du terme, toujours ouvrir ses horizons, c'tait trs instructif de discuter avec toi.Je remercie Thibault Gasc pour ses bons tuyaux et sa contribution la bonne ambiance du labo.Rcemment arriv, Yacine Ould-Rouis est un sacr personnage, toujours de bonne humeur mmequand il est en grande dicult, un compagnon toujours avoir ses cts. Parmi les nouvellesrecrues mais dj trs actives, je remercie Maxime Stauert, que j'ai que trop peu eu l'occasionde voir, pour sa curiosit et la franche camaraderie qui s'est installe entre nous. Parmi ceuxqui ne sont plus de la MdlS, je remercie Rehan Malak et Frdrique Dauvergne pour les sessionsescalade toujours accompagnes de la bire de la rcompense .

    Je remercie tous les collgues et anciens collgues du labo : Pierre-Elliott Bcue, Lu Ding,Nicolas Doucet, Mohamed Gaalich, Giorgio Giogiani, Esra Karakas (que je n'ai pas assez vue),Rudi Leroy, France Boillod-Cerneux, Jeanier Vides, Sophie Flix et Yunsong Wang, pourm'avoir fait vivre des moments bien joyeux. La MdlS ne serait pas ce qu'elle est sans ses membrespermanents : Edouard Audit, Julien Drouillat, Michel Kern, Pierre Kestener, Daniel Borgis,Martial Mancip, Philippe Bigeon, Mathieu Salanne et Pascal Tremblin qui ont t l quandj'avais besoin d'eux. Enn, je remercie tous les membres (actuels et anciens) du secrtariat, savoir Valrie Belle, Aurlie Monteiro, Adeline Holton ( nouveau) et Layla Tarondeau pourm'avoir guid travers les mandres administratifs du CEA et pour leur disponibilit sans faille.

  • vii

    Je fais un clin d'il spcial Cyril Vuagnoux pour les nombreuses bires qu'on a partagesensemble, Marwa Sridi pour tout ce que tu as fait pour moi et Stphanie Hoareau pourl'orthographe.

    Ayant mon directeur de thse chez Inria BordeauxSud-Ouest, j'ai eu l'occasion de revenirdans la ville de Bordeaux, l o j'ai fait mon cole d'ingnieur. Merci tous les membres del'quipe HiePACS qui m'ont intgr trs vite dans le groupe et avec qui je garde de trs bonssouvenirs. P'tit clin d'il spcial Jean-Marie Couteyen que j'ai crois durant ma dernire anned'cole d'ingnieur et avec qui j'ai appris (je te souhaite bon courage pour le petit bout de cheminqu'il te reste faire avant la soutenance de thse ;-)). Je n'oublie pas M. Nicolas Bouzat, quej'ai encadr durant son stage et qui est maintenant en thse (la relve est assure), merci d'avoirengag tes forces sur le sujet que j'avais propos, et bon courage jeune padawan. J'adresse unremerciement spcial Brice Goglin pour les renseignements trs prcieux qu'il m'a fournis surdes comportements obscures du systme :-).

    Je terminerai cette section par des remerciements spciaux des personnes que j'ai croisestrop rapidement. Pour son cours et pour ses nombreux articles d'excellente qualit dans ledomaine de la fusion par connement magntique (pdagogique pour la plupart), je remercieEric Sonnendrcker grce qui ma comprhension de la physique a rellement volu. Enn,pour sa sympathie et la superbe introduction dans son manuscrit (c'est choupiment dit, non :-p),je remercie Cline Caldini-Queiros.

    Ce chemin n'aurait pas t possible sans le support et le soutien de ma famille au quotidienet que je remercie de m'avoir accompagn tout au long de cette route.

  • viii

  • Table des matires

    1 Introduction et contexte de l'tude 1

    1.1 Contexte physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.1.1 Installations exprimentales . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.1.2 La physique des plasmas . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.2 Calcul haute performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.3 Description du code Gysela . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.3.1 Hypothses du modle gyrocintique . . . . . . . . . . . . . . . . . . . 10

    1.3.2 Gysela : une application massivement paralllise . . . . . . . . . . . 11

    1.3.3 Consommation mmoire de Gysela . . . . . . . . . . . . . . . . . . . 14

    1.3.4 Cycle et environnement de dveloppement . . . . . . . . . . . . . . . 16

    1.4 Positionnement et contribution de la thse . . . . . . . . . . . . . . . . . . . 18

    Partie I Etude de la consommation mmoire 21

    2 Modlisation de l'volution de la consommation mmoire grce la

    libMTM 23

    2.1 Travaux relatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.1.1 Outils de proling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.1.2 Exemple de modlisation analytique de consommation mmoire . . . . 26

    2.2 Description de la libMTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.2.1 Description de la mise en uvre globale de la libMTM . . . . . . . . 27

    2.2.2 Interface de programmation de la libMTM (API) . . . . . . . . . . . 27

    2.2.3 Exemple d'utilisation de la libMTM . . . . . . . . . . . . . . . . . . 32

    2.2.4 Format des chiers de traces . . . . . . . . . . . . . . . . . . . . . . . 32

    2.3 Analyse post-mortem des traces . . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.3.1 Implmentation du script de post-traitement . . . . . . . . . . . . . . 34

    2.3.2 Les sorties gnres au post-traitement . . . . . . . . . . . . . . . . . 35

    2.3.3 Prdiction de la consommation mmoire . . . . . . . . . . . . . . . . . 37

    ix

  • x Table des matires

    2.3.4 Extensions et limitations . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3 Rduction et tude de la consommation mmoire grce la libMTM 41

    3.1 Mthode incrmentale de rduction du pic mmoire (IRPM) . . . . . . . . . 42

    3.2 Application de la mthode IRPM . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.2.1 Itrations de la mthode IRPM . . . . . . . . . . . . . . . . . . . . . . 43

    3.2.2 Dtails d'une itration de la mthode IRPM . . . . . . . . . . . . . . 44

    3.3 Evaluation des surcots dus aux allocations dynamiques . . . . . . . . . . . . 45

    3.3.1 Exploration de direntes stratgies d'allocation + initialisation . . . 47

    3.3.2 Aperu du fonctionnement interne de l'allocateur standard : ptmalloc 49

    3.3.3 Limitation des interactions entre application et systme . . . . . . . . 50

    3.3.4 Mise en uvre d'une initialisation performante dans Gysela . . . . . 51

    3.4 Etudes ralisables grce l'outil de prdiction . . . . . . . . . . . . . . . . . 52

    3.4.1 Etude de la scalabilit mmoire . . . . . . . . . . . . . . . . . . . . . . 52

    3.4.2 Choix de paramtres pour les simulations de production . . . . . . . . 53

    3.4.3 Surveillance de la consommation mmoire (en perspective) . . . . . . 55

    Partie II tude et optimisation de l'oprateur gyromoyenne 57

    4 Calcul de l'oprateur de gyromoyenne 59

    4.1 Dnition de l'oprateur de gyromoyenne . . . . . . . . . . . . . . . . . . . . 60

    4.2 Gyromoyenne base sur une approximation de Pad . . . . . . . . . . . . . . 60

    4.2.1 Gyromoyenne exprime dans l'espace de Fourier . . . . . . . . . . . . 61

    4.2.2 L'approximation de Pad de la fonction de Bessel . . . . . . . . . . . 62

    4.2.3 Calcul de gyromoyenne bas sur l'approximation de Pad . . . . . . . 63

    4.2.4 Contraintes limitations de l'approximation de Pad . . . . . . . . . 64

    4.3 Gyromoyenne base sur l'interpolation d'Hermite . . . . . . . . . . . . . . . . 64

    4.3.1 Principe du calcul par mthode d'interpolation . . . . . . . . . . . . . 65

    4.3.2 Interpolation par polynme d'Hermite . . . . . . . . . . . . . . . . . . 66

    4.4 Description matricielle de la gyromoyenne . . . . . . . . . . . . . . . . . . . . 71

    4.4.1 Description matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    4.4.2 Implmentation initial de l'oprateur de gyromoyenne . . . . . . . . . 71

    4.4.3 Motif de la matrice Mcoef . . . . . . . . . . . . . . . . . . . . . . . . . 72

    4.4.4 Motif de la matrice Mfval . . . . . . . . . . . . . . . . . . . . . . . . . 73

    4.5 Optimisation de l'oprateur de gyromoyenne . . . . . . . . . . . . . . . . . . 74

    4.5.1 Structure de donnes pour un vecteur creux . . . . . . . . . . . . . . . 74

    4.5.2 Optimisation par blocage de boucle . . . . . . . . . . . . . . . . . . . 79

  • xi

    4.5.3 Optimisation par r-agencement d'lments . . . . . . . . . . . . . . . 80

    4.5.4 Catgorisation algorithmique des optimisations des eets de cache . . 81

    5 tude de l'oprateur de gyromoyenne base d'interpolation d'Hermite 83

    5.1 Dnition d'un type de fonctions gyromoyenne analytique . . . . . . . . . . 83

    5.2 Exemples de fonctions pour direntes conditions limites . . . . . . . . . . . 87

    5.3 Prcision de l'oprateur de gyromoyenne . . . . . . . . . . . . . . . . . . . . . 89

    5.3.1 1ere tude : l'inuence de . . . . . . . . . . . . . . . . . . . . . . . . 90

    5.3.2 2ieme tude : l'inuence de N . . . . . . . . . . . . . . . . . . . . . . . 91

    5.3.3 3ieme tude : l'inuence de la rsolution du maillage . . . . . . . . . . 92

    5.3.4 Bilan des tudes sur la prcision de la gyromoyenne . . . . . . . . . . 95

    5.4 Comparaison des temps d'excution : petits cas . . . . . . . . . . . . . . . . . 96

    5.5 Validation numrique : le cas test Cyclone . . . . . . . . . . . . . . . . . . . . 97

    6 Paralllisation en MPI de l'oprateur de gyromoyenne 103

    6.1 Solution pour un oprateur de gyromoyenne parallle . . . . . . . . . . . . . 104

    6.1.1 Dcomposition de domaine du plan polodal . . . . . . . . . . . . . . 104

    6.1.2 Calcul de la taille des zones fantmes . . . . . . . . . . . . . . . . . . 105

    6.1.3 Algorithme parallle de l'oprateur de gyromoyenne . . . . . . . . . . 107

    6.2 tude de performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    6.2.1 Strong scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    6.2.2 Pseudo weak scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    6.2.3 Bilan et perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

    6.3 Contraintes d'intgration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    Conclusion et perspectives 119

    Bibliographie 123

    Liste des publications 129

    Annexes 131

    A Contraintes de conception de la libMTM 133

    A.1 Utilisable dans dirents langages . . . . . . . . . . . . . . . . . . . . . . . . 133

    A.2 Utilisable sur direntes machines . . . . . . . . . . . . . . . . . . . . . . . . 134

  • xii Table des matires

    B Exemples avancs d'utilisation de la libMTM 135

    B.1 Allocations sensibles aux paramtres de fonction . . . . . . . . . . . . . . . . 135

    B.2 Allocations sensibles l'environnement d'excution . . . . . . . . . . . . . . . 136

    C Expression du polynme d'Hermite en 1D et 2D 139

    C.1 Expression du polynme d'Hermite en 1D . . . . . . . . . . . . . . . . . . . . 139

    C.2 Expression du polynme d'Hermite en 2D . . . . . . . . . . . . . . . . . . . . 140

    C.3 Reprsentation des fonctions de bases d'Hermite en 2D . . . . . . . . . . . . 142

  • Table des gures

    1.1 Raction de fusion entre Deutrium et Tritium . . . . . . . . . . . . . . . . . . . 21.2 Vue d'artiste du tokamak Iter en cours de construction . . . . . . . . . . . . . . . 41.3 Schma d'un tokamak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Schma de l'architecture de la machine Curie . . . . . . . . . . . . . . . . . . . . 81.5 Mouvement d'une particule charge dans un fort champ magntique . . . . . . . 101.6 Schma d'un pas de temps de l'application Gysela. . . . . . . . . . . . . . . . . 111.7 Schma du systme de coordonnes utilis dans Gysela. . . . . . . . . . . . . . . 121.8 Schma algorithme global de Gysela. . . . . . . . . . . . . . . . . . . . . . . . . 121.9 Cycle de dveloppement de Gysela . . . . . . . . . . . . . . . . . . . . . . . . . 171.10 Tendance dcroissante du ratio entre la quantit de mmoire disponible et le

    nombre de cur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.1 Intgration de la libMTM dans le cycle de dveloppement et de production d'uneapplication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    2.2 L'volution de la consommation mmoire durant l'excution du programme hello 362.3 Allocation et libration du tableau utilis durant l'excution du programme hello 362.4 L'volution de la consommation mmoire durant l'excution d'une courte

    simulation de Gysela. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.5 Allocations et dsallocations des tableaux utiliss dans diverses fonctions de

    Gysela. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    3.1 Visualisation simplie d'une trace mmoire. . . . . . . . . . . . . . . . . . . . . . 453.2 Visualisation aprs optimisation des allocations. . . . . . . . . . . . . . . . . . . . 453.3 Allocation persistante des structures. . . . . . . . . . . . . . . . . . . . . . . . . . 463.4 Allocation temporaire de certaines structures. . . . . . . . . . . . . . . . . . . . . 463.5 Pic mmoire en Go en fonction du nombre de processusMPI et de threadsOpenMP. 54

    4.1 Comparaison entre la fonction de Bessel J0 et son approximation de Pad . . . . 634.2 Calcul de gyromoyenne bas sur une mthode d'interpolation . . . . . . . . . . . 664.3 Reprsentation graphique des fonctions de la base d'Hermite. . . . . . . . . . . . 684.4 Les tapes tapes intermdiaires de l'interpolation 2D . . . . . . . . . . . . . . . 704.5 Motif d'un vecteur ligne Ri(Mcoef ) . . . . . . . . . . . . . . . . . . . . . . . . . . 734.6 Motif d'un vecteur colonne Cj(Mfval) . . . . . . . . . . . . . . . . . . . . . . . . 744.7 Permutation circulaire des Wf de Mfval . . . . . . . . . . . . . . . . . . . . . . . 754.8 Produit matrice-vecteur pour le calcul de N gyromoyennes . . . . . . . . . . . . 764.9 Produit scalaire creux pour le calcul d'une gyromoyenne . . . . . . . . . . . . . . 774.10 Exemple de la technique de blocage de boucle . . . . . . . . . . . . . . . . . . . . 80

    xiii

  • xiv Table des gures

    5.1 Partie relle et imaginaire de la fonction test f1 . . . . . . . . . . . . . . . . . . . 875.2 Illustration de la fonction d'entre f2 pour k 1, 2, 3, 4. . . . . . . . . . . . . . . 915.3 Comparaison de la gyromoyenne base sur l'approximation de Pad et sur

    l'interpolation d'Hermite. Convergence de l'oprateur en fonction du nombre depoints d'intgration. Paramtres : m = 1, Nr = N = 128, rmin = 0.1, rmax = 0.9et = 0.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    5.4 Etude de l'erreur E de la gyromoyenne base sur l'interpolation d'Hermite . . . . 945.5 Etude de l'erreur E de la gyromoyenne base sur l'interpolation d'Hermite . . . . 955.6 Comparaison des taux de croissance linaire sur le cas "Cyclone" . . . . . . . . . 99

    6.1 Dcomposition du maillage polodal . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.2 Gyromoyenne d'un point en bordure de domaine ; contribution de points fantmes 1066.3 Stencil autour d'un point source . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.4 Pour direntes valeurs du rayon de Larmor , les Figures 6.4a, 6.4c, 6.4e

    reprsentent les temps d'excution en secondes et les Figures 6.4b, 6.4d, 6.4fdonnent les ecacits relatives en pourcentage en fonction du nombre de processusMPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

    6.5 Pour direntes tailles du rayon de Larmor , les Figures 6.5a, 6.5b, 6.5creprsentent les temps d'excution en seconde en fonction du nombre de processusMPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

    C.1 Polynmes de la base d'Hermite en 2D (de P1,1 P2,2) . . . . . . . . . . . . . . . 143C.2 Polynmes de la base d'Hermite en 2D (de P2,3 P3,4) . . . . . . . . . . . . . . . 144C.3 Polynmes de la base d'Hermite en 2D (de P4,1 P4,4) . . . . . . . . . . . . . . . 145

  • Chapitre 1

    Introduction et contexte de l'tude

    Sommaire1.1 Contexte physique . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.1.1 Installations exprimentales . . . . . . . . . . . . . . . . . . . . . . 2

    1.1.2 La physique des plasmas . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.2 Calcul haute performance . . . . . . . . . . . . . . . . . . . . . . . 8

    1.3 Description du code Gysela . . . . . . . . . . . . . . . . . . . . . 9

    1.3.1 Hypothses du modle gyrocintique . . . . . . . . . . . . . . . . . 10

    1.3.2 Gysela : une application massivement paralllise . . . . . . . . . 11

    1.3.3 Consommation mmoire de Gysela . . . . . . . . . . . . . . . . . 14

    1.3.4 Cycle et environnement de dveloppement . . . . . . . . . . . . . . 16

    1.4 Positionnement et contribution de la thse . . . . . . . . . . . . 18

    Les travaux raliss au cours de cette thse sont en lien avec l'tude de la fusion nuclairecontrle par connement magntique. La simulation haute performance d'un plasma detokamak ncessite un environnement interdisciplinaire qui regroupe la physique des plasmas, lesmathmatiques appliques et l'informatique du calcul haute performance. Ce chapitre introduitle contexte scientique de ces travaux.

    La section 1.1 donne une vue d'ensemble des installations exprimentales et des fondementsthoriques qui ont t dvelopps par la communaut scientique pour tudier le comportementd'un plasma chaud au sein d'un tokamak. La section 1.2 introduit les supercalculateurs et lemodle de programmation parallle utilis par Gysela. Les architectures des supercalculateurssont complexes et motivent le dveloppement de modles de programmation adapts pourles exploiter au mieux. La section 1.3 dcrit le code Gysela qui est une application desimulation numrique massivement parallle. Une description du mouvement de giration d'uneparticule charge dans un champ magntique est donne. Ce phnomne est l'origine dumodle gyrocintique qui est utilis par Gysela. Les problmatiques relatives au calcul hauteperformance, tels que la paralllisation ainsi que la consommation mmoire de Gysela, sontintroduites dans cette section. Aujourd'hui, beaucoup de domaines scientiques utilisent lasimulation numrique et ont recours au calcul haute performance, ce qui en fait un outiltransverse. Ce chapitre se conclut sur le positionnement des travaux qui ont t mens dansle cadre de cette thse.

    1

  • 2 Chapitre 1. Introduction et contexte de l'tude

    1.1 Contexte physique

    Les besoins en nergie dans le monde sont de plus en plus importants et les nergiesfossiles s'puisent d'anne en anne alors qu'elles reprsentent actuellement la principale sourcenergtique. Dans ce contexte, la fusion nuclaire contrle ore une source alternative d'nergieprometteuse. En eet, dans le cas o le processus de fusion serait matris, cela permettrait deproduire de l'nergie de faon prenne et sre.

    Figure 1.1 Raction de fusion entre Deutrium et Tritium. Extrait de : http://www.fusenet.eu/node/36

    La raction qui intervient dans les centrales nuclaires actuelles est la ssion. Cette ractiongnre deux atomes plus lgers partir d'un atome lourd. La raction de fusion reprsente leprocessus inverse, c'est--dire la gnration d'un atome partir de deux atomes lgers. Dans lecur du soleil, la raction de fusion se produit naturellement une temprature de plusieursmillions de degr. L'histoire de la fusion contrle commence en 1920 grce au physicien/chimisteFrancis William Aston qui en mesurant le dfaut de masse de l'Hlium, tablit qu'il est possiblede rcuprer une importante quantit d'nergie en produisant un atome d'Hlium via la fusionde deux lments plus lgers 1. La Figure 1.1 schmatise la raction de fusion entre un atome deDeutrium et un atome de Tritium qui est techniquement la plus intressante et accessible, donccelle vise en premier lieu par les tokamaks.

    Bien que cette raction de fusion ait dj t ralise dans direntes installationsexprimentales, l'entretien de cette raction et son contrle au sein d'une machine de typetokamak est toujours un sujet actif de recherche. Cette prouesse technique reprsente un enjeuenvironnemental et conomique majeur. Contrairement la ssion, la raction de fusion ne peutpas s'emballer car la quantit de ractifs dans le tokamak est trs faible tout instant et elle doittre r-alimente en permanence. Cette raction est aussi plus propre car elle produit beaucoupmoins de dchets radioactifs avec des demies-vies beaucoup plus courtes (de l'ordre de 10 ans).

    1.1.1 Installations exprimentales

    La ralisation de la raction de fusion est un d de taille car les conditions de pression etde temprature qui permettent de favoriser la raction de fusion sont extrmes. Principalementdeux approches sont actuellement envisages pour raliser des ractions de fusion : la fusion parconnement inertiel et la fusion par connement magntique. Au CEA Cesta, le Laser Mgajoule

    1. Une chronologie des avancs historiques de la fusion contrle est disponible via le lien https://en.wikipedia.org/wiki/Timeline_of_nuclear_fusion

    http://www.fusenet.eu/node/36http://www.fusenet.eu/node/36https://fr.wikipedia.org/wiki/Confinement_inertiel_par_laserhttp://www-lmj.cea.fr/fr/experiences/index.htmhttps://en.wikipedia.org/wiki/Timeline_of_nuclear_fusionhttps://en.wikipedia.org/wiki/Timeline_of_nuclear_fusion

  • 1.1. Contexte physique 3

    ralise le processus de fusion par connement inertiel en concentrant des faisceaux lasers de grandeintensit sur une capsule de Deutrium/Tritium. On obtient une trs forte densit de particulessur un temps relativement court. Dans le processus de fusion par connement magntique laraction de fusion est obtenue au sein d'un plasma port trs haute temprature avec unedensit moins leve que dans le processus inertiel, mais sur un temps plus long. Les contributionsde cette thse concernent la simulation de l'approche par connement magntique.

    Le plasma est un tat de la matire. Dans les conditions de temprature et de pression denotre quotidien, la matire se trouve sous trois tats : solide, liquide et gazeux. Lorsqu'on chauetrs fortement un gaz, la matire se manifeste dans son quatrime tat : le plasma. Ce termea t introduit en 1928 par le physicien Irving Langmuir. Pour que la raction de fusion seproduise, la temprature requise au cur du plasma doit dpasser le millions de degrs dansun environnement o la pression est trs faible. Dans un plasma, les lectrons ne sont plus enrotation autour d'un noyau d'atome. l'tat plasma, la matire est un mlange de particulescharges d'ions et d'lectrons libres. Globalement, le plasma est lectriquement neutre. Bien qu'ilsoit naturellement quasiment absent sur Terre, hormis au cours des aurores borales aux ples,le plasma constitue 99% de la masse de l'Univers.

    L'tude de la matire l'tat plasma est un domaine part entire de la physiqueappel la physique des plasmas. Les recherches autour de ce domaine se dcomposent en troiscatgories : (i) la physique des plasmas industriels (tube non, cran plasma, satellite decommunication, gravure par plasma en micro-lectronique...), (ii) la physique des plasmasnaturels (astrophysique) et (iii) la physique des plasmas thermonuclaires. C'est de ce dernierdomaine dont il est question dans ce manuscrit.

    Bien que globalement neutre, le plasma est localement charg par les ions et les lectrons quile constituent. Il est donc possible de contrler son comportement et de le conner grce auxforces lectromagntiques. Nous nous intressons dans ce manuscrit aux installations de typetokamak, qui se constituent principalement d'une chambre torodale et de bobines autour decette chambre. L'exprimentation de la fusion par connement magntique est aussi accessiblegrce un autre type d'installation analogue au tokamak appel stellarator . Le stellarator connele plasma uniquement grce au champ magntique gnr par l'arrangement complexe de bobinele long du tore. Son tude ne fait pas l'objet de ce manuscrit.

    Au CEA Cadarache, l'Institut de Recherche sur la Fusion par connement Magntique(IRFM), les scientiques ralisent des expriences grce au tokamak Tore-Supra. Ces expriencespermettent de mieux connatre les mcanismes de fusion et les eets du connement magntiquesur le plasma. Elles consistent principalement tester direntes congurations de la machine, collecter un grand nombre de grandeurs physiques, puis les dpouiller et les interprter. Leprojet international International Thermonuclear Experimental Reactor, Iter, lanc en 2006 apour objectif de construire le plus grand tokamak au monde (voir Figure 1.2). Il est actuellementen cours de construction sur le site de Cadarache. L'objectif avec l'installation de rechercheIter est de dmontrer, techniquement et scientiquement, que la fusion peut devenir une sourced'nergie industrielle l'horizon 2050.

    La Figure 1.3 schmatise le connement du plasma au sein d'un tokamak. De faon usuelle,on distingue deux directions pour se reprer dans un tokamak. On parle de la direction torodalelorsqu'on considre la direction le long du grand rayon du tore et de la direction polodale lorsqu'onse restreint une section circulaire perpendiculaire la direction torodale. Les anneaux qui sesuccdent quidistance dans la direction torodale sont des bobines dites polodales ; elles sontresponsables de la gnration d'un champ magntique dont les lignes de champ sont parallles ladirection torodale. La bobine au centre du tokamak, appele solnode central, gnre un champmagntique dont les lignes de champ sont contenues dans les plans polodaux. La combinaison de

    https://en.wikipedia.org/wiki/Irving_Langmuirhttps://fr.wikipedia.org/wiki/Stellaratorhttp://irfm.cea.frhttp://irfm.cea.frhttp://www-fusion-magnetique.cea.fr/cea/ts/ts.htmhttp://www.iter.org

  • 4 Chapitre 1. Introduction et contexte de l'tude

    Figure 1.2 Vue d'artiste du tokamak Iter en cours de construction ; chacune des 18 bobinespse le poids d'un A380, soit 360 tonnes. Extrait de http://tempest.das.ucdavis.edu/pdg/ITER_Website/ITER.htm

    ces deux champs magntiques donne le champ magntique rsultant dont les lignes de champ sontde forme hlicodale. Ces lignes qui s'enroulent autour du tore connent les particules du plasmaet le maintiennent autant que possible loign des parois internes du tokamak (non reprsentessur le schma).

    La matrise du connement du plasma est une tche d'une extrme complexit, car desinteractions non linaires entre le champ lectromagntique et la conguration du plasma sont prendre en compte. De plus, ces phnomnes physiques existent des chelles de temps etd'espace trs diverses. En outre, le plasma est sujet de nombreuses instabilits qui s'opposent un bon connement. Un des ds majeurs des installations de type tokamak est de trouverles congurations qui connent le plus ecacement le plasma. Dans les cas o le plasma n'estplus ecacement contrl, il y a une diminution de l'ecacit du connement et donc de laperformance du tokamak. Dans des conditions particulires, la plasma risque d'entrer en contactavec la paroi du tokamak ce qui pourrait l'endommager. Les conditions de temprature et de uxde puissance tant extrmes, des recherches sont toujours en cours an de trouver des matriauxcapables de mieux rsister ces vnements.

    1.1.2 La physique des plasmas

    De faon complmentaire l'exprimentation, la comprhension du comportement du plasmadans les tokamaks est aussi aborde par la modlisation thorique. Dans la section 1.2.1 de lathse de C. Caldini-Queiros [CQ13] retrace l'historique des dirents travaux scientiques quiont jalonn l'tude de la physique des plasmas.

    An d'aner notre comprhension de la dynamique temporelle du plasma au sein d'untokamak, des modles adapts et des mthodes numriques spciques ont t dvelopps.Dans cette section, une vue d'ensemble non exhaustive de ces modles est donne. Ils dcrivent

    http://tempest.das.ucdavis.edu/pdg/ITER_Website/ITER.htmhttp://tempest.das.ucdavis.edu/pdg/ITER_Website/ITER.htm

  • 1.1. Contexte physique 5

    Figure 1.3 Schma d'un tokamak, du plasma conn, des lignes de champ magntique et desbobines qui gnrent ce champ. Extrait de https://en.wikipedia.org/wiki/Tokamak.

    l'interaction entre les particules charges du plasma et un champ lectromagntique. Ce champest la fois d'origine externe et gnr par les particules elles-mmes. Pour capturer parfaitementle comportement du plasma, un modle complet consisterait expliciter le mouvement de chaqueparticule du plasma grce aux quations de Newton. cause du trs grand nombre de particulesau sein d'un plasma, mme de faible densit, cette approche est trop coteuse mettre en uvreen temps de calcul.

    Le dveloppement de modles accessibles la simulation numrique est ncessaire. Unehirarchie de modles a ainsi t construite. Le choix d'un modle reprsente un compromisentre prcision et moyen de calcul. La description des modles donne ici s'inspire du cours deE. Sonnendrcker [Son10].

    Modle N corps

    Bien qu'il ne soit pas utilis cause de son cot de calcul trop lev, le modle Ncorps constitue le modle de rfrence partir duquel se drive les autres modles. Au niveaumicroscopique, les particules voluent suivant le principe fondamental de la dynamique. Dans lecas non relativiste, chaque particule obit la loi de Newton

    dmvdt

    =

    Fext

    o m est la masse de la particule, v sa vitesse et Fext les forces qui s'appliquent la particule.Dans notre cas, les forces Fext se rduisent la force de Lorentz induite par les champslectromagntiques. Ils sont gnrs dans les particules charges du plasma et par les bobinespolodales. Les autres forces, comme le poids, sont gnralement ngligeables. On obtient donc

    https://en.wikipedia.org/wiki/Tokamakhttps://fr.wikipedia.org/wiki/Principe_fondamental_de_la_dynamique

  • 6 Chapitre 1. Introduction et contexte de l'tude

    pour chaque particule la relation

    dmvidt

    =j

    q(Ej + vi Bj). (1.1)

    La vitesse d'une particule est lie sa position par la relation

    dxidt

    = vi. (1.2)

    Si on connait un instant donn la position et la vitesse de chaque particule, ainsi que lechamp magntique, le systme d'quation (1.1)(1.2) dtermine compltement l'volution desparticules.

    Les plasmas thermonuclaires ayant approximativement une densit de 1020 particules parmtre cube, ce modle microscopique est inutilisable. Il est alors ncessaire de trouver des modlesalternatifs, approchs mais assez prcis pour capturer l'volution du plasma et accessibles parnos moyens de calcul. Dans la hirarchie des modles, le modle N corps est le plus prcis.Les approches alternatives qui en dcoulent se dcomposent en deux grandes familles : (i) lesmodles cintiques (modle intermdiaire) et (ii) les modles uides (modle macroscopique).Une brve description des ingrdients qui les composent est donne dans les deux paragraphessuivants.

    Modle cintique

    Dans le modle cintique, les particules de chaque espce qui constitue le plasma (par exemple,ions et lectrons) sont reprsentes par leur fonction de distribution fs(x,v, t) o l'indice scorrespond une espce donne. Cette fonction de distribution est 6 dimensions : 3 pour laposition en espace x, 3 pour les coordonnes de vitesse v, en plus de la dimension temporelle. Lescoordonnes de position et de vitesse donnent une position dans l'espace des phases. un tempst donn, la valeur fs(x,v, t)dxdv correspond au nombre moyen de particules dont la positionet la vitesse se trouvent respectivement dans un lment de volume de taille dx dans l'espaceordinaire centr autour de la position x et dans un lment de taille dv dans l'espace des vitessescentr autour de la position v.

    Une description cintique d'un plasma est ncessaire lorsque la fonction de distribution estloigne de la distribution de Maxwell-Boltzmann (aussi appele Maxwellienne) qui correspond l'quilibre thermodynamique du plasma. Lorsque les eets collectifs sont dominants par rapportaux eets locaux telles que les collisions binaires entre particules, le modle cintique s'obtienten drivant le modle N corps par des techniques de physique statistique. L'quation ainsiobtenue est appele l'quation de Vlasov [Vla45] ; elle s'crit dans le cas non relativiste :

    dfsdt

    =fst

    + v xfs +qsms

    (E+ vB) vfs = 0.

    On note ici xfs et vfs les gradients respectifs de fs par rapport aux trois coordonnes enposition et aux trois coordonnes en vitesse. Les constantes qs et ms correspondent la charge et la masse d'une particule de l'espce s. L'quation de ce modle exprime le fait que la fonctionde distribution est conserve le long des trajectoires des particules qui sont dtermines par lechamp lectromagntique.

    Le champ lectromagntique rsultant qui gouverne l'volution du plasma dpend de laconguration du plasma lui-mme. Pour dcrire de faon raliste l'volution du plasma, il

    https://fr.wikipedia.org/wiki/quilibre_thermodynamique

  • 1.1. Contexte physique 7

    convient de coupler l'quation de Vlasov aux quations deMaxwell [Max65, Dar05]. Ces quationspermettent de calculer le champ lectrique E et le champ magntiqueB induits par la distributiondes particules :

    1c2Et

    +B = 0J,

    Bt

    +E = 0,

    E = 0,

    B = 0.

    Les termes sources des quations de Maxwell, la densit de charges (x, t) et la densit de courantJ(x, t), s'expriment partir des fonctions de distribution des direntes espces de particulesfs(x,v, t) l'aide des relations :

    (x, t) =s

    qs

    fs(x,v, t)dv,

    J(x, t) =s

    qs

    fs(x,v, t)vdv.

    On dit que le systme d'quation Vlasov-Maxwell est auto-consistant. Ceci est d au lienqui relie les deux quations. L'quation de Vlasov fait intervenir un champ lectromagntique. un temps t donn, la rsolution de l'quation de Vlasov fournit une nouvelle congurationde la fonction de distribution dans l'espace des phases. Cette nouvelle conguration induit unevolution du champ lectromagntique. La rsolution des quations de Maxwell nous permetalors d'obtenir le champ lectromagntique associ. Ce nouveau champ correspondant au tempst + t agit de nouveau sur la fonction de distribution travers l'quation de Vlasov, et ainside suite. Ce couplage met en vidence le fait que les quations de Vlasov et de Maxwell sontintimement lies.

    Dans le cas o d'autres interactions sont prendre en compte dans l'volution du plasma (parexemple les collisions entre particules, une source de chauage ou encore un champ magntiqueexterne comme dans le code Gysela), des termes additionnels sont introduits dans l'quationde Vlasov. Cette nouvelle quation est appele quation de Boltzmann.

    Modle uide

    On peut driver partir du modle cintique introduit prcdemment un modle uide quipermet de dcrire l'volution de grandeurs macroscopiques associes au plasma. Les principalesgrandeurs du modle uide sont :

    la densit dnie par

    n(x, t) =f(x,v, t)dv,

    la vitesse moyenne u(x, t) qui vrie

    n(x, t)u(x, t) =f(x,v, t)vdv,

  • 8 Chapitre 1. Introduction et contexte de l'tude

    la temprature T (x, t) qui vrie

    n(x, t)T (x, t) =m

    3

    |v u(x, t)|2f(x,v, t)dv.

    o m dsigne la masse d'une particule.Ces quantits sont dnies partir des trois premiers moments en vitesse de la fonction de

    distribution f(x,v, t). Lorsque les particules sont proches de l'quilibre thermodynamique, lemodle uide semble tre une bonne approximation de l'volution globale du plasma. Sous l'eetdes collisions, la fonction de distribution tend vers une fonction de distribution Maxwellienne.

    On peut noter que les grandeurs qui sont calcules ne dpendent pas de l'espace des vitessesv. Ce modle est donc moins prcis que le modle cintique, mais bien moins coteux en termede temps de calcul car on passe d'un problme 6 dimensions un problme 3 dimensions. Ilne sera plus fait mention du modle uide dans la suite de ce manuscrit. Notre tude se focalisesur les modles de type cintique.

    1.2 Calcul haute performance

    L'application qui fait l'objet de cette thse est Gysela. Elle utilise un modle 5D ditgyrocintique (voir section 1.3). Pour raliser des simulations ralistes, les quantits de donnes manipuler sont de trs grande taille (dans de grandes congurations, la taille d'une seule fonctionde distribution est d'environ 1 To) et les quantits de calculs eectuer sont consquentes.Ces simulations requirent l'utilisation de puissantes machines de calcul : les supercalculateurs.Aujourd'hui, de nombreux domaines scientiques qui utilisent la simulation ont recours au calculhaute performance.

    Figure 1.4 Schma de l'architecture de la machine Curie. Extrait de http://www-hpc.cea.fr/fr/complexe/tgcc-curie.htm

    La Figure 1.4 illustre l'architecture hirarchique du calculateur Curie qui est une machineTier-0 PRACE, c'est--dire ddie des projets Europens de grande envergure. Ce type dehirarchie est commun dans le domaine du calcul haute performance. La machine est constitueplusieurs de nuds de calcul qui sont relis entre eux par un rseau rapide. Ces machines sont

    https://fr.wikipedia.org/wiki/Superordinateurhttp://www-hpc.cea.fr/fr/complexe/tgcc-curie.htmhttp://www-hpc.cea.fr/fr/complexe/tgcc-curie.htmhttp://www.top500.org/system/177818http://www.prace-ri.eu/prace-resources/

  • 1.3. Description du code Gysela 9

    souvent appeles grappe de calcul ou encore cluster. La machine Helios qui est ddie auxsimulations de la communaut de physique des plasmas prsente une architecture trs similaire celle de Curie. Au cours de cette thse, des simulations et des tests ont t eectus sur cesdeux machines.

    De faon macroscopique, on peut distinguer deux niveaux de paralllisme sur ce type demachine. haut niveau, la machine est mmoire distribue, une unit de calcul est reprsentepar un nud de calcul et le rseau rapide est utilis pour assurer les communications et parsuite la cohrence globale des calculs. En descendant d'une chelle, un nud de calcul peut treconsidr comme une machine part entire mmoire partage, o une unit de calcul estreprsente par un cur de calcul d'un processeur et des politiques de synchronisation entreunits de calcul doivent tre mises en place pour assurer la cohrence des calculs 2. Ces deuxniveaux de paralllisme sont exploits respectivement grce aux paradigmes de programmationMPI (Message Passing Interface) [GLDS96] et OpenMP (Open Multi-Processing) [DE98]. Lesapplications qui mlangent ces deux paradigmes, ou modles, sont dites hybrides. C'est le cas del'application Gysela.

    Durant ces dernires annes, une activit croissante a t soutenue pour la cration oul'exprimentation de nouveaux modles de programmation parallle. Ces recherches sont motivesen partie par les changements et la diversit des architectures que proposent les supercalculateursactuels (par exemple, l'utilisation de cartes acclratrices). De plus, il n'y a pas de certitude sur letype de matriel qui permettra d'atteindre l'Exascale qui reprsente le prochain cap symboliqueen terme de puissance de calcul franchir pour les constructeurs de machines et de puces.Dans ce contexte, il est important de pouvoir dcorrler les aspects matriels du potentielde paralllisation d'une application. La cration d'un modle de programmation permettantl'expressivit de tous les niveaux de paralllisme des futures machines est aujourd'hui un sujetde recherche trs actif.

    Actuellement, l'utilisation d'une technologie pour parallliser une application impose un cadrede pense qui lui est spcique. Dans l'hypothse o un changement de modle doit s'eectuer, uneort de dveloppement considrable doit tre fourni pour adapter l'application. Les technologiesqui orent la possibilit d'eectuer une transition progressive d'un modle de programmation un autre devraient l'avenir tre privilgies par les domaines applicatifs.

    1.3 Description du code Gysela

    Dans un plasma faiblement collisionnel, les modles uides sont souvent inadapts pourdcrire l'volution du plasma. Dans ce contexte, l'tude du comportement du plasma ncessitel'utilisation d'un modle cintique qui reprsente plus dlement la distribution en vitesse desparticules. Le modle cintique admet comme inconnue une fonction 6D de distribution dedensit des particules. La rsolution numrique de l'quation de Vlasov associe et des direntsoprateurs ncessaires une description raliste du plasma requiert une puissance de calcultoujours hors de porte aujourd'hui. An de rduire la quantit de calcul raliser, il est ncessairede driver un modle intermdiaire entre le modle cintique 6 dimensions et le modle uide 3 dimensions.

    L'application Gysela [GSG+06, GBB+06, GSG+08, GAB+15], pour GYrokinetic SEmi-LAgragian, simule l'volution du plasma grce au modle gyrocintique qui rduit le modlecintique d'une dimension en vitesse.

    2. Le too much milk problme ou encore le dner des philosophes sont des exemples classiques qui mettent envidence la ncessit de synchronisation.

    http://www.top500.org/system/177449http://www.top500.org/system/177818https://fr.wikipedia.org/wiki/Dner_des_philosophes

  • 10 Chapitre 1. Introduction et contexte de l'tude

    La section 1.3.1 dcrit l'observation qui est l'origine du modle gyrocintique. Ce modlerduit la dimensionnalit du problme et permet de raliser des simulations dans un tempsraisonnable. Pour une description dtaille du modle gyrocintique, le lecteur peut consulter lemanuscrit de J. Abiteboul [Abi12] ainsi que ses rfrences. La section 1.3.2 dcrit le systme decoordonnes utilis par Gysela ainsi que certains aspects de sa dcomposition de domaine.La section 1.3.3 montre une tude de la consommation de mmoire de Gysela. Enn, lasection 1.3.4 prsente les outils de dveloppement qui sont utiliss pour maintenir et faire voluerune application de cette envergure.

    1.3.1 Hypothses du modle gyrocintique

    Sous l'inuence d'un fort champ magntique non uniforme B(x), o x est une positionde l'espace, les particules du plasma s'enroulent autour d'une trajectoire proche des lignes dechamp [Lit88], comme on peut le voir sur la Figure 1.5. L'tude du plasma soumis un fortchamp magntique est adapt aux installations de type tokamak car c'est typiquement le genrede champ magntique qui est utilis. On appelle centre-guide, X(t) sur la gure, la projectionorthogonale de la particule sur cette trajectoire.

    Figure 1.5 Illustration du mouvement d'une particule charge dans un fort champ magntiquenon uniforme, B(x), o x dsigne une position de l'espace. X(t) dsigne la position du centre-guide associ au mouvement de la particule. Cette gure est extraite de l'article [Lit88].

    La frquence cyclotronique c qui reprsente la frquence de giration d'une particule autourde son centre-guide est grande dans l'hypothse d'un fort champ magntique. La distance quispare une particule de son centre guide est appel rayon de Larmor, gnralement not c. Onsuppose aussi que le champ magntique B varie lentement en espace et en temps par rapport la frquence cyclotronique c. Sous ces hypothses, l'tude de la dynamique des centres-guidesconstitue une bonne approximation de la dynamique de l'ensemble des particules du plasma. Enappliquant une moyenne sur le mouvement rapide de la particule, on peut rcrire l'quationde Vlasov qui admet dsormais comme inconnue, non plus une fonction de distribution desparticules, mais une fonction de distribution des centres-guides. L'oprateur qui relie ces deuxfonctions de distribution est appel gyromoyenne. Il permet de rduire le modle initial exprimdans l'espace des phases 6D un modle exprim dans un espace 5D. Cet oprateur est unlment fondateur du modle gyrocintique. Cette rduction de la dimensionnalit du problmepermet de rduire les cots de calcul.

  • 1.3. Description du code Gysela 11

    De mme que dans le modle cintique, l'quation de Vlasov est couple aux quation deMaxwell. Dans le modle cintique, les quations de Maxwell sont exprimes par rapport lafonction de distribution des particules. Dans le modle gyrocintique, ces quations sont r-exprimes par rapport la fonction de distribution des centres-guides. Le couplage des quationsVlasov-Maxwell dnies par rapport la fonction de distribution des centres-guides constitue lemodle gyrocintique. Pour plus de dtails, le lecteur peut consulter les travaux [Bri89, Hah88,LL95] et leurs rfrences. L'article [BH07] expose la thorie moderne du cadre gyrocintique.

    Des approximations supplmentaires sont faites dans le modle rsolu par Gysela pourallger la charge de calcul. L'une d'entre elles est l'approximation lectrostatique qui rduit larsolution de l'ensemble des quations de Maxwell une quation qui est la suivante :

    E = ,

    o correspond au potentiel lectrique.Plus de dtails sur les approximations ralises par Gysela sont disponibles dans la

    section 2.2.4 de [Abi12].

    1.3.2 Gysela : une application massivement paralllise

    Solveur Vlasov

    Solveur Champ

    fn, n

    fn+1, n+1

    n 0[k] fn+1, n

    n n+ 1

    non

    ouiDiagnostiques

    Figure 1.6 Schma d'un pas de temps de l'application Gysela.

    On peut dcomposer grossirement une excution de Gysela en trois tapes : (i) unephase d'initialisation, (ii) des itrations temporelles et (iii) une phase de sortie. La Figure 1.6schmatise une itration temporelle de Gysela. L'volution de la fonction de distribution descentres-guides, note fn, se fait grce la rsolution de l'quation de Vlasov et l'volution duchamp lectrique grce la rsolution d'une quation de type Poisson. Priodiquement, Gyselaexcute des diagnostiques an d'extraire des grandeurs physiques de la fonction de distributionfn et du champ de potentiel n. La sauvegarde des 5 dimensions de la fonction de distribution chaque pas de temps tant trop coteuse, les diagnostiques permettent d'extraire les grandeursd'intrt qui sont 1, 2 ou 3 dimensions. Ces grandeurs sont sauvegardes sur disque dans deschiers au format HDF5 [FCY99].

    Nous utilisons le systme de coordonnes (r, , ) pour les 3 dimensions spatiales de f ; r et sont les coordonnes polaires dans une coupe polodale du tore et dsigne l'angle torodal.La Figure 1.7 illustre ce systme sur la gomtrie d'un tokamak. Les deux dernires coordonnesmodlisent l'espace des vitesses avec v la vitesse le long d'une ligne de champ magntique, ainsique le moment magntique (quivalent une vitesse moyenne dans un plan polodal). Dansle modle gyrocintique, est considr comme un invariant adiabatique. Cette hypothse est

  • 12 Chapitre 1. Introduction et contexte de l'tude

    Figure 1.7 Schma du systme de coordonnes utilis dans Gysela.

    simplicatrice pour la rsolution de l'quation de Vlasov, car elle permet de traiter de faonindpendante la fonction de distribution selon sa valeur en .

    La Figure 1.8 illustre l'algorithme global de Gysela. Sur ce schma on peut identier d'unepart l'quation de Poisson qui permet de calculer le potentiel lectrique et d'autre l'quationgyrocintique de Vlasov qui dcrit le comportement de la fonction de distribution. L'quationde Poisson permet de calculer le potentiel lectrique partir d'informations sur les particules(densit de charge), alors que l'quation gyrocintique de Vlasov dcrit le comportement de lafonction de distribution des gyro-centres. L'oprateur qui relie les grandeurs entre l'espace desparticules et l'espace des gyro-centres est l'oprateur de gyromoyenne.

    Figure 1.8 Schma algorithme global de Gysela.

    Le solveur de Vlasov

    Le solveur de Vlasov reprsente la plus grande quantit de calcul lors d'une itration deGysela. Ce solveur prend en entre la fonction de distribution au temps t et calcul la nouvelleconguration au temps t + t de la fonction de distribution. Dans Gysela, nous utilisons un

  • 1.3. Description du code Gysela 13

    schma de type Semi-Lagrangien explicite avec l'utilisation d'un splitting de Strang [Str68] pourrsoudre l'quation de Vlasov. Le splitting permet de dcomposer la rsolution de l'quation deVlasov en un enchanement d'quations d'advection 1 ou 2 dimensions dans le cas de Gysela.Puisque la cinquime dimension en agit comme un invariant adiabatique, la rsolution del'quation Vlasov peut se voir sans splitting comme une advection en 4 dimensions. L'algorithme 1schmatise l'enchanement des advections ralises par Gysela pour faire voluer la fonction dedistribution, ainsi que la distribution des donnes entre les processusMPI. Pour avoir des dtailsplus prcis sur la mthode de rsolution, le lecteur peut consulter la section "Time-splitting"de [GSG+06].

    Entres : fn(r, , , v, )Sorties : fn+1(r, , , v, )

    1 Advection 1D de t2 en v ((, r, ) = [local], (, v) = []);2 Advection 1D de t2 en ((, r, ) = [local], (, v) = []);3 Transposition de f ;4 Advection 2D de t en (r, ) ((, , v) = [local],(r, ) = []);5 Transposition de f ;6 Advection 1D de t2 en ((, r, ) = [local], (, v) = []);7 Advection 1D de t2 en v ((, r, ) = [local], (, v) = []);Algorithme 1 : Schma du splitting directionnel utilis par Gysela pour rsoudre l'quationde Vlasov.

    Comme il l'a t dit dans la section 1.2, l'application Gysela est une application hybrideparalllise en MPI/OpenMP. En pratique, la fonction de distribution volue sur un maillage4D. Soient Nr, N, N et Nv respectivement le nombre de points dans les dimensions r, , et v. Chaque valeur de utilise par la simulation est associe un ensemble de processusMPI (un communicateur MPI). Au sein de chacun de ces ensembles, une dcomposition dedomaine 2D du plan polodal nous permet d'attribuer chaque processusMPI un sous-domainepris dans les dimensions (r, ). Un processus MPI est donc responsable du stockage du sous-domaine dni par f(r = [istart, iend], = [jstart, jend], = , v = , = value) 3 (voir leslignes 1, 2, 6 de 7 l'algorithme 1). La dcomposition parallle est caractrise par les valeursistart, iend, jstart, jend, value qui sont connues localement. Ces domaines 2D dcoulent d'unedcomposition par bloc classique dans la direction r en pr sous-domaines et dans la direction en p sous-domaines. Le nombre de processus MPI utiliss durant une excution est gal pr p N, avec N le nombre de points dans la direction de la fonction de distribution. l'intrieur de chaque processus, nous utilisons des threadsOpenMP pour exploiter le paralllisme grain-n.

    Pour donner une intuition plus prcise de la paralllisation de Gysela, l'algorithme 2 dtaillel'tape d'advection dans la direction . Cette description montre l'utilisation des direntsniveaux de paralllisme.

    L'advection dans la direction v est trs similaire l'advection en . L'advection dans leplan polodal, en (r, ), est dirente car elle est en 2D et elle utilise une autre dcompositionde domaine. Ce choix implique des communications collectives entre processus pour transposerla fonction de distribution. Sur de grandes congurations d'excution, ces communicationsreprsentent potentiellement un goulot d'tranglement et sont donc pnalisantes pour la

    3. La notation reprsente toutes les valeurs d'une dimension donne.

  • 14 Chapitre 1. Introduction et contexte de l'tude

    Entres : f?(r, , , v, )Sorties : f(r, , , v, )

    1 pour faire en parallle (MPI)2 pour r faire en parallle (MPI)3 pour faire en parallle (MPI)4 pour faire en parallle (OpenMP)5 pour v faire6 vt ;7 Calcul de spline dans la direction de f?(r, , = , v, ) ;8 pour faire9 f(r, , , v, ) = interpolation_spline(f

    ?(r, , , v, )) ;10 n11 n12 n13 n14 n15 n

    Algorithme 2 : Advection dans la direction de la fonction de distribution f?.

    scalabilit de l'application. Elles sont utilises actuellement principalement cause de verroustechniques qui sont l'tude actuellement.

    Bien que le modle gyrocintique rduise d'une dimension la fonction de distribution calculer, les ressources en termes de calcul et de mmoire utilises par une simulation de Gyselasont trs importantes. Les eorts d'optimisation raliss sur Gysela en font une application quiexploite ecacement les calculateurs actuels [LGCDP11, BGL+13, LHB+15, RSL+15, TBG+13].

    1.3.3 Consommation mmoire de Gysela

    Lorsqu'on souhaite obtenir des rsultats plus prcis ou plus raliste pour une simulationnumrique on augmente souvent la rsolution du maillage utilis. Pour l'application Gysela, unmaillage n permet par exemple de capturer le comportement de structures plus petites dans lafonction de distribution. La nature de l'quation de Vlasov rsoudre tant 5D, la taille de lafonction de distribution manipuler est consquente.

    Comme il a tait dit dans la partie prcdente, chaque processus MPI est associ avec unevaleur de . La fonction de distribution ainsi que le potentiel lectrique sont distribus avecune paralllisation de type MPI. Chaque processus prend en charge une partie de la fonction dedistribution ainsi qu'une partie du potentiel lectrique reprsente respectivement par un tableau4D et un tableau 3D. Ces deux quantits reprsentent les variables d'intrt pour Gysela.Intuitivement, on peut penser qu'elles occupent la plus grande partie de la mmoire alloue.

    Le reste de la consommation mmoire vient de tableaux utiliss par exemple pour stocker desvaleurs pr-calcules, de tampons mmoire MPI pour concatner des donnes l'envoi ou larception et de tampons privs aux threads OpenMP pour calculer des rsultats temporaires.Dans la version initiale de Gysela, la plus grande partie des tableaux de l'application taitalloue durant la phase d'initialisation.

    An de mieux comprendre la consommation mmoire de Gysela, nous avons surcharg lafonction d'allocation Fortran (allocate()) an de rcuprer les mta donnes suivantes pour

  • 1.3. Description du code Gysela 15

    Nombre de curs 2K 4K 8K 16K 32KNombre de processus MPI 128 256 512 1024 2048

    structures 4D209.2 107.1 56.5 28.4 14.467.1% 59.6% 49.5% 34.2% 21.3%

    structures 3D62.7 36.0 22.6 19.7 18.3

    20.1% 20.0% 19.8% 23.7% 27.1%

    structures 2D33.1 33.1 33.1 33.1 33.1

    10.6% 18.4% 28.9% 39.9% 49.0%

    structures 1D6.6 3.4 2.0 1.7 1.6

    2.1% 1.9% 1.7% 2.0% 2.3%

    Total par processus MPI en Go 311.5 179.6 114.2 83.0 67.5

    Table 1.1 Strong scaling : taille des allocations en Go (par processus MPI) et pourcentage parrapport au pic mmoire de chaque type de structure de donnes.

    chaque tableau : le nom du tableau, sa dimension et sa taille. En utilisant ces donnes nous avonsralis une tude en strong scaling de l'application.

    Strong scaling mmoire

    D'un point de vue de la mmoire, le strong scaling consiste relever la consommationpar processus d'un programme parallle pour une taille xe du problme d'entre et enfaisant varier le nombre de processus MPI. En utilisant un grand nombre de processus,la consommation mmoire des structures qui bncient d'une dcomposition de domainereprsente gnralement une faible portion de la consommation mmoire globale. Si pourune simulation donne avec n processus on utilise x Go de mmoire par processus, onpeut esprer dans le cas idal qu'en faisant la mme simulation avec 2n processus, onobtienne une consommation mmoire de x2 Go par processus. Dans ce cas, on dit que lascalabilit mmoire est parfaite. Mais en pratique, ce n'est gnralement pas le cas causedes surcots mmoire dus la paralllisation.

    Les rsultats de cette tude sont donns au Tableau 1.1. Ces chires ont t obtenus enutilisant 16 threads par processus MPI. An de maximiser la mmoire disponible pour unprocessus, nous congurons gnralement une simulation deGysela de sorte ce qu'un processuscorresponde un nud de calcul. Dans notre cas, la consommation mmoire par processus MPIdpend essentiellement du nombre de processus et de la taille du maillage considr.

    Le Tableau 1.1 montre l'volution de la consommation mmoire en fonction du nombre decurs et de processus MPI utiliss. Le pourcentage de la consommation mmoire par rapportau total de la mmoire consomme est donn pour chaque type de structure de donnes. Lemaillage que nous avons utilis est le suivant : Nr = 1024, N = 4096, N = 1024, Nv = 128,N = 2. Ce maillage est plus consquent que ceux utiliss en production actuellement, mais ilcorrespond aux besoins futurs, spcialement ceux de la physique en conguration multi-espcesou avec lectrons cintiques. Le dernier cas avec 2048 processus requiert 67.5 Go de mmoire parprocessus MPI.

    Dans Gysela, les structures 2D et 1D ne bncient pas de la dcomposition de domaine.En regardant les relevs de consommation mmoire par type de structure, on peut voir que laconsommation des structures 2D ne dpend pas du nombre de processus utiliss. La taille de

  • 16 Chapitre 1. Introduction et contexte de l'tude

    ces structures dpendent surtout du maillage et du nombre de threads par processus utiliss. Onpeut voir que sur le plus grand cas avec 2048 processus MPI, le cot mmoire des structures2D reprsente 49% de l'empreinte mmoire totale. Cela constitue une relle dicult pour lepassage plus grande chelle de l'application, c'est--dire pour de plus grands maillages.

    Les nuds de calcul des supercalculateurs que nous utilisons aujourd'hui disposentgnralement d'une quantit de mmoire infrieur 67.5 Go. On peut citer par exemple lamachine Helios qui dispose de 64 Go par nud ou encore les machines de types BlueGene/Qqui ne disposent que de 16 Go par nud. Face ce constat, "l'empreinte mmoire" de l'applicationGysela apparait clairement comme une dicult pour son passage plus grande chelle.

    Dans ce manuscrit, l'usage de l'expression empreinte mmoire (memory footprint) necorrespond pas sa dnition stricte. Au sens strict, l'empreinte mmoire comptabilise l'ensembledes segments mmoire qui sont utiliss ou rfrencs par un programme durant son excution ;elle ne se limite pas la mmoire alloue sur le tas (cela correspond aux allocations avec lafonction allocate()). titre d'exemple, parmi les zones mmoires qui ne sont pas considrespar notre tude, on peut citer la zone mmoire occupe par le programme excuter, la pile quicontient les arguments et les variables locales d'une fonction, le segment de donnes qui contientles variables globales et statiques et la consommation mmoire de bibliothques tierces utilisespar l'application. Dans notre tude de la consommation mmoire de Gysela, nous supposonsque l'impact de ces zones mmoires est ngligeable par rapport la quantit de mmoire allouesur le tas. Dans la suite de ce manuscrit, par abus de langage, nous utiliserons le terme empreintemmoire pour dsigner la mmoire alloue sur le tas par Gysela.

    1.3.4 Cycle et environnement de dveloppement

    L'application Gysela est en dveloppement depuis plus de 10 ans maintenant l'IRFM.Plusieurs personnes contribuent simultanment l'application en dveloppant direntesfonctionnalits. On peut distinguer trois activits autour de l'application Gysela :

    physique : modication de certains termes des quations rsoudre, simulation de plusieursespces, ajout de composants physiques, etc ;

    mathmatiques appliques : modication de la mthode numrique utilise pour rsoudreune quation, utilisation d'une mthode d'interpolation plus prcise, etc ;

    calcul haute performance : modication d'un schma de communication, optimisationd'une section de l'application, etc.

    Dans ce contexte interdisciplinaire, les outils qui peuvent faciliter la communication entre lesdirentes communauts sont trs utiles. Les graphiques gnrs par les outils dvelopps durantcette thse font partie de ces outils.

    Le dveloppement de nouvelles fonctionnalits au sein d'une application de cette envergureest complexe et ncessite l'utilisation d'outils de dveloppement.

    Gestionnaire de version

    An de permettre le dveloppement concurrent de fonctionnalits, nous utilisons legestionnaire de version git. Le mcanisme de branche qu'il propose permet premirement d'isolerle dveloppement des fonctionnalits et deuximement de simplier leur intgration dans labranche de dveloppement principale dite master. Le cycle de dveloppement que nous avonsmis en place dans Gysela est illustr par la Figure 1.9 4.

    4. Cette organisation est inspire de la description : http://nvie.com/posts/a-successful-git-branching-model/.

    http://www.top500.org/system/177449http://csc522-fall14.site44.com/papers/bluegeneQ.pdfhttps://en.wikipedia.org/wiki/Memory_footprinthttps://techtalk.intersec.com/2013/08/memory-part-3-managing-memory/http://nvie.com/posts/a-successful-git-branching-model/http://nvie.com/posts/a-successful-git-branching-model/

  • 1.3. Description du code Gysela 17

    1 7 10 12

    5 6

    3 4 8 11

    2 9 13

    release-v1.0 release-v1.1 release-v2.0

    fonctionnalit_1

    fonctionnalit_2

    master

    release

    temps

    Figure 1.9 Illustration du cycle de dveloppement de Gysela. Chaque cercle, carr et losangereprsente un commit git, ce qui conduit une modication des chiers qui constituent le projet.Les chires sont un exemple d'indexation chronologique des modications. Un texte en grascorrespond au nom d'une branche. Les rectangles en bas de la gure correspondent aux versionsstables, diusables de l'application, appeles aussi release.

    Intgration continue

    Pour limiter ecacement l'introduction de bug dans l'application, durant ma thse, nousavons mis en place un systme d'intgration continue. Il permet d'automatiser l'excution detests prdnis par l'utilisateur. Leur excution est dclenche soit de faon vnementielle (parexemple lorsque la branche master est modie), soit de faon priodique (par exemple toutes lesnuits). L'utilisation de cet outil est largement rpandue dans le monde industriel, mais ce n'estpas toujours le cas des applications de calcul intensif.

    Nous utilisons actuellement le logiciel Jenkins pour automatiser nos tests. Certains testsconsistent simplement vrier que notre application peut tre compile sur les direntesmachines utilises. Ce type de vrication simple nous permet de garantir par exemple quela branche principale est toujours fonctionnelle. Le dveloppement d'une nouvelle fonctionnalitpeut donc commencer tout moment partir de la branche principale. Dans le cas o un testde compilation choue, nous analysons au plut tt la cause du problme. Cela peut tre d,par exemple, aux dernires modications apportes au code, ou encore la mise jour d'unebibliothque d'une machine qu'on utilise et qui n'est pas compatible avec l'application en l'tat.Ce type de test a un intrt double car il vrie systmatiquement les dveloppements et leurcomptabilit avec plusieurs environnements spciques aux direntes machines de productionet de dveloppement.

    L'application Gysela utilise direntes machines qui proposent chacune leur environnementd'excution : direntes versions de bibliothques, dirents compilateurs, dirents jobscheduler 5, etc... Pour un dveloppeur, vouloir tester la compilation de Gysela sur chaquemachine est une tche trs rptitive et fastidieuse. L'automatisation permet de garantir lavalidit du code par rapport aux machines utilises et permet aussi de gagner du temps.

    Des tests plus volus vrient la validit des rsultats de simulation. Pour chacun de cestests, les chiers de rsultats produits sur la version en dveloppement de l'application pourune simulation (gnralement courte) sont compars des chiers de rsultats de rfrence pr-existants. Ce type de test est particulirement utile dans le cas o le dveloppement d'une nouvellefonctionnalit intgre la branche principale.

    5. Gre les queues d'attente sur les calculateurs : https://en.wikipedia.org/wiki/Job_scheduler

    https://en.wikipedia.org/wiki/Job_scheduler

  • 18 Chapitre 1. Introduction et contexte de l'tude

    Ces dirents outils font partie des aspects techniques du dveloppement de grandesapplications. Ces outils amliorent grandement les conditions de travail et ils tendent se rendreindispensables.

    1.4 Positionnement et contribution de la thse

    Les travaux raliss dans cette thse ont contribu optimiser des aspects relatifs au calculhaute performance de l'application Gysela. On peut distinguer trois catgories de contributionslorsqu'il s'agit de l'optimisation de simulations numriques : (i) simulation d'un plus granddomaine de calcul, (ii) rduction du temps de calcul et (iii) amlioration de la prcision descalculs.

    Les contributions de cette thse concernent ces trois points et le manuscrit se dcompose endeux parties.

    Figure 1.10 Illustration de la tendance dcroissante du ratio entre la quantit de mmoiredisponible et le nombre de curs d'un supercalculateur. Ces chires ont t relevs sur les dixpremires machines du classement TOP500. La conguration heavyweight dsigne les machinesqui utilisent des processeurs hautes frquences, la conguration lightweight dsigne celles quiutilisent des processeurs faibles frquences (par exemple BlueGene) et la conguration hybridN celles qui mixent l'utilisation de processeurs gnralistes et de cartes acclratrices. Figureextraite de [KS13].

    https://en.wikipedia.org/wiki/Blue_Gene

  • 1.4. Positionnement et contribution de la thse 19

    tude de la consommation mmoire

    Durant ces dernires annes, les supercalculateurs ont eu tendance orir de moins en moinsde mmoire par cur de calcul comme on peut le voir sur la Figure 1.10. Cette diminution at identie comme l'une des dicults du challenge Exascale [HLP+11], mme si de nouvellestechnologies de mmoire non volatile (NVRAM) peuvent remettre en cause cette tendance 6.D'autre part, l'tude de la scalabilit mmoire eectue en section 1.3.3 (p. 14) tmoigne de laconsommation mmoire importante de l'application Gysela. Nous savons enn que les futuresvolutions du modle physique simul par Gysela ncessiteront l'usage d'une plus grandequantit de mmoire.

    Pour ces direntes raisons, la premire partie de cette thse est ddie l'tude de laconsommation mmoire de Gysela. Pour se faire, nous avons dvelopp un outil gnriquequi permet d'analyser l'empreinte mmoire d'un programme parallle : la libMTM (Modelingand Tracing Memory). Cette bibliothque propose une interface de programmation l'utilisateurqui lui permet de remplacer les fonctions d'allocation/libration mmoire par des fonctions de lalibMTM. An de faciliter son utilisation dans diverses applications, les dpendances externesont t rduites au strict minimum et une interface en Fortran et en langage C est disponible.

    Les traces MTM gnres durant l'excution sont post-traites par un script fournit par labibliothque. Il permet de reprsenter graphiquement la consommation mmoire d'une simulationet, de fait, de localiser rapidement au niveau du code source o se produit le pic mmoire.

    Dans le cadre des applications parallles, la consommation mmoire d'un processus MPIdpend de la conguration de dploiement d'une simulation. An de pouvoir tudier laconsommation mmoire d'une application dans direntes congurations, la libMTM permetde raliser des prdictions hors-ligne prcises de consommation mmoire. l'heure actuelle, nousne connaissons pas d'autres outils qui proposent une fonctionnalit quivalente.

    Grce l'utilisation des outils fournis par la libMTM, nous avons pu rduire de 50% laconsommation mmoire de Gysela sur une grande simulation utilisant plus de 32K curs. Lesrductions d'empreinte mmoire ralises ont amlior ecacement la scalabilit mmoire del'application Gysela et contribuent ainsi l'accs de plus grands maillages. L'utilisationde maillages plus ns permet d'avoir des simulations plus ralistes et permettra termed'enrichir le modle physique simul par Gysela (par exemple l'ajout des lectrons cintiques).L'ensemble des outils de la libMTM reprsente un rel support pour le passage plus grandechelle d'une application parallle. Les travaux autour de la libMTM ont donn lieu auxpublications [BGL+13, Roz14, RLR14, Roz15, RLRG15].

    L'oprateur de gyromoyenne

    Durant une itration temporelle de Gysela, l'oprateur de gyromoyenne est sollicit denombreuses reprises sur le calcul du potentiel lectrique 3D et sur la fonction de distribution 5Dlors du calcul des diagnostiques. C'est un oprateur fondamental du modle gyrocintique. Saprcision et son temps de calcul ont donc un impact direct sur l'ensemble de la simulation.

    L'oprateur de gyromoyenne utilis initialement dansGysela est bas sur une approximationde Pad qui est valide pour de petits rayons de Larmor (voir section 1.3.1, p. 10). L'oprateuralternatif que nous proposons est bas sur une intgration directe dans l'espace rel qui faitintervenir des interpolations. Il est plus prcis que l'oprateur initial, bas sur une approximation

    6. Pour plus de renseignement, voir la section 4.2 de : http://science.energy.gov/~/media/ascr/pdf/program-documents/docs/Exascale-ASCR-Analysis.pdf ; le site : http://www.hpctoday.com/state-of-the-art/non-volatile-memory-nvm-technology-for-exascale-computing-a-position-paper/ ;ou encore le site : http://www.hpl.hp.com/research/systems-research/themachine/

    http://science.energy.gov/~/media/ascr/pdf/program-documents/docs/Exascale-ASCR-Analysis.pdfhttp://science.energy.gov/~/media/ascr/pdf/program-documents/docs/Exascale-ASCR-Analysis.pdfhttp://www.hpctoday.com/state-of-the-art/non-volatile-memory-nvm-technology-for-exascale-computing-a-position-paper/http://www.hpctoday.com/state-of-the-art/non-volatile-memory-nvm-technology-for-exascale-computing-a-position-paper/http://www.hpl.hp.com/research/systems-research/themachine/

  • 20 Chapitre 1. Introduction et contexte de l'tude

    de Pad, et valide sur un plus grand intervalle de rayons de Larmor. De plus, ce nouvel oprateurse prte mieux la paralllisation.

    La seconde partie de ce manuscrit dcrit de faon dtaille l'oprateur de gyromoyenne, danssa version existante bas sur approximation de Pad, et dans sa version base sur une intgrationdirecte. Cette dernire tant plus coteuse que la version initiale en terme de temps de calcul,des optimisations squentielles ont t ralises. Une description formelle sous forme de produitmatrice-vecteur a guid ces optimisations qui ont conduit direntes approches pour favoriserles eets de cache. La meilleure optimisation permet de rduire de 40% le temps d'excution ducalcul de gyromoyenne bas sur intgration directe, et se rapproche donc du temps de calcul dela gyromoyenne base sur l'approximation de Pad.

    Des comparaisons entre les direntes versions de gyromoyenne tant sur la prcision quesur le cot d'excution ont t ralises. Aprs intgration dans Gysela, nous avons valid lesrsultats du nouvel oprateur sur un cas test de rfrence de la physique des plasmas. Ce travailfait suite aux articles [CMS10, SMC+15] et a donn lieu la publication [RSL+15].

    Dans le dernier chapitre de ce manuscrit, nous tudions une extension de l'oprateur degyromoyenne en MPI. Cette version parallle de la gyromoyenne reprsente un enjeu importantpour l'application Gysela, car elle permettra de changer le schma de communication del'application et en particulier d'viter certaines communications collectives qui reprsententun goulot d'tranglement sur de grandes congurations. Des tudes de scalabilit en tempsd'excution de l'oprateur permettent de voir son comportement en fonction du nombre deprocessus. Les contraintes de mise en uvre qui ont t rencontres durant l'tude sont aussidiscutes, l'objectif tant d'intgrer moyen/long terme une version parallle de la gyromoyenne Gysela.

    Les travaux de cette thse ont t raliss dans le cadre d'une collaboration entre Inria (ausein de l'quipe HiePACS), le CEA/IRFM et le CEA/MdS.

  • Premire partie

    Etude de la consommation mmoire

    21

  • Chapitre 2

    Modlisation de l'volution de laconsommation mmoire grce la

    libMTM

    Sommaire2.1 Travaux relatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.1.1 Outils de proling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.1.2 Exemple de modlisation analytique de consommation mmoire . . 26

    2.2 Description de la libMTM . . . . . . . . . . . . . . . . . . . . . . 262.2.1 Description de la mise en uvre globale de la libMTM . . . . . . . 27

    2.2.2 Interface de programmation de la libMTM (API) . . . . . . . . . . 27

    2.2.3 Exemple d'utilisation de la libMTM . . . . . . . . . . . . . . . . . 32

    2.2.4 Format des chiers de traces . . . . . . . . . . . . . . . . . . . . . . 32

    2.3 Analyse post-mortem des traces . . . . . . . . . . . . . . . . . . . 342.3.1 Implmentation du script de post-traitement . . . . . . . . . . . . . 34

    2.3.2 Les sorties gnres au post-traitement . . . . . . . . . . . . . . . . 35

    2.3.3 Prdiction de la consommation mmoire . . . . . . . . . . . . . . . 37

    2.3.4 Extensions et limitations . . . . . . . . . . . . . . . . . . . . . . . . 38

    Durant son excution, un programme met contribution direntes ressources d'une machine, savoir la puissance de calcul du processeur, la mmoire physique (dite aussi mmoire vive), lammoire de stockage (disque dur), le rseau de communication entre dirents nuds de calcul,etc. Chacune de ces ressources constitue potentiellement une dicult pour le passage l'chelled'une application. Dans notre tude, nous nous sommes concentrs sur l'utilisation de la mmoirephysique.

    Notre tude est motive par le contexte et les besoins de Gysela. Comme le montre laFigure 1.10 (p. 18), la tendance actuelle des supercalculateurs est d'orir de moins en moinsde mmoire par cur de calcul. D'autre part, les quantits de donnes qui sont en jeu dans lesapplications scientiques sont gnralement trs importantes. La section 1.3.3 qui prsente laconsommation mmoire de Gysela en tmoigne. De plus, nous savons que les fonctionnalitsfuturs de Gysela ncessiteront l'usage d'une plus grande quantit mmoire. Par exemple, undes objectifs moyen terme est de pouvoir simuler le comportement des lectrons cintiques.Pour tre capable de capturer le comportement de ce type de particule, la rsolution du maillagepolodal doit tre augmente de plusieurs ordres de grandeur par rapport sa taille actuelle

    23

  • 24 Chapitre 2. Modlisation de l'volution de la consommation mmoire grce la libMTM

    (chelle spatiale des structures physiques plus petite). Cela se traduit directement par uneaugmentation de la co