Riccardo De Maria
Beam-dynamics simulations contribute crucial insights towards the successful design, maintenance, operation, troubleshooting, and optimisation of particle accelerators. Different fields of interest and domain-specific requirements have given rise to the development of a range of simulation tools. One such tool, SixTrack, places a strong focus on numerical stability over a large number of turns in circular accelerators, numerical reproducibility and accuracy, and a high level of efficiency. It has been in active development and use for over two decades and, thanks to its single-particle tracking approach, is a prime candidate for utilising massively parallel architectures, especially graphical processing units (GPUs). Additionally, use-cases emerged where having particle tracking functionality as an embedded building block within a larger simulation rather than as a stand-alone external program turned out to be more practical. All of this motivated the development of SixTrackLib, an open-source, self-contained, embeddable re-implementation of SixTracks core functionality into a high-performance-computing library.
Within this presentation, which represents the results of the first two years of my PhD thesis, I introduce the design and implementation of SixTrackLib. I demonstrate the clear separation between architecture specific- and business logic code on the one hand and the models covering the physics on the other hand, using the range of currently supported computing back-ends (CPU, OpenCL, CUDA). I summarize the different approaches towards adapting and extending SixTrackLib for different usage scenarios and outline the mechanisms which allow SixTrackLib to interface with other simulation tools and stand-alone programs. Exemplary results from early applications of SixTrackLib further demonstrate the feasibility and practicality of these integration approaches. An overview about the currently achievable performance emphasises the usefulness of SixTrackLib already at its present stage and identifies areas of future optimisation and improvements.