GPU acceleration and performance of the particle-beam-dynamics code Elegant
Tech-X Corporation, Boulder CO 80303, USA
arXiv:1710.07350 [physics.comp-ph], (19 Oct 2017)
@article{king2017acceleration,
title={GPU acceleration and performance of the particle-beam-dynamics code Elegant},
author={King, J.R. and Pogorelov, I.V. and Amyx, K.M. and Borland, M. and Soliday, R.},
year={2017},
month={oct},
archivePrefix={"arXiv"},
primaryClass={physics.comp-ph}
}
Elegant is an accelerator physics and particle-beam dynamics code widely used for modeling and design of a variety of high-energy particle accelerators and accelerator-based systems. In this paper we discuss a recently developed version of the code that can take advantage of CUDA-enabled graphics processing units (GPUs) to achieve significantly improved performance for a large class of simulations that are important in practice. The GPU version is largely defined by a framework that simplifies implementations of the fundamental kernel types that are used by Elegant: particle operations, reductions, particle loss, histograms, array convolutions and random number generation. Accelerated performance on the Titan Cray XK-7 supercomputer is approximately 6-10 times better with the GPU than all the CPU cores associated with the same node count. In addition to performance, the maintainability of the GPU-accelerated version of the code was considered a key design objective. Accuracy with respect to the CPU implementation is also a core consideration. Four different methods are used to ensure that the accelerated code faithfully reproduces the CPU results.
October 24, 2017 by hgpu