VecGeom Library
VecGeom Developers 4 May 2022
Brief History and Overview of VecGeom
2
Geant4 Solids
1995
ROOT
TGeo
2002
AIDA USolids
2010
VecGeom
AIDA 2020
2013
Dec 2017
May 2021
May 2022
VecGeom
v0.5
VecGeom
v1.1.14
VecGeom
v1.2.0
VecGeom
v1.1.16
Jun 2021
BVH on CPU
BVH on GPU
Latest Release
R&D
Production, adoption by experiments
Jun 2018
VecGeom
v1.0
GDML Reader
Brief History and Overview of VecGeom
3
Commit activity
VecGeom’s Backend Concept
4
using VectorBackend = vecCore::backend::VcVectorT<Precision>;
using Real_v = vecgeom::VectorBackend::Real_v;
Implementation<Real_v>
Recent improvements for support on GPUs
5
Global Navigation Index
6
PWorld
PA_0
PA_1
PA_2
PB_0
PC_0
PB_0
PC_0
PB_0
PC_0
0
1
2
3
2
2
3
3
4
5
Transformation Matrix Caching
7
Depth Cached
Size [MB]
Less than 250 MB for full caching
Caching transformation matrices avoids having to recompute them during navigation, improving run time performance.
Support for single-precision in VecGeom
8
Bounding Volume Hierarchy Acceleration
9
Track ML Geometry
Surface Area Heuristic (SAH) Algorithm
10
Split along longest axis, no subdivisions.
SAH now correctly computes subdivisions.
Bounding Volume Hierarchy CPU Performance
11
test/XRayBenchmarkFromROOTFile test/cms2015.root MUON y 500
Bounding Volume Hierarchy GPU Performance
12
Speedup of AdePT simulation of 50 primary electrons at 100 GeV using example 9 (no BVH) and example 11 (BVH) for TrackML geometry, and 1000 primary electrons at 10 GeV using example 13 for CMS geometry (replacing navigators for each run). TrackML uses very few solid types (hence has lower thread divergence on the GPU) compared to CMS. TrackML also has more volumes with many children, which benefit more from BVH acceleration. This translates into a much bigger speedup from BVH acceleration for TrackML geometry than for CMS. Energy deposition and number of secondaries are nearly the same for examples 9 and 11, and between runs of example 13 with/without BVH.
Remarks on GPU Performance
13
Conclusions
14