Parallelization of an Implicit Algorithm for Multi-Dimensional Particle-in-Cell Simulations (Communications in Computational Physics, 2014)
The implicit 2D3V particle-in-cell (PIC) code developed to study the interaction of ultrashort pulse lasers with matter [G. M. Petrov and J. Davis, Computer Phys.Comm. 179, 868 (2008); Phys. Plasmas 18, 073102 (2011)] has been parallelized usingMPI (Message Passing Interface). The parallelization strategy is optimized for a smallnumber of computer cores, up to about 64. Details on the algorithm implementationare given with emphasis on code optimization by overlapping computations with communications. Performance evaluation for 1D domain decomposition has been madeon a small Linux cluster with 64 computer cores for two typical regimes of PIC operation: "particle dominated", for which the bulk of the computation time is spent onpushing particles, and "field dominated", for which computing the fields is prevalent.For a small number of computer cores, less than 32, the MPI implementation offers asignificant numerical speed-up. In the "particle dominated" regime it is close to themaximum theoretical one, while in the "field dominated" regime it is about 75-80%of the maximum speed-up. For a number of cores exceeding 32, performance degradation takes place as a result of the adopted 1D domain decomposition. The codeparallelization will allow future implementation of atomic physics and extension tothree dimensions.