You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/Users/jfaibussowit/soft/nv/legate.core.internal/arch-cu-driver/cmake_build/_deps/kvikio-src/cpp/include/kvikio/shim/cuda_h_wrapper.hpp:36:7: error: type alias redefinition with different types ('void *' vs 'struct CUstream_st *')
36 | using CUstream = void*;
| ^
/Users/jfaibussowit/soft/nv/legate.core.internal/src/cpp/legate/cuda/cuda.h:35:7: note: previous definition is here
35 | using CUstream = struct CUstream_st*;
| ^
This occurs when:
Kvikio is built without CUDA.
Kvikio headers are included in a library that also shims various CUDA driver types.
IMO, Kvikio should use the right typedefs for these to match the CUDA driver API. In our case, our forward decls do need to be ABI compatible with CUDA driver, since we dlsym() the driver at runtime, but do not want to introduce a build-time dependency on the driver API.
Specifically:
#if defined(_WIN64) || defined(__LP64__)
// Don't use uint64_t, we want to match the driver headers exactlyusing CUdeviceptr = unsignedlonglong;
#elseusing CUdeviceptr = unsignedint;
#endifstatic_assert(sizeof(CUdeviceptr) == sizeof(void*));
using CUresult = int;
using CUdevice = int;
using CUcontext = structCUctx_st*;
using CUstream = structCUstream_st*;
using CUevent = structCUevent_st*;
using CUfunction = structCUfunc_st*;
using CUlibrary = structCUlib_st*;
using CUkernel = structCUkern_st*;
The text was updated successfully, but these errors were encountered:
This occurs when:
IMO, Kvikio should use the right typedefs for these to match the CUDA driver API. In our case, our forward decls do need to be ABI compatible with CUDA driver, since we
dlsym()
the driver at runtime, but do not want to introduce a build-time dependency on the driver API.Specifically:
The text was updated successfully, but these errors were encountered: