Memory-Efficient Parallel Simulation of Electron Beam Dynamics Using GPUs
Kamesh Arumugam, Desh Ranjan, Mohammad Zubair, Balša Terzić, Alexander Godunov · 2016
Accurate simulation of collective effects in electron beams is one of the most challenging and computationally intractable problems in accelerator physics. More recently, researchers have developed a GPU-accelerated, high-fidelity simulation of electron beam dynamics that models the collective effects much more accurately. The simulation, however, is heavily data-intensive and memory-bound. In particular, data-dependent, irregular memory access patterns and control-flow in the collective effects computation phase of the simulation leads to a large number of non-coalesced memory accesses on the GPU. This significantly deteriorates the overall performance. Moreover, the parallel simulation exhibits poor data locality. This, together with non-coalesced memory accesses, leads to ineffective use of the memory hierarchy. We present a novel cache-aware algorithm that uses a locality heuristic to maximize data reuse by improving data locality. Additionally, the algorithm uses a control-flow heuristic to balance the workload among threads. The control-flow heuristic also minimizes threads divergence and enables reuse of partial results of previous iterations and thereby reducing the overall operation count. Experimental results on NVIDIA Tesla K40 GPU shows that our approach delivers up to 450 Gflops of double precision performance, which translates to a speedup of up to 16X compared with the current state-of-the-art GPU implementation.