apt-sim / AdePT

Accelerated demonstrator of electromagnetic Particle Transport
Apache License 2.0
25 stars 34 forks source link

Use VecGeom recommendations for device linking #285

Closed drbenmorgan closed 4 months ago

drbenmorgan commented 5 months ago

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:

  1. Linking to vecgeomcuda privately, adding vecgeomcuda_static to the device link step.
  2. 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.

phsft-bot commented 5 months ago

Can one of the admins verify this patch?

drbenmorgan commented 4 months ago

Closing as superseded by #289