Title of article :
An efficient mixed-precision, hybrid CPU–GPU implementation of a nonlinearly implicit one-dimensional particle-in-cell algorithm
Author/Authors :
Chen، نويسنده , , G. and Chacَn، نويسنده , , L. and Barnes، نويسنده , , D.C.، نويسنده ,
Issue Information :
روزنامه با شماره پیاپی سال 2012
Abstract :
Recently, an implicit, nonlinearly consistent, energy- and charge-conserving one-dimensional (1D) particle-in-cell method has been proposed for multi-scale, full-f kinetic simulations [G. Chen et al., J. Comput. Phys. 230 (18) (2011)]. The method employs a Jacobian-free Newton–Krylov (JFNK) solver, capable of using very large timesteps without loss of numerical stability or accuracy. A fundamental feature of the method is the segregation of particle-orbit computations from the field solver, while remaining fully self-consistent. This paper describes a very efficient, mixed-precision hybrid CPU–GPU implementation of the 1D implicit PIC algorithm exploiting this feature. The JFNK solver is kept on the CPU in double precision (DP), while the implicit, charge-conserving, and adaptive particle mover is implemented on a GPU (graphics processing unit) using CUDA in single-precision (SP). Performance-oriented optimizations are introduced with the aid of the roofline model. The implicit particle mover algorithm is shown to achieve up to 400 GOp/s on a Nvidia GeForce GTX580. This corresponds to 25% absolute GPU efficiency against the peak theoretical performance, and is about 100 times faster than an equivalent single-core CPU (Intel Xeon X5460) compiler-optimized execution. For the test case chosen, the mixed-precision hybrid CPU–GPU solver is shown to over-perform the DP CPU-only serial version by a factor of ∼100, without apparent loss of robustness or accuracy in a challenging long-timescale ion acoustic wave simulation.
Keywords :
Jacobian-free Newton–Krylov solver , Heterogeneous architecture , Particle enslavement , Energy and charge conserving , Implicit particle in cell , multi-scale , Ion-acoustic wave , GPU computing
Journal title :
Journal of Computational Physics
Journal title :
Journal of Computational Physics