|
10 | 10 | #include <cuda.h> |
11 | 11 |
|
12 | 12 | #define FOREACH_CUDA_FUNCTION_TO_LOAD(X) \ |
13 | | - X(cuInit, 2000) \ |
14 | | - X(cuLibraryLoadData, 12000) \ |
15 | | - X(cuLibraryUnload, 12000) \ |
16 | | - X(cuLibraryGetKernel, 12000) \ |
17 | | - X(cuGetErrorString, 6000) \ |
18 | | - X(cuLaunchKernel, 7000) \ |
19 | | - X(cuLaunchKernelEx, 11060) \ |
20 | | - X(cuPointerGetAttribute, 4000) \ |
21 | | - X(cuCtxSynchronize, 2000) \ |
22 | | - X(cuCtxPushCurrent, 4000) \ |
23 | | - X(cuCtxPopCurrent, 4000) \ |
24 | | - X(cuCtxGetCurrent, 4000) \ |
25 | | - X(cuCtxSetCurrent, 4000) \ |
26 | | - X(cuCtxGetDevice, 2000) \ |
27 | | - X(cuCtxGetId, 12000) \ |
28 | | - X(cuDeviceGet, 2000) \ |
29 | | - X(cuDeviceGetCount, 2000) \ |
30 | | - X(cuDeviceGetAttribute, 2000) \ |
31 | | - X(cuDevicePrimaryCtxRetain, 7000) \ |
32 | | - X(cuDriverGetVersion, 2020) \ |
33 | | - X(cuEventCreate, 2000) \ |
34 | | - X(cuEventDestroy, 2000) \ |
35 | | - X(cuEventQuery, 2000) \ |
36 | | - X(cuEventRecord, 2000) \ |
37 | | - X(cuKernelGetFunction, 12000) \ |
38 | | - X(cuKernelGetAttribute, 12000) \ |
39 | | - X(cuKernelSetAttribute, 12000) \ |
40 | | - X(cuMemAlloc, 3020) \ |
41 | | - X(cuMemAllocHost, 3020) \ |
42 | | - X(cuMemFree, 3020) \ |
43 | | - X(cuMemFreeHost, 2000) \ |
44 | | - X(cuMemGetAddressRange, 3020) \ |
45 | | - X(cuIpcGetMemHandle, 4010) \ |
46 | | - X(cuIpcOpenMemHandle, 4010) \ |
47 | | - X(cuIpcCloseMemHandle, 4010) \ |
48 | | - X(cuMemcpyHtoDAsync, 3020) \ |
49 | | - X(cuStreamCreate, 2000) \ |
50 | | - X(cuStreamDestroy, 4000) \ |
51 | | - X(cuStreamGetCtx, 9020) \ |
52 | | - X(cuStreamGetId, 12000) \ |
53 | | - X(cuStreamIsCapturing, 10000) \ |
54 | | - X(cuStreamSynchronize, 7000) \ |
55 | | - X(cuStreamWaitEvent, 7000) \ |
56 | | - X(cuEventElapsedTime, 12080) \ |
57 | | - X(cuGraphCreate, 10000) \ |
58 | | - X(cuGraphDestroy, 10000) \ |
59 | | - X(cuGraphAddEventRecordNode, 11010) \ |
60 | | - X(cuGraphAddKernelNode, 12000) \ |
61 | | - X(cuGraphAddMemsetNode, 10000) \ |
62 | | - X(cuGraphAddMemAllocNode, 11040) \ |
63 | | - X(cuGraphAddMemFreeNode, 11040) \ |
64 | | - X(cuGraphInstantiateWithFlags, 11040) \ |
65 | | - X(cuGraphExecDestroy, 10000) \ |
66 | | - X(cuGraphLaunch, 10000) \ |
67 | | - X(cuTensorMapEncodeTiled, 12000) |
68 | | - |
69 | | - |
70 | | -#define DECLARE_CUDA_FUNC_EXTERN(name, _cuda_version) \ |
| 13 | + X(cuInit, "cuInit", 2000) \ |
| 14 | + X(cuLibraryLoadData, "cuLibraryLoadData", 12000) \ |
| 15 | + X(cuLibraryUnload, "cuLibraryUnload", 12000) \ |
| 16 | + X(cuLibraryGetKernel, "cuLibraryGetKernel", 12000) \ |
| 17 | + X(cuGetErrorString, "cuGetErrorString", 6000) \ |
| 18 | + X(cuLaunchKernel, "cuLaunchKernel", 7000) \ |
| 19 | + X(cuLaunchKernelEx, "cuLaunchKernelEx", 11060) \ |
| 20 | + X(cuPointerGetAttribute, "cuPointerGetAttribute", 4000) \ |
| 21 | + X(cuCtxSynchronize, "cuCtxSynchronize", 2000) \ |
| 22 | + X(cuCtxPushCurrent, "cuCtxPushCurrent", 4000) \ |
| 23 | + X(cuCtxPopCurrent, "cuCtxPopCurrent", 4000) \ |
| 24 | + X(cuCtxGetCurrent, "cuCtxGetCurrent", 4000) \ |
| 25 | + X(cuCtxSetCurrent, "cuCtxSetCurrent", 4000) \ |
| 26 | + X(cuCtxGetDevice, "cuCtxGetDevice", 2000) \ |
| 27 | + X(cuCtxGetDevice_v2, "cuCtxGetDevice", 13000) \ |
| 28 | + X(cuCtxGetId, "cuCtxGetId", 12000) \ |
| 29 | + X(cuDeviceGet, "cuDeviceGet", 2000) \ |
| 30 | + X(cuDeviceGetCount, "cuDeviceGetCount", 2000) \ |
| 31 | + X(cuDeviceGetAttribute, "cuDeviceGetAttribute", 2000) \ |
| 32 | + X(cuDevicePrimaryCtxRetain, "cuDevicePrimaryCtxRetain", 7000) \ |
| 33 | + X(cuDriverGetVersion, "cuDriverGetVersion", 2020) \ |
| 34 | + X(cuEventCreate, "cuEventCreate", 2000) \ |
| 35 | + X(cuEventDestroy, "cuEventDestroy", 2000) \ |
| 36 | + X(cuEventQuery, "cuEventQuery", 2000) \ |
| 37 | + X(cuEventRecord, "cuEventRecord", 2000) \ |
| 38 | + X(cuKernelGetFunction, "cuKernelGetFunction", 12000) \ |
| 39 | + X(cuKernelGetAttribute, "cuKernelGetAttribute", 12000) \ |
| 40 | + X(cuKernelSetAttribute, "cuKernelSetAttribute", 12000) \ |
| 41 | + X(cuMemAlloc, "cuMemAlloc", 3020) \ |
| 42 | + X(cuMemAllocHost, "cuMemAllocHost", 3020) \ |
| 43 | + X(cuMemFree, "cuMemFree", 3020) \ |
| 44 | + X(cuMemFreeHost, "cuMemFreeHost", 2000) \ |
| 45 | + X(cuMemGetAddressRange, "cuMemGetAddressRange", 3020) \ |
| 46 | + X(cuIpcGetMemHandle, "cuIpcGetMemHandle", 4010) \ |
| 47 | + X(cuIpcOpenMemHandle, "cuIpcOpenMemHandle", 4010) \ |
| 48 | + X(cuIpcCloseMemHandle, "cuIpcCloseMemHandle", 4010) \ |
| 49 | + X(cuMemcpyHtoDAsync, "cuMemcpyHtoDAsync", 3020) \ |
| 50 | + X(cuStreamCreate, "cuStreamCreate", 2000) \ |
| 51 | + X(cuStreamDestroy, "cuStreamDestroy", 4000) \ |
| 52 | + X(cuStreamGetCtx, "cuStreamGetCtx", 9020) \ |
| 53 | + X(cuStreamGetId, "cuStreamGetId", 12000) \ |
| 54 | + X(cuStreamIsCapturing, "cuStreamIsCapturing", 10000) \ |
| 55 | + X(cuStreamSynchronize, "cuStreamSynchronize", 7000) \ |
| 56 | + X(cuStreamWaitEvent, "cuStreamWaitEvent", 7000) \ |
| 57 | + X(cuEventElapsedTime, "cuEventElapsedTime", 12080) \ |
| 58 | + X(cuGraphCreate, "cuGraphCreate", 10000) \ |
| 59 | + X(cuGraphDestroy, "cuGraphDestroy", 10000) \ |
| 60 | + X(cuGraphAddEventRecordNode, "cuGraphAddEventRecordNode", 11010) \ |
| 61 | + X(cuGraphAddKernelNode, "cuGraphAddKernelNode", 12000) \ |
| 62 | + X(cuGraphAddMemsetNode, "cuGraphAddMemsetNode", 10000) \ |
| 63 | + X(cuGraphAddMemAllocNode, "cuGraphAddMemAllocNode", 11040) \ |
| 64 | + X(cuGraphAddMemFreeNode, "cuGraphAddMemFreeNode", 11040) \ |
| 65 | + X(cuGraphInstantiateWithFlags, "cuGraphInstantiateWithFlags", 11040) \ |
| 66 | + X(cuGraphExecDestroy, "cuGraphExecDestroy", 10000) \ |
| 67 | + X(cuGraphLaunch, "cuGraphLaunch", 10000) \ |
| 68 | + X(cuTensorMapEncodeTiled, "cuTensorMapEncodeTiled", 12000) |
| 69 | + |
| 70 | + |
| 71 | +#define DECLARE_CUDA_FUNC_EXTERN(name, _key, _cuda_version) \ |
71 | 72 | decltype(::name)* name; |
72 | 73 |
|
73 | 74 | struct DriverApi { |
|
0 commit comments