-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use CudaRdcUtils module to build/link/use AdePT
Due to VecGeom's legacy CUDA design and the exposure of device functions in public APIs of libraries, ensuring correct singular device links in final executables is awkward. The Celeritas project has evolved the build/link pattern used in VecGeom into the "CudaRdcUtils" CMake module that enables projects using VecGeom (or building libraries that expose device APIs) to be correctly integrated and used by downstream clients. This is acheived through the use of custom CMake properties and wrappers around the fundamental target_XXX interfaces CMake provides, making use as transparent as it can be given the problem faced. Use CudaRdcUtils to build, link, install, and use AdePT - Provide FindVecGeom wrapper module to add RDC properties to VecGeom targets - Replace target_XXX calls with cuda_rdc_XXX equivalents - Remove obsolete "AdePT_cuda" and "AdePT_standalone" libraries that CudaRdcUtils build and handles automatically - Install and use FindVecGeom and CudaRdcUtils for use by downstream clients Tests and executables build and run successfully on a local Rocky 9, GCC11, CUDA 12 environment.
- Loading branch information
1 parent
f0a1c30
commit c699300
Showing
8 changed files
with
79 additions
and
133 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters