A vectorization approach for multifaceted solids in VecGeom
European Organization for Nuclear Research (CERN),
2 Institute of Space Science (ISS), Bucharest,
3 Bhabha Atomic Research Centre (BARC), India
* Corresponding author: e-mail: firstname.lastname@example.org
Published online: 17 September 2019
VecGeom  is a multi-purpose geometry library targeting the optimisation of the 3D-solids’ algorithms used extensively in particle transport and tracking applications. The implementations of these algorithms are templated on the input data type and are vectorised based on the VecCore  abstraction library in case of multiple inputs in a SIMD vector. This provides additional performance for applications supporting a multi-particle flow, such as the GeantV  prototype. VecGeom allows also scalar queries for all the supported solids, an option that started being used in Geant4  since the release 10.2, as optional replacement of the geometry functionality provided by the native Geant4 solids. In single particle mode, VecGeom can still issue SIMD instructions by vectorizing the geometry algorithms featuring loops over internal data structures. This approach has proven to bring very large benefits for the tessellated solids represented in terms of triangular facets. To expose more vectorization in the scalar mode we have extended the approach used for the triangular tessellations to other multifaceted shapes, such as the extruded polygon, the poly-hedra and different trapezoids. We hereby present the strategy used to vectorise the different processing phases for tessellated solids, the performance improvements compared to the previous scalar implementations for other solids using this approach, and how this is reflected in Geant4 simulations using VecGeom as geometry engine.
© 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.