Skip to content

Revert constexpr to __host__ __device__ for thrust::tuple

Revert constexpr to __host__ __device__ (reverts part of !446 (merged))

For older CUDA versions thrust::tuple is not constexpr and the changed line does not compile. We use the Phoenix cluster in our CI pipeline, which has an old CUDA version. Therefore, I reverted from constexpr to __host__ __device__.

Appendix: error message on older CUDA version:

/home/[MASKED]/multigpu_test_4_gpu/src/gpu/core/Samplers/WallModelProbe.cu(147): error: a constexpr function cannot have a parameter of nonliteral type "thrust::tuple<real, uint, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>"
      constexpr real operator()(thrust::tuple<real, uint> x)
                     ^
1 error detected in the compilation of "/home/[MASKED]/multigpu_test_4_gpu/src/gpu/core/Samplers/WallModelProbe.cu".
Edited by Anna Wellmann

Merge request reports