A vectorization approach for multifaceted solids in VecGeom
VecGeom [1] 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 [2] abstracti...
Main Authors: | , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
EDP Sciences
2019-01-01
|
Series: | EPJ Web of Conferences |
Online Access: | https://www.epj-conferences.org/articles/epjconf/pdf/2019/19/epjconf_chep2018_02025.pdf |
id |
doaj-8e05d639b1db49b5835780dd5d0ad368 |
---|---|
record_format |
Article |
spelling |
doaj-8e05d639b1db49b5835780dd5d0ad3682021-08-02T09:06:23ZengEDP SciencesEPJ Web of Conferences2100-014X2019-01-012140202510.1051/epjconf/201921402025epjconf_chep2018_02025A vectorization approach for multifaceted solids in VecGeomApostolakis JohnCosmo GabrieleGheata AndreiGheata MihaelaSehgal RamanWenzel SandroVecGeom [1] 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 [2] 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 [3] prototype. VecGeom allows also scalar queries for all the supported solids, an option that started being used in Geant4 [4] 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.https://www.epj-conferences.org/articles/epjconf/pdf/2019/19/epjconf_chep2018_02025.pdf |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Apostolakis John Cosmo Gabriele Gheata Andrei Gheata Mihaela Sehgal Raman Wenzel Sandro |
spellingShingle |
Apostolakis John Cosmo Gabriele Gheata Andrei Gheata Mihaela Sehgal Raman Wenzel Sandro A vectorization approach for multifaceted solids in VecGeom EPJ Web of Conferences |
author_facet |
Apostolakis John Cosmo Gabriele Gheata Andrei Gheata Mihaela Sehgal Raman Wenzel Sandro |
author_sort |
Apostolakis John |
title |
A vectorization approach for multifaceted solids in VecGeom |
title_short |
A vectorization approach for multifaceted solids in VecGeom |
title_full |
A vectorization approach for multifaceted solids in VecGeom |
title_fullStr |
A vectorization approach for multifaceted solids in VecGeom |
title_full_unstemmed |
A vectorization approach for multifaceted solids in VecGeom |
title_sort |
vectorization approach for multifaceted solids in vecgeom |
publisher |
EDP Sciences |
series |
EPJ Web of Conferences |
issn |
2100-014X |
publishDate |
2019-01-01 |
description |
VecGeom [1] 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 [2] 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 [3] prototype. VecGeom allows also scalar queries for all the supported solids, an option that started being used in Geant4 [4] 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. |
url |
https://www.epj-conferences.org/articles/epjconf/pdf/2019/19/epjconf_chep2018_02025.pdf |
work_keys_str_mv |
AT apostolakisjohn avectorizationapproachformultifacetedsolidsinvecgeom AT cosmogabriele avectorizationapproachformultifacetedsolidsinvecgeom AT gheataandrei avectorizationapproachformultifacetedsolidsinvecgeom AT gheatamihaela avectorizationapproachformultifacetedsolidsinvecgeom AT sehgalraman avectorizationapproachformultifacetedsolidsinvecgeom AT wenzelsandro avectorizationapproachformultifacetedsolidsinvecgeom AT apostolakisjohn vectorizationapproachformultifacetedsolidsinvecgeom AT cosmogabriele vectorizationapproachformultifacetedsolidsinvecgeom AT gheataandrei vectorizationapproachformultifacetedsolidsinvecgeom AT gheatamihaela vectorizationapproachformultifacetedsolidsinvecgeom AT sehgalraman vectorizationapproachformultifacetedsolidsinvecgeom AT wenzelsandro vectorizationapproachformultifacetedsolidsinvecgeom |
_version_ |
1721235539397443584 |