Umpire icon indicating copy to clipboard operation
Umpire copied to clipboard

Compilation broken with CUDA 13

Open YvanFournier opened this issue 2 months ago • 1 comments

When compiling with CUDA 13, I get the following error

Umpire/src/umpire/op/CudaAdviseOperation.cpp:24:66: error: could not convert 'device' from 'int' to 'cudaMemLocation'
   24 |   cudaError_t error = ::cudaMemAdvise(src_ptr, length, m_advice, device);
      |                                                                  ^~~~~~

This is due to a change in the CUDA API (to provide more information on the CPU NUMA location if I understand correctly).

Something in the following form would be needed:

#if CUDART_VERSION >= 13'00'0
   cudaError_t error = ::cudaMemAdvise(src_ptr, length, m_advice, {.type = cudaMemLocationTypeDevice, .id = device});
#else
   cudaError_t error = ::cudaMemAdvise(src_ptr, length, m_advice, device);
#endif

(though I am not sure about the .type argument might not be correct in this example).

YvanFournier avatar Nov 08 '25 12:11 YvanFournier

seems compilation passed on my machine now with CUDA 13. (head@7d23b8b9314089f45430f817cba2a4341d2a3819)

StarGazerM avatar Dec 07 '25 02:12 StarGazerM

Fixed in #1029

davidbeckingsale avatar Dec 17 '25 16:12 davidbeckingsale