diff --git a/CMakePresets.json b/CMakePresets.json index 55a0116db..bdef7e33a 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -29,22 +29,23 @@ }, { "name": "dev-fp32", - "displayName": "FP32 Developer Configuration: Build all Dependencies", + "displayName": "FP32 Developer Configuration: Build main components", "inherits": [ "default-fp32" ], "cacheVariables": { "DETRAY_BUILD_TESTING": "TRUE", - "DETRAY_SETUP_EIGEN": "TRUE", - "DETRAY_SETUP_FASTOR": "TRUE", - "DETRAY_SETUP_VC": "TRUE", - "DETRAY_SETUP_ACTSVG": "TRUE", - "DETRAY_SETUP_BENCHMARK": "TRUE", - "DETRAY_SETUP_COVFIE": "TRUE", - "DETRAY_SETUP_NLOHMANN": "TRUE" + "DETRAY_BUILD_BENCHMARKS": "TRUE", + "DETRAY_BUILD_UNITTESTS": "TRUE", + "DETRAY_BUILD_INTEGRATIONTESTS": "TRUE", + "DETRAY_EIGEN_PLUGIN": "TRUE", + "DETRAY_VC_AOS_PLUGIN": "TRUE", + "DETRAY_VC_SOA_PLUGIN": "TRUE", + "DETRAY_SVG_DISPLAY": "TRUE", + "DETRAY_FAIL_ON_WARNINGS": "TRUE" } }, { "name": "dev-fp64", - "displayName": "FP64 Developer Configuration: Build all Dependencies", + "displayName": "FP64 Developer Configuration: Build main components", "inherits": [ "dev-fp32" ], "cacheVariables": { "DETRAY_CUSTOM_SCALARTYPE" : "double" @@ -53,19 +54,13 @@ { "name": "full-fp32", "displayName": "FP32 Developer Configuration: Full Build", - "inherits": [ "default-fp32" ], + "inherits": [ "dev-fp32" ], "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo", - "DETRAY_EIGEN_PLUGIN" : "TRUE", - "DETRAY_FASTOR_PLUGIN" : "TRUE", - "DETRAY_VC_AOS_PLUGIN" : "TRUE", - "DETRAY_VC_SOA_PLUGIN" : "TRUE", - "DETRAY_SMATRIX_PLUGIN" : "TRUE", - "DETRAY_BUILD_UNITTESTS": "TRUE", - "DETRAY_BUILD_INTEGRATIONTESTS": "TRUE", "DETRAY_BUILD_TUTORIALS": "TRUE", - "DETRAY_BUILD_BENCHMARKS": "TRUE", - "DETRAY_BUILD_CLI_TOOLS": "TRUE" + "DETRAY_BUILD_CLI_TOOLS": "TRUE", + "DETRAY_FASTOR_PLUGIN" : "TRUE", + "DETRAY_SMATRIX_PLUGIN" : "TRUE" } }, { @@ -77,65 +72,63 @@ } }, { - "name" : "cuda", - "displayName" : "CUDA Developer Configuration", - "inherits" : [ "default-fp32" ], + "name" : "cuda-fp32", + "displayName" : "CUDA FP32 Developer Configuration", + "inherits" : [ "dev-fp32" ], "cacheVariables" : { "DETRAY_BUILD_CUDA" : "TRUE", - "DETRAY_FASTOR_PLUGIN" : "FALSE", "DETRAY_VC_AOS_PLUGIN" : "FALSE", - "DETRAY_VC_SOA_PLUGIN" : "FALSE", - "DETRAY_SMATRIX_PLUGIN" : "FALSE" + "DETRAY_VC_SOA_PLUGIN" : "FALSE" + } + }, + { + "name": "cuda-fp64", + "displayName": "CUDA FP64 Developer Configuration", + "inherits" : [ "cuda-fp32" ], + "cacheVariables" : { + "DETRAY_CUSTOM_SCALARTYPE" : "double" } }, { - "name" : "sycl", - "displayName" : "SYCL Developer Configuration", - "inherits" : [ "default-fp32" ], + "name" : "sycl-fp32", + "displayName" : "SYCL FP32 Developer Configuration", + "inherits" : [ "dev-fp32" ], "cacheVariables" : { "DETRAY_BUILD_SYCL" : "TRUE", - "DETRAY_FASTOR_PLUGIN" : "FALSE", "DETRAY_VC_AOS_PLUGIN" : "FALSE", - "DETRAY_VC_SOA_PLUGIN" : "FALSE", - "DETRAY_SMATRIX_PLUGIN" : "FALSE" + "DETRAY_VC_SOA_PLUGIN" : "FALSE" } }, { - "name": "hip-fp32", - "displayName": "HIP Developer Configuration", - "inherits" : [ "default-fp32" ], + "name": "sycl-fp64", + "displayName": "SYCL FP64 Developer Configuration", + "inherits" : [ "sycl-fp32" ], "cacheVariables" : { - "DETRAY_BUILD_HIP" : "TRUE", - "DETRAY_FASTOR_PLUGIN" : "FALSE", - "DETRAY_VC_AOS_PLUGIN" : "FALSE", - "DETRAY_VC_SOA_PLUGIN" : "FALSE", - "DETRAY_SMATRIX_PLUGIN" : "FALSE" + "DETRAY_CUSTOM_SCALARTYPE" : "double" } }, - { - "name": "hip-fp64", - "displayName": "HIP Developer Configuration", - "inherits" : [ "default-fp64" ], + { + "name": "hip-fp32", + "displayName": "HIP FP32 Developer Configuration", + "inherits" : [ "dev-fp32" ], "cacheVariables" : { "DETRAY_BUILD_HIP" : "TRUE", - "DETRAY_FASTOR_PLUGIN" : "FALSE", "DETRAY_VC_AOS_PLUGIN" : "FALSE", - "DETRAY_VC_SOA_PLUGIN" : "FALSE", - "DETRAY_SMATRIX_PLUGIN" : "FALSE" + "DETRAY_VC_SOA_PLUGIN" : "FALSE" } }, { - "name" : "smatrix", - "displayName" : "SMatrix Developer Configuration", - "inherits" : [ "default-fp64" ], + "name": "hip-fp64", + "displayName": "HIP FP64 Developer Configuration", + "inherits" : [ "hip-fp32" ], "cacheVariables" : { - "DETRAY_SMATRIX_PLUGIN" : "TRUE" + "DETRAY_CUSTOM_SCALARTYPE" : "double" } }, { "name" : "gitlab-cuda-ci", "displayName" : "Gitlab CUDA CI Configuration", - "inherits" : [ "default-fp32", "cuda" ], + "inherits" : [ "default-fp32", "cuda-fp32" ], "cacheVariables" : { "BUILD_TESTING" : "TRUE", "DETRAY_BUILD_HOST" : "FALSE", @@ -151,7 +144,7 @@ { "name" : "gitlab-sycl-ci", "displayName" : "Gitlab SYCL CI Configuration", - "inherits" : [ "default-fp32", "sycl" ], + "inherits" : [ "default-fp32", "sycl-fp32" ], "cacheVariables" : { "BUILD_TESTING" : "TRUE", "DETRAY_BUILD_HOST" : "FALSE", diff --git a/cmake/detray-compiler-options-cuda.cmake b/cmake/detray-compiler-options-cuda.cmake index bc8a3c653..68bb4946d 100644 --- a/cmake/detray-compiler-options-cuda.cmake +++ b/cmake/detray-compiler-options-cuda.cmake @@ -34,8 +34,17 @@ if(PROJECT_IS_TOP_LEVEL) # Make CUDA generate debug symbols for the device code as well in a debug # build. - detray_add_flag( CMAKE_CUDA_FLAGS_DEBUG "-G -src-in-ptx" ) - detray_add_flag( CMAKE_CUDA_FLAGS_RELWITHDEBINFO "-lineinfo -src-in-ptx" ) + detray_add_flag( CMAKE_CUDA_FLAGS_DEBUG "-G" ) + detray_add_flag( CMAKE_CUDA_FLAGS_RELWITHDEBINFO "-lineinfo" ) + if(CUDAToolkit_VERSION VERSION_GREATER_EQUAL "12.8") + message( + STATUS + "Disabling C++ source in PTX in order to work around a bug in CUDA 12.8." + ) + else() + detray_add_flag( CMAKE_CUDA_FLAGS_DEBUG "-src-in-ptx" ) + detray_add_flag( CMAKE_CUDA_FLAGS_RELWITHDEBINFO "-src-in-ptx" ) + endif() # Fail on warnings, if asked for that behaviour. if(DETRAY_FAIL_ON_WARNINGS)