GeantV: from CPU to accelerators
P. Canal, F. Carminati, A. Gheata, S. Wenzel, S.Y. Jun, G. Amadio, J. Apostolakis, A. Arora, M. Bandieramonte, A. Bhattacharyya, C. De Paula Bianchini, R. Brun, D. Elvira, M. Gheata, I. Goulas, R. Iope, G. Lima, A.K. Mohanty, T. Nikitina, A. Ananya, M. Novak, W. Pokorski, A. Ribon, R. Sehgal, O. Shadura, S. Vallecorsa, Y. Zhang
The GeantV project aims to research and develop the next generation simulation software describing the passage of particles through matter, targeting not only modern CPU architectures, but also more exotic resources such as GPGPU, Intel© Xeon Phi, Atom or ARM, which cannot be ignored any more for HEP computing. While the proof of concept GeantV prototype has been mainly engineered for CPU threads, we have foreseen from early stages a bridge for such accelerators, materialized in the form of architecture/technology specific backend templates. This approach allows to abstract out not only basic types such as scalar/vector, but also to formalize generic computation kernels using transparently library or device specific constructs based on several industry leading libraries. While the main goal of this approach is performance and access to functionality, this comes as bonus with the insulation of the core application and algorithms from the technology layer, allowing our application to be long term maintainable and versatile to changes at the backend side. The talk will present the early results of basket-based GeantV geometry navigation on the Intel© Xeon and Intel© Xeon Phi KNC architecture, as well as the work done for making the transport NUMA aware. We will present a detailed scalability and vectorization study conducted using Intel performance tools, as well as our preliminary conclusions on the use of accelerators for GeantV transport. We will also describe the current work and preliminary results for using the GeantV transport kernel on GPUs.