Dynamic load-balancing and GPU computing with the particle-in-cell code PSC
POSTER
Abstract
We have developed a new version of the Particle Simulation Code (PSC), originally written by H. Ruhl. The new code is designed with state-of-the-art and future massively parallel high-performance computers in mind, and has extensible support for various physics modules, e.g., modeling collisions and QED effects. At its core, the code uses the explicit particle-in-cell method to solve the Vlasov-Maxwell equations in 3D and in reduced dimensions. We will present scaling results on Cray and IBM Bluegene supercomputers up to 100k cores. We developed a novel dynamic load balancing method based on space-filling curves that reduce the imbalance of a sample production run from a factor of larger than 2 to just a few percent. Graphics Processing Units (GPUs) have shown large promise in achieving substantially enhanced performance over conventional processors, but it is hard to find particle-in-cell algorithms that efficiently exploit the fine-grained parallelism provided through nvidia's CUDA programming model. We will present different algorithms and evaluate the performance achieved.
Authors
-
Kai Germaschewski
University of New Hampshire
-
Hartmut Ruhl
Ludwig-Maximilians-Universitaet Muenchen
-
Amitava Bhattacharjee
Space Science Center, University of New Hampshire, Durham NH 03824, Space Science Center, University of New Hampshire, University of New Hampshire