25 #ifdef KVIKIO_CUDA_FOUND
36 #if defined(_WIN64) || defined(__LP64__)
38 using CUdeviceptr =
unsigned long long;
40 using CUdeviceptr =
unsigned int;
42 static_assert(
sizeof(CUdeviceptr) ==
sizeof(
void*));
46 using CUcontext =
struct CUctx_st*;
47 using CUstream =
struct CUstream_st*;
49 #define CUDA_ERROR_STUB_LIBRARY 0
50 #define CUDA_SUCCESS 0
51 #define CUDA_ERROR_INVALID_VALUE 0
52 #define CU_POINTER_ATTRIBUTE_CONTEXT 0
53 #define CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL 0
54 #define CU_POINTER_ATTRIBUTE_DEVICE_POINTER 0
55 #define CU_MEMHOSTALLOC_PORTABLE 0
56 #define CU_STREAM_DEFAULT 0
59 CUresult cuMemHostAlloc(...);
60 CUresult cuMemFreeHost(...);
61 CUresult cuMemcpyHtoDAsync(...);
62 CUresult cuMemcpyDtoHAsync(...);
63 CUresult cuMemcpyBatchAsync(...);
64 CUresult cuPointerGetAttribute(...);
65 CUresult cuPointerGetAttributes(...);
66 CUresult cuCtxPushCurrent(...);
67 CUresult cuCtxPopCurrent(...);
68 CUresult cuCtxGetCurrent(...);
69 CUresult cuCtxGetDevice(...);
70 CUresult cuMemGetAddressRange(...);
71 CUresult cuGetErrorName(...);
72 CUresult cuGetErrorString(...);
73 CUresult cuDeviceGet(...);
74 CUresult cuDeviceGetCount(...);
75 CUresult cuDeviceGetAttribute(...);
76 CUresult cuDevicePrimaryCtxRetain(...);
77 CUresult cuDevicePrimaryCtxRelease(...);
78 CUresult cuStreamCreate(...);
79 CUresult cuStreamDestroy(...);
80 CUresult cuStreamSynchronize(...);
81 CUresult cuDriverGetVersion(...);
83 enum CUdevice_attribute {
84 CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES,
87 enum CUmemcpySrcAccessOrder_enum {
88 CU_MEMCPY_SRC_ACCESS_ORDER_STREAM,