Adaptive SIMD optimizations in particle-in-cell codes with fine-grain particle sorting

Particle-In-Cell (PIC) codes are broadly applied to the kinetic simulation of plasmas, from laser–matter interaction to astrophysics. Their heavy simulation cost can be mitigated by using the Single Instruction Multiple Data (SIMD) capability,or vectorization, now available on most architectures. Th...

Full description

Saved in:
Bibliographic Details
Published inComputer physics communications Vol. 244; pp. 246 - 263
Main Authors Beck, A., Derouillat, J., Lobet, M., Farjallah, A., Massimo, F., Zemzemi, I., Perez, F., Vinci, T., Grech, M.
Format Journal Article
LanguageEnglish
Published Elsevier B.V 01.11.2019
Elsevier
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Particle-In-Cell (PIC) codes are broadly applied to the kinetic simulation of plasmas, from laser–matter interaction to astrophysics. Their heavy simulation cost can be mitigated by using the Single Instruction Multiple Data (SIMD) capability,or vectorization, now available on most architectures. This article details and discusses the vectorization strategy developed in the code Smilei which takes advantage from an efficient, systematic, cell-based sorting of the particles. The PIC operators on particles (projection, push, deposition) have been optimized to benefit from large SIMD vectors on both recent and older architectures. The efficiency of these vectorized operations increases with the number of particles per cell (PPC), typically speeding up three-dimensional simulations by a factor 2 with 256 PPC. Although this implementation shows acceleration from as few as 8 PPC, it can be slower than the scalar version in domains containing fewer PPC as usually observed in vectorization attempts. This issue is overcome with an adaptive algorithm which switches locally between scalar (for few PPC) and vectorized operators (otherwise). The newly implemented methods are benchmarked on three different, large-scale simulations considering configurations frequently studied with PIC codes.
ISSN:0010-4655
1879-2944
DOI:10.1016/j.cpc.2019.05.001