Efficient Data Layouts for a Three-Dimensional Electrostatic Particle-in-Cell Code

Yann Barsamian 1, 2 Sever Adrian Hirstoaga 3, 4 Eric Violard 1, 2
1 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
3 TONUS - TOkamaks and NUmerical Simulations
IRMA - Institut de Recherche Mathématique Avancée, Inria Nancy - Grand Est
Abstract : The Particle-in-Cell (PIC) method is a widely used tool in plasma physics. To accurately solve realistic problems, the method requires to use trillions of particles and therefore, there is a strong demand for high performance code on modern architectures. The present work describes performance results of Pic-Vert, a hybrid OpenMP/MPI and vectorized three-dimensional electrostatic PIC code. The code simulates 3d3v Vlasov-Poisson systems on Cartesian grids with periodic boundary conditions. Overall, it processes 590 million particles/second on a 24-core Intel Skylake architecture, without hyper-threading (25 million particles per second per core). The paper presents extensions in 3d of our preliminary 2d results, with highlights on the difficulties and solutions proposed for these extensions. Specifically, our main contributions consist in proposing a new space-filling curve in 3d (called L6D) to improve the cache reuse and an adapted loop transformation (strip-mining) to achieve efficient vectorization. The analysis of these optimization strategies is performed in two-stages, first on a 24-core socket and second on a super-computer, from 1 to 3,072 cores, demonstrating significant performance gains and very satisfactory weak scaling results of the code.
Liste complète des métadonnées

https://hal.archives-ouvertes.fr/hal-01664207
Contributeur : S. A. Hirstoaga <>
Soumis le : jeudi 14 décembre 2017 - 15:49:16
Dernière modification le : mardi 17 avril 2018 - 09:04:21

Identifiants

  • HAL Id : hal-01664207, version 1

Citation

Yann Barsamian, Sever Adrian Hirstoaga, Eric Violard. Efficient Data Layouts for a Three-Dimensional Electrostatic Particle-in-Cell Code. 2017. 〈hal-01664207〉

Partager

Métriques

Consultations de la notice

190