Efficient Data Layouts for a Three-Dimensional Electrostatic Particle-in-Cell Code - Archive ouverte HAL
Article Dans Une Revue Journal of computational science Année : 2018

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

Résumé

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.
Fichier principal
Vignette du fichier
PIC_vert_hal.pdf (1.2 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01664207 , version 1 (23-05-2018)

Identifiants

Citer

Yann A Barsamian, Sever Adrian Hirstoaga, Eric Violard. Efficient Data Layouts for a Three-Dimensional Electrostatic Particle-in-Cell Code. Journal of computational science, 2018, 27, pp.345--356. ⟨10.1016/j.jocs.2018.06.004⟩. ⟨hal-01664207⟩
376 Consultations
577 Téléchargements

Altmetric

Partager

More