Implementation of a Particle Accelerator Beam Dynamics Code on Multi-Node GPUs
- Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States); Chinese Academy of Sciences, Beijing (China). Inst. of High Energy Physics, Key Lab. of Particle Acceleration Physics and Technology
- Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Particle accelerators play an important role in a wide range of scientific discoveries and industrial applications. The self-consistent multi-particle simulation based on the particle-in-cell (PIC) method has been used to study charged particle beam dynamics inside those accelerators. However, the PIC simulation is time-consuming and needs to use modern parallel computers for high-resolution applications. In this paper, we implemented a parallel beam dynamics PIC code on multi-node hybrid architecture computers with multiple Graphics Processing Units (GPUs). We used two methods to parallelize the PIC code on multiple GPUs and observed that the replication method is a better choice for moderate problem size and current computer hardware while the domain decomposition method might be a better choice for large problem size and more advanced computer hardware that allows direct communications among multiple GPUs. Using the multi-node hybrid architectures at Oak Ridge Leadership Computing Facility (OLCF), the optimized GPU PIC code achieves a reasonable parallel performance and scales up to 64 GPUs with 16 million particles.
- Research Organization:
- Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
- Sponsoring Organization:
- USDOE Office of Science (SC), Basic Energy Sciences (BES)
- Grant/Contract Number:
- AC02-05CH11231
- OSTI ID:
- 1570231
- Journal Information:
- Journal of Software Engineering and Applications, Vol. 12, Issue 9; ISSN 1945-3116
- Publisher:
- Scientific Research Publishing Inc. (SCIRP)Copyright Statement
- Country of Publication:
- United States
- Language:
- English
Similar Records
Symplectic multi-particle tracking on GPUs
Targeting GPUs with OpenMP directives on Summit: A simple and effective Fortran experience