Recent progress with the top to bottom approach to vectorization in GeantV
European Organization for Nuclear Research (CERN),
2 University of Pittsburgh, 4200 Fifth Avenue, Pittsburgh, PA 15260, USA
3 Bhabha Atomic Research Centre (BARC), India
4 Fermi National Accelerator Laboratory (FNAL), USA
5 Institute of Space Science (ISS), Romania
6 Tomsk State University, Tomsk, Russia
7 Centro de Investigación en Computación (CIC-IPN), Mexico
8 NRC Kurchatov Institute (IHEP) Protvino, Russia
* e-mail: email@example.com
Published online: 17 September 2019
SIMD acceleration can potentially boost by factors the application throughput. Achieving efficient SIMD vectorization for scalar code with complex data flow and branching logic, goes however way beyond breaking some loop dependencies and relying on the compiler. Since the refactoring effort scales with the number of lines of code, it is important to understand what kind of performance gains can be expected in such complex cases. We started to investigate a couple of years ago a top to bottom vectorization approach to particle transport simulation. Percolating vector data to algorithms was mandatory since not all the components can internally vectorize. Vectorizing low-level algorithms is certainly necessary, but not sufficient to achieve relevant SIMD gains. In addition, the overheads for maintaining the concurrent vector data flow and copy data have to be minimized. In the context of a vectorization R&D for simulation we developed a framework to allow different categories of scalar and vectorized components to co-exist, dealing with data flow management and real-time heuristic optimizations. The paper describes our approach on coordinating SIMD vectorization at framework level, making a detailed quantitative analysis of the SIMD gain versus overheads, with a breakdown by components in terms of geometry, physics and magnetic field propagation. We also present the more general context of this R&D work and goals for 2018.
© The Authors, published by EDP Sciences, 2019
This is an Open Access article distributed under the terms of the Creative Commons Attribution License 4.0, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.