Chapter 3 Fast Multipole Method

Chapter 3 Fast Multipole Method

Industrial Code Modernization of High Performance Computing simulations on modern supercomputer architectures Nathalie Möller To cite this version: Nathalie Möller. Industrial Code Modernization of High Performance Computing simulations on mod- ern supercomputer architectures. Distributed, Parallel, and Cluster Computing [cs.DC]. Université Paris-Saclay, 2019. English. NNT : 2019SACLV088. tel-02614318 HAL Id: tel-02614318 https://tel.archives-ouvertes.fr/tel-02614318 Submitted on 20 May 2020 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. s Adaptation de codes industriels de simulation en Calcul Haute Performance aux architectures modernes de supercalculateurs Thèse de doctorat de l’Université Paris-Saclay préparée à l’Université de Versailles-Saint-Quentin-en-Yvelines NNT : 2019SACLV088 Ecole doctorale n◦580 Sciences et technologies de l’information et de la communication (STIC) Spécialité de doctorat: Informatique Thèse présentée et soutenue à Versailles, le 13 Décembre 2019, par Nathalie Möller Composition du Jury : Michaël Krajecki Président du Jury Professeur, Université de Reims Rapporteur Anthony Scemama Ingénieur de Recherche, CNRS Rapporteur Nahid Emad Professeur, UVSQ Examinateur Elisabeth Brunet Maître de Conférences, Télécom SudParis Examinateur William Jalby Professeur, UVSQ Directeur de thèse Eric Petit Ingénieur Chercheur, Intel Co-Encadrant Quang Dinh Ingénieur Chercheur, Dassault Aviation Membre Invité Quentin Carayol Ingénieur Chercheur, Dassault Aviation Membre Invité Marc Pérache Ingénieur Chercheur, CEA DAM Membre Invité iii Contents Introduction 1 I Partie I - State of the Art5 1 HPC Hardware architectures7 1.1 Core architecture............................................7 1.2 Multicore architecture..........................................8 1.3 NUMA..................................................9 1.4 Accelerators...............................................9 1.5 Distributed architecture......................................... 10 1.6 Conclusion................................................ 10 2 Parallel Programming Models 11 2.1 Introduction............................................... 11 2.2 The message passing model....................................... 12 2.2.1 Point-to-point communications................................. 13 2.2.2 Collective communications................................... 13 2.2.3 Non-blocking asynchronous communications.......................... 15 2.2.4 One-sided communications................................... 18 2.3 The Partitioned Global Address Space model.............................. 20 2.3.1 The PGAS model........................................ 20 2.3.2 The GASPI standard and the GPI library............................ 21 2.4 The Worksharing model......................................... 25 2.4.1 The OpenMP standard..................................... 25 2.4.2 The OpenMP loop parallelization................................ 26 2.4.3 The OpenMP worksharing constructs............................. 28 2.5 The task-based model.......................................... 28 2.5.1 OpenMP tasks.......................................... 28 2.5.2 Cilk tasks............................................ 31 2.5.3 Task-based schedulers...................................... 33 2.6 Conclusion................................................ 34 iv 3 Fast Multipole Method 35 3.1 Introduction............................................... 35 3.2 Fast Multipole Method......................................... 35 3.3 Parallelization strategies......................................... 40 3.3.1 Low-level optimization..................................... 41 3.3.2 Fork-join implementation.................................... 41 3.3.3 Tasks.............................................. 42 3.3.4 Load balancing......................................... 45 3.3.5 Communications......................................... 48 3.3.6 Accelerators........................................... 50 3.4 Conclusion................................................ 50 4 Dassault Aviation’s and UVSQ Applications and Libraries 53 4.1 Introduction............................................... 53 4.2 SPECTRE................................................ 54 4.2.1 Use cases............................................ 55 4.3 AETHER................................................. 57 4.3.1 Matrix assembly......................................... 57 4.3.2 Parallelization.......................................... 57 4.3.3 Use cases............................................ 59 4.4 Mini-FEM and D&C-lib......................................... 59 4.4.1 The concept of Proto-Application............................... 59 4.4.2 DEFMESH and Mini-FEM................................... 60 4.4.3 The D&C library......................................... 61 4.5 Conclusion................................................ 62 II Contributions 63 5 Code Modernization through Mini-Applications 65 5.1 Introduction............................................... 65 5.2 Porting the D&C library from the proto-app to an industrial application............... 65 5.3 Using the proto-app to support the OpenMP implementation of the D&C library.......... 68 5.4 Performance evaluation......................................... 69 5.5 Conclusion................................................ 71 6 Load Balancing 73 6.1 Introduction............................................... 73 6.2 Current load balancing strategy..................................... 73 6.2.1 Current algorithm........................................ 74 6.2.2 Efficiency characterization................................... 75 Contents v 6.2.3 Objective and Methodology................................... 76 6.3 Histograms................................................ 77 6.4 Morton.................................................. 79 6.5 Conclusion................................................ 85 7 Communications 87 7.1 Introduction............................................... 87 7.2 Profiling and analysis.......................................... 88 7.3 Bulk synchronous versions, with MPI.................................. 92 7.4 Introducing asynchronism, with GASPI................................. 96 7.5 Replacing global communications with local communications..................... 101 7.6 Hybrid GASPI combined with tasks................................... 103 7.7 Overall improvement and remaining potential............................. 106 7.8 Conclusion................................................ 107 8 Tasks 111 8.1 Introduction............................................... 111 8.2 Profiling and Analysis.......................................... 111 8.3 Towards asynchronous task-based parallelism.............................. 114 8.3.1 Current parallelization scheme................................. 114 8.3.2 OpenMP 4.0 tasks with depend clause............................. 115 8.3.3 Recursive version with scoreboards............................... 117 8.4 Progress report............................................. 118 8.5 Conclusion................................................ 122 Conclusion and Future Work 122 Annex 1 - Difficulties encountered with MPI Runtimes 129 Annex 2 - Summary 133 Annex 3 - Résumé 135 List of Figures 137 List of Tables 141 Bibliography 143 vii Remerciements Cette thèse est le résultat de plusieurs années de travail. Je souhaite remercier tous ceux qui ont contribué à les rendre mémorables tant sur le fond, que sur la forme. Je tiens a remercier Michaël Krajecki et Anthony Scemama pour avoir accepté d’être rapporteurs. Merci également aux examinateurs et autres membres de mon jury : Nahid Emad, Elisabeth Brunet et Marc Pérache. La thèse Cifre présente la particularité de se situer à la croisée de deux mondes: le domaine académique et le monde industriel. J’ai eu la chance de bénéficier de la richesse de ces deux milieux. Je remercie donc mon directeur de thèse, William Jalby, pour m’avoir accueillie au laboratoire LI-Parad, et pour m’avoir offert la possibilité d’enseigner en école d’ingénieur. Je remercie tout particulièrement Eric Petit, pour m’avoir encadrée tout au long de ces années. Merci pour les conseils et les discussions. Merci à tous les membres du labo pour les moments partagés autour d’un café, d’un repas, d’un jeu de société, d’un verre, d’un concours de prog, d’un barbecue, d’un mariage, de naissances, et j’en oublie sûrement encore : Loïc, Clément, Seijilo, Mihail, Salah, Hugo, Pablo, Youenn, Yohan, la liste est longue ... J’ai aussi été très bien accueillie chez Dassault Aviation. Merci à Quang Dinh, pour avoir fait tout son possible pour que cette thèse ait lieu et qu’elle se déroule dans les meilleures conditions. Merci à Quentin Carayol, pour ses explications de la MLFMM, et ses multiples réponses à mes multiples questions ;) Merci à Eric Gounot, manager juste et sympathique :), Tran Chanh pour son efficacité et son humour ! Michel Ravachol, Farid Cerbah et Quang bien sûr, pour l’ambiance du bureau, les conseils avisés et les relectures en détail.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    164 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us