Dynamic Load-balancing and GPU Computing With the Particle-In-Cell Code PSC
Abstract
We have developed a new version of the Particle Simulation Code (PSC), originally written by H. Ruhl. The new code is designed with contemporary 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. 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 recently developed a novel dynamic load balancing method based on space-filling curves that reduces 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, with a focus on the charge-conservative current deposition step used in PSC. As an application, we numerically investigate the stability of the kinetic mirror mode, which is often observed in Earth's magnetosphere. We study the dependence of the growth rate on electron and ion pressure anisotropy.
- Publication:
-
AGU Fall Meeting Abstracts
- Pub Date:
- December 2011
- Bibcode:
- 2011AGUFMIN13A1323G
- Keywords:
-
- 1932 INFORMATICS / High-performance computing;
- 2753 MAGNETOSPHERIC PHYSICS / Numerical modeling