Speaker
Description
VecGeom is a multi-purpose geometry library targeting the optimisation of the 3D-solid's algorithms used extensively in particle transport and tracking applications. As a particular feature, the implementations of these algorithms are templated on the input data type and are explicitly vectorised using VecCore library in case of SIMD vector inputs. This provides additional performance for applications supporting a multi-particle flow, such as the GeantV prototype. VecGeom became a fully-supported option in Geant4 since the release 10.2, replacing on demand the functionality provided by the native Geant4 solids. In this mode, VecGeom is called in scalar mode and SIMD benefits can be achieved by internal vectorization of the geometry algorithms allowing it. 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 multi-faceted shapes, such as the extruded polygon, the polyhedra and different trapezoids. The paper will 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.