Fast parallel Particle-To-Grid interpolation for plasma PIC simulations on the GPU

Particle-In-Cell (PIC) methods have been widely used for plasma physics simulations in the past three decades. To ensure an acceptable level of statistical accuracy relatively large numbers of particles are needed. State-of-the-art Graphics Processing Units (GPUs), with their high memory bandwidth, hundreds of SPMD processors, and half-a-teraflop performance potential, offer a viable alternative to distributed memory parallel computers for running medium-scale PIC plasma simulations on inexpensive commodity hardware. In this paper, we present an overview of a typical plasma PIC code and discuss its GPU implementation. In particular we focus on fast algorithms for the performance bottleneck operation of Particle-To-Grid interpolation.

[1]  Ramani Duraiswami,et al.  Middleware for programming NVIDIA GPUs from Fortran 9X , 2007 .

[2]  Amitabh Varshney,et al.  High-performance Computation and Visualization of Plasma Turbulence on Graphics Processors , 2008 .

[3]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[4]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[5]  C. Birdsall,et al.  Plasma Physics via Computer Simulation , 2018 .

[6]  W. Dorland,et al.  Discrete Particle Noise in Particle-in-Cell Simulations of Plasma Microturbulence , 2005 .

[7]  Kevin J. Bowers,et al.  Accelerating a paricle -in-cell simulation using a hybrid counting sort , 2001 .

[8]  Viktor K. Decyk,et al.  Skeleton PIC Codes for Parallel Computers , 1995 .

[9]  Viktor Przebinda,et al.  Some Improvements in PIC performance through sorting , caching , and dynamic load balancing , 2005 .

[10]  Amitabh Varshney,et al.  Using Graphics Processors for High-Performance Computation and Visualization of Plasma Turbulence , 2009, Computing in Science & Engineering.

[11]  David Tskhakaya,et al.  Optimization of PIC codes by improved memory management , 2007, J. Comput. Phys..

[12]  Sanguthevar Rajasekaran,et al.  Handbook of Parallel Computing - Models, Algorithms and Applications , 2007 .

[13]  Klaus Schulten,et al.  Accelerating Molecular Modeling Applications with GPU Computing , 2009 .

[14]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[15]  Tobias Schaeffter,et al.  Accelerating the Nonequispaced Fast Fourier Transform on Commodity Graphics Hardware , 2008, IEEE Transactions on Medical Imaging.

[16]  Ramani Duraiswami,et al.  Fast multipole methods on graphics processors , 2008, J. Comput. Phys..