As outlined in VecGeom README and build scripts, we have to be very careful about linking to its CUDA component when we ourselves use VecGeom's CUDA functions. This is a small update to AdePT to use these recommendations:
Linking to vecgeomcuda privately, adding vecgeomcuda_static to the device link step.
Use CUDA_RUNTIME_LIBRARY as "Shared" to link to same runtime as used by vecgeomcuda
The public link to vecgeom is retained currently due to AdePT_G4_integration still exposing some of VecGeom in its interfaces, which is fine for now.
This change is required to allow use of G4VG for in memory use of Geant4-VecGeom conversions, but I've submitted just the linking change in isolation first to cross-check if this exposes as-needed (it doesn't locally at least) or performance issues.
As outlined in VecGeom README and build scripts, we have to be very careful about linking to its CUDA component when we ourselves use VecGeom's CUDA functions. This is a small update to AdePT to use these recommendations:
vecgeomcuda
privately, addingvecgeomcuda_static
to the device link step.CUDA_RUNTIME_LIBRARY
as "Shared" to link to same runtime as used byvecgeomcuda
The public link to
vecgeom
is retained currently due toAdePT_G4_integration
still exposing some of VecGeom in its interfaces, which is fine for now.This change is required to allow use of G4VG for in memory use of Geant4-VecGeom conversions, but I've submitted just the linking change in isolation first to cross-check if this exposes
as-needed
(it doesn't locally at least) or performance issues.