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.
Type de document :
Article dans une revue
Journal of computational science, Elsevier, 2018, 27, pp.345--356
Liste complète des métadonnées

Littérature citée [24 références]  Voir  Masquer  Télécharger

Contributeur : S. A. Hirstoaga <>
Soumis le : mercredi 23 mai 2018 - 00:51:30
Dernière modification le : lundi 26 novembre 2018 - 16:46:03
Document(s) archivé(s) le : vendredi 24 août 2018 - 16:40:40


Fichiers produits par l'(les) auteur(s)


  • HAL Id : hal-01664207, version 1


Yann Barsamian, Sever Adrian Hirstoaga, Eric Violard. Efficient Data Layouts for a Three-Dimensional Electrostatic Particle-in-Cell Code. Journal of computational science, Elsevier, 2018, 27, pp.345--356. 〈hal-01664207〉



Consultations de la notice


Téléchargements de fichiers