An efficient and portable SIMD algorithm for charge/current deposition in Particle-In-Cell codes
H. Vincenti, R. Lehe, R. Sasanka, J-L. Vay

TL;DR
This paper introduces a new SIMD algorithm for charge/current deposition in Particle-In-Cell codes, significantly improving performance and portability across modern CPU architectures by optimizing data structures and avoiding costly gather/scatter operations.
Contribution
The paper presents a novel SIMD vectorization algorithm for PIC charge/current deposition routines that enhances efficiency and portability on current and future CPU architectures.
Findings
Achieved 2x to 2.5x speed-up on Haswell CPUs with AVX2.
Algorithm is compatible with future AVX-512 architectures.
Improved energy efficiency by reducing data movement.
Abstract
In current computer architectures, data movement (from die to network) is by far the most energy consuming part of an algorithm (10pJ/word on-die to 10,000pJ/word on the network). To increase memory locality at the hardware level and reduce energy consumption related to data movement, future exascale computers tend to use more and more cores on each compute nodes ("fat nodes") that will have a reduced clock speed to allow for efficient cooling. To compensate for frequency decrease, machine vendors are making use of long SIMD instruction registers that are able to process multiple data with one arithmetic operator in one clock cycle. SIMD register length is expected to double every four years. As a consequence, Particle-In-Cell (PIC) codes will have to achieve good vectorization to fully take advantage of these upcoming architectures. In this paper, we present a new algorithm that allows…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
