cudarc/runtime/sys/
mod.rs

1#![cfg_attr(feature = "no-std", no_std)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4#![allow(dead_code)]
5#[cfg(feature = "no-std")]
6extern crate alloc;
7#[cfg(feature = "no-std")]
8extern crate no_std_compat as std;
9#[cfg(any(
10    feature = "cuda-12040",
11    feature = "cuda-12050",
12    feature = "cuda-12060",
13    feature = "cuda-12080",
14    feature = "cuda-12090",
15    feature = "cuda-13000"
16))]
17pub use self::cudaAsyncNotificationType_enum as cudaAsyncNotificationType;
18pub use self::cudaDataType_t as cudaDataType;
19#[cfg(any(feature = "cuda-13000"))]
20pub use self::cudaEmulationStrategy_t as cudaEmulationStrategy;
21pub use self::cudaError as cudaError_t;
22#[cfg(any(
23    feature = "cuda-12030",
24    feature = "cuda-12040",
25    feature = "cuda-12050",
26    feature = "cuda-12060",
27    feature = "cuda-12080",
28    feature = "cuda-12090",
29    feature = "cuda-13000"
30))]
31pub use self::cudaGraphDependencyType_enum as cudaGraphDependencyType;
32#[cfg(any(
33    feature = "cuda-11040",
34    feature = "cuda-11050",
35    feature = "cuda-11060",
36    feature = "cuda-11070",
37    feature = "cuda-11080"
38))]
39pub use self::cudaOutputMode as cudaOutputMode_t;
40#[cfg(any(feature = "cuda-13000"))]
41pub use self::CUDAlogLevel_enum as cudaLogLevel;
42#[cfg(any(feature = "cuda-11040"))]
43pub const CUDART_VERSION: u32 = 11040;
44#[cfg(any(feature = "cuda-11050"))]
45pub const CUDART_VERSION: u32 = 11050;
46#[cfg(any(feature = "cuda-11060"))]
47pub const CUDART_VERSION: u32 = 11060;
48#[cfg(any(feature = "cuda-11070"))]
49pub const CUDART_VERSION: u32 = 11070;
50#[cfg(any(feature = "cuda-11080"))]
51pub const CUDART_VERSION: u32 = 11080;
52#[cfg(any(feature = "cuda-12000"))]
53pub const CUDART_VERSION: u32 = 12000;
54#[cfg(any(feature = "cuda-12010"))]
55pub const CUDART_VERSION: u32 = 12010;
56#[cfg(any(feature = "cuda-12020"))]
57pub const CUDART_VERSION: u32 = 12020;
58#[cfg(any(feature = "cuda-12030"))]
59pub const CUDART_VERSION: u32 = 12030;
60#[cfg(any(feature = "cuda-12040"))]
61pub const CUDART_VERSION: u32 = 12040;
62#[cfg(any(feature = "cuda-12050"))]
63pub const CUDART_VERSION: u32 = 12050;
64#[cfg(any(feature = "cuda-12060"))]
65pub const CUDART_VERSION: u32 = 12060;
66#[cfg(any(feature = "cuda-12080"))]
67pub const CUDART_VERSION: u32 = 12080;
68#[cfg(any(feature = "cuda-12090"))]
69pub const CUDART_VERSION: u32 = 12090;
70#[cfg(any(feature = "cuda-13000"))]
71pub const CUDART_VERSION: u32 = 13000;
72pub const CUDA_IPC_HANDLE_SIZE: u32 = 64;
73pub const cudaArrayColorAttachment: u32 = 32;
74pub const cudaArrayCubemap: u32 = 4;
75pub const cudaArrayDefault: u32 = 0;
76#[cfg(any(
77    feature = "cuda-11060",
78    feature = "cuda-11070",
79    feature = "cuda-11080",
80    feature = "cuda-12000",
81    feature = "cuda-12010",
82    feature = "cuda-12020",
83    feature = "cuda-12030",
84    feature = "cuda-12040",
85    feature = "cuda-12050",
86    feature = "cuda-12060",
87    feature = "cuda-12080",
88    feature = "cuda-12090",
89    feature = "cuda-13000"
90))]
91pub const cudaArrayDeferredMapping: u32 = 128;
92pub const cudaArrayLayered: u32 = 1;
93pub const cudaArraySparse: u32 = 64;
94pub const cudaArraySparsePropertiesSingleMipTail: u32 = 1;
95pub const cudaArraySurfaceLoadStore: u32 = 2;
96pub const cudaArrayTextureGather: u32 = 8;
97#[cfg(any(
98    feature = "cuda-11040",
99    feature = "cuda-11050",
100    feature = "cuda-11060",
101    feature = "cuda-11070",
102    feature = "cuda-11080",
103    feature = "cuda-12000",
104    feature = "cuda-12010",
105    feature = "cuda-12020",
106    feature = "cuda-12030",
107    feature = "cuda-12040",
108    feature = "cuda-12050",
109    feature = "cuda-12060",
110    feature = "cuda-12080",
111    feature = "cuda-12090"
112))]
113pub const cudaCooperativeLaunchMultiDeviceNoPostSync: u32 = 2;
114#[cfg(any(
115    feature = "cuda-11040",
116    feature = "cuda-11050",
117    feature = "cuda-11060",
118    feature = "cuda-11070",
119    feature = "cuda-11080",
120    feature = "cuda-12000",
121    feature = "cuda-12010",
122    feature = "cuda-12020",
123    feature = "cuda-12030",
124    feature = "cuda-12040",
125    feature = "cuda-12050",
126    feature = "cuda-12060",
127    feature = "cuda-12080",
128    feature = "cuda-12090"
129))]
130pub const cudaCooperativeLaunchMultiDeviceNoPreSync: u32 = 1;
131pub const cudaDeviceBlockingSync: u32 = 4;
132pub const cudaDeviceLmemResizeToMax: u32 = 16;
133pub const cudaDeviceMapHost: u32 = 8;
134#[cfg(any(
135    feature = "cuda-11040",
136    feature = "cuda-11050",
137    feature = "cuda-11060",
138    feature = "cuda-11070",
139    feature = "cuda-11080",
140    feature = "cuda-12000"
141))]
142pub const cudaDeviceMask: u32 = 31;
143#[cfg(any(
144    feature = "cuda-12010",
145    feature = "cuda-12020",
146    feature = "cuda-12030",
147    feature = "cuda-12040",
148    feature = "cuda-12050",
149    feature = "cuda-12060",
150    feature = "cuda-12080",
151    feature = "cuda-12090",
152    feature = "cuda-13000"
153))]
154pub const cudaDeviceMask: u32 = 255;
155pub const cudaDeviceScheduleAuto: u32 = 0;
156pub const cudaDeviceScheduleBlockingSync: u32 = 4;
157pub const cudaDeviceScheduleMask: u32 = 7;
158pub const cudaDeviceScheduleSpin: u32 = 1;
159pub const cudaDeviceScheduleYield: u32 = 2;
160#[cfg(any(
161    feature = "cuda-12010",
162    feature = "cuda-12020",
163    feature = "cuda-12030",
164    feature = "cuda-12040",
165    feature = "cuda-12050",
166    feature = "cuda-12060",
167    feature = "cuda-12080",
168    feature = "cuda-12090",
169    feature = "cuda-13000"
170))]
171pub const cudaDeviceSyncMemops: u32 = 128;
172pub const cudaEventBlockingSync: u32 = 1;
173pub const cudaEventDefault: u32 = 0;
174pub const cudaEventDisableTiming: u32 = 2;
175pub const cudaEventInterprocess: u32 = 4;
176pub const cudaEventRecordDefault: u32 = 0;
177pub const cudaEventRecordExternal: u32 = 1;
178pub const cudaEventWaitDefault: u32 = 0;
179pub const cudaEventWaitExternal: u32 = 1;
180pub const cudaExternalMemoryDedicated: u32 = 1;
181pub const cudaExternalSemaphoreSignalSkipNvSciBufMemSync: u32 = 1;
182pub const cudaExternalSemaphoreWaitSkipNvSciBufMemSync: u32 = 2;
183#[cfg(any(
184    feature = "cuda-12030",
185    feature = "cuda-12040",
186    feature = "cuda-12050",
187    feature = "cuda-12060",
188    feature = "cuda-12080",
189    feature = "cuda-12090",
190    feature = "cuda-13000"
191))]
192pub const cudaGraphKernelNodePortDefault: u32 = 0;
193#[cfg(any(
194    feature = "cuda-12030",
195    feature = "cuda-12040",
196    feature = "cuda-12050",
197    feature = "cuda-12060",
198    feature = "cuda-12080",
199    feature = "cuda-12090",
200    feature = "cuda-13000"
201))]
202pub const cudaGraphKernelNodePortLaunchCompletion: u32 = 2;
203#[cfg(any(
204    feature = "cuda-12030",
205    feature = "cuda-12040",
206    feature = "cuda-12050",
207    feature = "cuda-12060",
208    feature = "cuda-12080",
209    feature = "cuda-12090",
210    feature = "cuda-13000"
211))]
212pub const cudaGraphKernelNodePortProgrammatic: u32 = 1;
213pub const cudaHostAllocDefault: u32 = 0;
214pub const cudaHostAllocMapped: u32 = 2;
215pub const cudaHostAllocPortable: u32 = 1;
216pub const cudaHostAllocWriteCombined: u32 = 4;
217pub const cudaHostRegisterDefault: u32 = 0;
218pub const cudaHostRegisterIoMemory: u32 = 4;
219pub const cudaHostRegisterMapped: u32 = 2;
220pub const cudaHostRegisterPortable: u32 = 1;
221pub const cudaHostRegisterReadOnly: u32 = 8;
222#[cfg(any(
223    feature = "cuda-12000",
224    feature = "cuda-12010",
225    feature = "cuda-12020",
226    feature = "cuda-12030",
227    feature = "cuda-12040",
228    feature = "cuda-12050",
229    feature = "cuda-12060",
230    feature = "cuda-12080",
231    feature = "cuda-12090",
232    feature = "cuda-13000"
233))]
234pub const cudaInitDeviceFlagsAreValid: u32 = 1;
235pub const cudaIpcMemLazyEnablePeerAccess: u32 = 1;
236pub const cudaMemAttachGlobal: u32 = 1;
237pub const cudaMemAttachHost: u32 = 2;
238pub const cudaMemAttachSingle: u32 = 4;
239#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
240pub const cudaMemPoolCreateUsageHwDecompress: u32 = 2;
241pub const cudaNvSciSyncAttrSignal: u32 = 1;
242pub const cudaNvSciSyncAttrWait: u32 = 2;
243pub const cudaOccupancyDefault: u32 = 0;
244pub const cudaOccupancyDisableCachingOverride: u32 = 1;
245pub const cudaPeerAccessDefault: u32 = 0;
246pub const cudaStreamDefault: u32 = 0;
247pub const cudaStreamNonBlocking: u32 = 1;
248pub const cudaSurfaceType1D: u32 = 1;
249pub const cudaSurfaceType1DLayered: u32 = 241;
250pub const cudaSurfaceType2D: u32 = 2;
251pub const cudaSurfaceType2DLayered: u32 = 242;
252pub const cudaSurfaceType3D: u32 = 3;
253pub const cudaSurfaceTypeCubemap: u32 = 12;
254pub const cudaSurfaceTypeCubemapLayered: u32 = 252;
255pub const cudaTextureType1D: u32 = 1;
256pub const cudaTextureType1DLayered: u32 = 241;
257pub const cudaTextureType2D: u32 = 2;
258pub const cudaTextureType2DLayered: u32 = 242;
259pub const cudaTextureType3D: u32 = 3;
260pub const cudaTextureTypeCubemap: u32 = 12;
261pub const cudaTextureTypeCubemapLayered: u32 = 252;
262pub type cudaArray_const_t = *const cudaArray;
263pub type cudaArray_t = *mut cudaArray;
264#[cfg(any(
265    feature = "cuda-12040",
266    feature = "cuda-12050",
267    feature = "cuda-12060",
268    feature = "cuda-12080",
269    feature = "cuda-12090",
270    feature = "cuda-13000"
271))]
272pub type cudaAsyncCallback = ::core::option::Option<
273    unsafe extern "C" fn(
274        arg1: *mut cudaAsyncNotificationInfo_t,
275        arg2: *mut ::core::ffi::c_void,
276        arg3: cudaAsyncCallbackHandle_t,
277    ),
278>;
279#[cfg(any(
280    feature = "cuda-12040",
281    feature = "cuda-12050",
282    feature = "cuda-12060",
283    feature = "cuda-12080",
284    feature = "cuda-12090",
285    feature = "cuda-13000"
286))]
287pub type cudaAsyncCallbackHandle_t = *mut cudaAsyncCallbackEntry;
288#[cfg(any(
289    feature = "cuda-12040",
290    feature = "cuda-12050",
291    feature = "cuda-12060",
292    feature = "cuda-12080",
293    feature = "cuda-12090",
294    feature = "cuda-13000"
295))]
296pub type cudaAsyncNotificationInfo_t = cudaAsyncNotificationInfo;
297pub type cudaEvent_t = *mut CUevent_st;
298pub type cudaExternalMemory_t = *mut CUexternalMemory_st;
299pub type cudaExternalSemaphore_t = *mut CUexternalSemaphore_st;
300pub type cudaFunction_t = *mut CUfunc_st;
301#[cfg(any(
302    feature = "cuda-12030",
303    feature = "cuda-12040",
304    feature = "cuda-12050",
305    feature = "cuda-12060",
306    feature = "cuda-12080",
307    feature = "cuda-12090",
308    feature = "cuda-13000"
309))]
310pub type cudaGraphConditionalHandle = ::core::ffi::c_ulonglong;
311#[cfg(any(
312    feature = "cuda-12040",
313    feature = "cuda-12050",
314    feature = "cuda-12060",
315    feature = "cuda-12080",
316    feature = "cuda-12090",
317    feature = "cuda-13000"
318))]
319pub type cudaGraphDeviceNode_t = *mut CUgraphDeviceUpdatableNode_st;
320#[cfg(any(
321    feature = "cuda-12030",
322    feature = "cuda-12040",
323    feature = "cuda-12050",
324    feature = "cuda-12060",
325    feature = "cuda-12080",
326    feature = "cuda-12090",
327    feature = "cuda-13000"
328))]
329pub type cudaGraphEdgeData = cudaGraphEdgeData_st;
330#[cfg(any(
331    feature = "cuda-12000",
332    feature = "cuda-12010",
333    feature = "cuda-12020",
334    feature = "cuda-12030",
335    feature = "cuda-12040",
336    feature = "cuda-12050",
337    feature = "cuda-12060",
338    feature = "cuda-12080",
339    feature = "cuda-12090",
340    feature = "cuda-13000"
341))]
342pub type cudaGraphExecUpdateResultInfo = cudaGraphExecUpdateResultInfo_st;
343pub type cudaGraphExec_t = *mut CUgraphExec_st;
344#[cfg(any(
345    feature = "cuda-12000",
346    feature = "cuda-12010",
347    feature = "cuda-12020",
348    feature = "cuda-12030",
349    feature = "cuda-12040",
350    feature = "cuda-12050",
351    feature = "cuda-12060",
352    feature = "cuda-12080",
353    feature = "cuda-12090",
354    feature = "cuda-13000"
355))]
356pub type cudaGraphInstantiateParams = cudaGraphInstantiateParams_st;
357pub type cudaGraphNode_t = *mut CUgraphNode_st;
358pub type cudaGraph_t = *mut CUgraph_st;
359pub type cudaGraphicsResource_t = *mut cudaGraphicsResource;
360pub type cudaHostFn_t =
361    ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>;
362pub type cudaIpcEventHandle_t = cudaIpcEventHandle_st;
363pub type cudaIpcMemHandle_t = cudaIpcMemHandle_st;
364#[cfg(any(
365    feature = "cuda-12010",
366    feature = "cuda-12020",
367    feature = "cuda-12030",
368    feature = "cuda-12040",
369    feature = "cuda-12050",
370    feature = "cuda-12060",
371    feature = "cuda-12080",
372    feature = "cuda-12090",
373    feature = "cuda-13000"
374))]
375pub type cudaKernel_t = *mut CUkern_st;
376#[cfg(any(
377    feature = "cuda-11080",
378    feature = "cuda-12000",
379    feature = "cuda-12010",
380    feature = "cuda-12020",
381    feature = "cuda-12030",
382    feature = "cuda-12040",
383    feature = "cuda-12050",
384    feature = "cuda-12060",
385    feature = "cuda-12080",
386    feature = "cuda-12090",
387    feature = "cuda-13000"
388))]
389pub type cudaLaunchAttribute = cudaLaunchAttribute_st;
390#[cfg(any(
391    feature = "cuda-11080",
392    feature = "cuda-12000",
393    feature = "cuda-12010",
394    feature = "cuda-12020",
395    feature = "cuda-12030",
396    feature = "cuda-12040",
397    feature = "cuda-12050",
398    feature = "cuda-12060",
399    feature = "cuda-12080",
400    feature = "cuda-12090",
401    feature = "cuda-13000"
402))]
403pub type cudaLaunchConfig_t = cudaLaunchConfig_st;
404#[cfg(any(
405    feature = "cuda-12000",
406    feature = "cuda-12010",
407    feature = "cuda-12020",
408    feature = "cuda-12030",
409    feature = "cuda-12040",
410    feature = "cuda-12050",
411    feature = "cuda-12060",
412    feature = "cuda-12080",
413    feature = "cuda-12090",
414    feature = "cuda-13000"
415))]
416pub type cudaLaunchMemSyncDomainMap = cudaLaunchMemSyncDomainMap_st;
417#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
418pub type cudaLibrary_t = *mut CUlib_st;
419#[cfg(any(feature = "cuda-13000"))]
420pub type cudaLogIterator = ::core::ffi::c_uint;
421#[cfg(any(feature = "cuda-13000"))]
422pub type cudaLogsCallbackHandle = *mut CUlogsCallbackEntry_st;
423#[cfg(any(feature = "cuda-13000"))]
424pub type cudaLogsCallback_t = ::core::option::Option<
425    unsafe extern "C" fn(
426        data: *mut ::core::ffi::c_void,
427        logLevel: cudaLogLevel,
428        message: *mut ::core::ffi::c_char,
429        length: usize,
430    ),
431>;
432#[cfg(any(
433    feature = "cuda-12030",
434    feature = "cuda-12040",
435    feature = "cuda-12050",
436    feature = "cuda-12060",
437    feature = "cuda-12080",
438    feature = "cuda-12090",
439    feature = "cuda-13000"
440))]
441pub type cudaMemFabricHandle_t = cudaMemFabricHandle_st;
442pub type cudaMemPool_t = *mut CUmemPoolHandle_st;
443pub type cudaMipmappedArray_const_t = *const cudaMipmappedArray;
444pub type cudaMipmappedArray_t = *mut cudaMipmappedArray;
445pub type cudaStreamCallback_t = ::core::option::Option<
446    unsafe extern "C" fn(
447        stream: cudaStream_t,
448        status: cudaError_t,
449        userData: *mut ::core::ffi::c_void,
450    ),
451>;
452pub type cudaStream_t = *mut CUstream_st;
453pub type cudaSurfaceObject_t = ::core::ffi::c_ulonglong;
454pub type cudaTextureObject_t = ::core::ffi::c_ulonglong;
455pub type cudaUUID_t = CUuuid_st;
456pub type cudaUserObject_t = *mut CUuserObject_st;
457#[cfg(any(feature = "cuda-13000"))]
458#[repr(u32)]
459#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
460pub enum CUDAlogLevel_enum {
461    cudaLogLevelError = 0,
462    cudaLogLevelWarning = 1,
463}
464#[repr(u32)]
465#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
466pub enum cudaAccessProperty {
467    cudaAccessPropertyNormal = 0,
468    cudaAccessPropertyStreaming = 1,
469    cudaAccessPropertyPersisting = 2,
470}
471#[cfg(any(
472    feature = "cuda-12040",
473    feature = "cuda-12050",
474    feature = "cuda-12060",
475    feature = "cuda-12080",
476    feature = "cuda-12090",
477    feature = "cuda-13000"
478))]
479#[repr(u32)]
480#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
481pub enum cudaAsyncNotificationType_enum {
482    cudaAsyncNotificationTypeOverBudget = 1,
483}
484#[cfg(any(feature = "cuda-13000"))]
485#[repr(u32)]
486#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
487pub enum cudaAtomicOperation {
488    cudaAtomicOperationIntegerAdd = 0,
489    cudaAtomicOperationIntegerMin = 1,
490    cudaAtomicOperationIntegerMax = 2,
491    cudaAtomicOperationIntegerIncrement = 3,
492    cudaAtomicOperationIntegerDecrement = 4,
493    cudaAtomicOperationAnd = 5,
494    cudaAtomicOperationOr = 6,
495    cudaAtomicOperationXOR = 7,
496    cudaAtomicOperationExchange = 8,
497    cudaAtomicOperationCAS = 9,
498    cudaAtomicOperationFloatAdd = 10,
499    cudaAtomicOperationFloatMin = 11,
500    cudaAtomicOperationFloatMax = 12,
501}
502#[cfg(any(feature = "cuda-13000"))]
503#[repr(u32)]
504#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
505pub enum cudaAtomicOperationCapability {
506    cudaAtomicCapabilitySigned = 1,
507    cudaAtomicCapabilityUnsigned = 2,
508    cudaAtomicCapabilityReduction = 4,
509    cudaAtomicCapabilityScalar32 = 8,
510    cudaAtomicCapabilityScalar64 = 16,
511    cudaAtomicCapabilityScalar128 = 32,
512    cudaAtomicCapabilityVector32x4 = 64,
513}
514#[cfg(any(
515    feature = "cuda-11040",
516    feature = "cuda-11050",
517    feature = "cuda-11060",
518    feature = "cuda-11070",
519    feature = "cuda-11080",
520    feature = "cuda-12000",
521    feature = "cuda-12010",
522    feature = "cuda-12020",
523    feature = "cuda-12030",
524    feature = "cuda-12040",
525    feature = "cuda-12050",
526    feature = "cuda-12060",
527    feature = "cuda-12080",
528    feature = "cuda-12090"
529))]
530#[repr(u32)]
531#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
532pub enum cudaCGScope {
533    cudaCGScopeInvalid = 0,
534    cudaCGScopeGrid = 1,
535    cudaCGScopeMultiGrid = 2,
536}
537#[cfg(any(feature = "cuda-13000"))]
538#[repr(u32)]
539#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
540pub enum cudaCGScope {
541    cudaCGScopeInvalid = 0,
542    cudaCGScopeGrid = 1,
543    cudaCGScopeReserved = 2,
544}
545#[cfg(any(feature = "cuda-11040"))]
546#[repr(u32)]
547#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
548pub enum cudaChannelFormatKind {
549    cudaChannelFormatKindSigned = 0,
550    cudaChannelFormatKindUnsigned = 1,
551    cudaChannelFormatKindFloat = 2,
552    cudaChannelFormatKindNone = 3,
553    cudaChannelFormatKindNV12 = 4,
554}
555#[cfg(any(
556    feature = "cuda-11050",
557    feature = "cuda-11060",
558    feature = "cuda-11070",
559    feature = "cuda-11080",
560    feature = "cuda-12000",
561    feature = "cuda-12010",
562    feature = "cuda-12020",
563    feature = "cuda-12030",
564    feature = "cuda-12040",
565    feature = "cuda-12050",
566    feature = "cuda-12060"
567))]
568#[repr(u32)]
569#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
570pub enum cudaChannelFormatKind {
571    cudaChannelFormatKindSigned = 0,
572    cudaChannelFormatKindUnsigned = 1,
573    cudaChannelFormatKindFloat = 2,
574    cudaChannelFormatKindNone = 3,
575    cudaChannelFormatKindNV12 = 4,
576    cudaChannelFormatKindUnsignedNormalized8X1 = 5,
577    cudaChannelFormatKindUnsignedNormalized8X2 = 6,
578    cudaChannelFormatKindUnsignedNormalized8X4 = 7,
579    cudaChannelFormatKindUnsignedNormalized16X1 = 8,
580    cudaChannelFormatKindUnsignedNormalized16X2 = 9,
581    cudaChannelFormatKindUnsignedNormalized16X4 = 10,
582    cudaChannelFormatKindSignedNormalized8X1 = 11,
583    cudaChannelFormatKindSignedNormalized8X2 = 12,
584    cudaChannelFormatKindSignedNormalized8X4 = 13,
585    cudaChannelFormatKindSignedNormalized16X1 = 14,
586    cudaChannelFormatKindSignedNormalized16X2 = 15,
587    cudaChannelFormatKindSignedNormalized16X4 = 16,
588    cudaChannelFormatKindUnsignedBlockCompressed1 = 17,
589    cudaChannelFormatKindUnsignedBlockCompressed1SRGB = 18,
590    cudaChannelFormatKindUnsignedBlockCompressed2 = 19,
591    cudaChannelFormatKindUnsignedBlockCompressed2SRGB = 20,
592    cudaChannelFormatKindUnsignedBlockCompressed3 = 21,
593    cudaChannelFormatKindUnsignedBlockCompressed3SRGB = 22,
594    cudaChannelFormatKindUnsignedBlockCompressed4 = 23,
595    cudaChannelFormatKindSignedBlockCompressed4 = 24,
596    cudaChannelFormatKindUnsignedBlockCompressed5 = 25,
597    cudaChannelFormatKindSignedBlockCompressed5 = 26,
598    cudaChannelFormatKindUnsignedBlockCompressed6H = 27,
599    cudaChannelFormatKindSignedBlockCompressed6H = 28,
600    cudaChannelFormatKindUnsignedBlockCompressed7 = 29,
601    cudaChannelFormatKindUnsignedBlockCompressed7SRGB = 30,
602}
603#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
604#[repr(u32)]
605#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
606pub enum cudaChannelFormatKind {
607    cudaChannelFormatKindSigned = 0,
608    cudaChannelFormatKindUnsigned = 1,
609    cudaChannelFormatKindFloat = 2,
610    cudaChannelFormatKindNone = 3,
611    cudaChannelFormatKindNV12 = 4,
612    cudaChannelFormatKindUnsignedNormalized8X1 = 5,
613    cudaChannelFormatKindUnsignedNormalized8X2 = 6,
614    cudaChannelFormatKindUnsignedNormalized8X4 = 7,
615    cudaChannelFormatKindUnsignedNormalized16X1 = 8,
616    cudaChannelFormatKindUnsignedNormalized16X2 = 9,
617    cudaChannelFormatKindUnsignedNormalized16X4 = 10,
618    cudaChannelFormatKindSignedNormalized8X1 = 11,
619    cudaChannelFormatKindSignedNormalized8X2 = 12,
620    cudaChannelFormatKindSignedNormalized8X4 = 13,
621    cudaChannelFormatKindSignedNormalized16X1 = 14,
622    cudaChannelFormatKindSignedNormalized16X2 = 15,
623    cudaChannelFormatKindSignedNormalized16X4 = 16,
624    cudaChannelFormatKindUnsignedBlockCompressed1 = 17,
625    cudaChannelFormatKindUnsignedBlockCompressed1SRGB = 18,
626    cudaChannelFormatKindUnsignedBlockCompressed2 = 19,
627    cudaChannelFormatKindUnsignedBlockCompressed2SRGB = 20,
628    cudaChannelFormatKindUnsignedBlockCompressed3 = 21,
629    cudaChannelFormatKindUnsignedBlockCompressed3SRGB = 22,
630    cudaChannelFormatKindUnsignedBlockCompressed4 = 23,
631    cudaChannelFormatKindSignedBlockCompressed4 = 24,
632    cudaChannelFormatKindUnsignedBlockCompressed5 = 25,
633    cudaChannelFormatKindSignedBlockCompressed5 = 26,
634    cudaChannelFormatKindUnsignedBlockCompressed6H = 27,
635    cudaChannelFormatKindSignedBlockCompressed6H = 28,
636    cudaChannelFormatKindUnsignedBlockCompressed7 = 29,
637    cudaChannelFormatKindUnsignedBlockCompressed7SRGB = 30,
638    cudaChannelFormatKindUnsignedNormalized1010102 = 31,
639}
640#[cfg(any(
641    feature = "cuda-11080",
642    feature = "cuda-12000",
643    feature = "cuda-12010",
644    feature = "cuda-12020",
645    feature = "cuda-12030",
646    feature = "cuda-12040",
647    feature = "cuda-12050",
648    feature = "cuda-12060",
649    feature = "cuda-12080",
650    feature = "cuda-12090",
651    feature = "cuda-13000"
652))]
653#[repr(u32)]
654#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
655pub enum cudaClusterSchedulingPolicy {
656    cudaClusterSchedulingPolicyDefault = 0,
657    cudaClusterSchedulingPolicySpread = 1,
658    cudaClusterSchedulingPolicyLoadBalancing = 2,
659}
660#[repr(u32)]
661#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
662pub enum cudaComputeMode {
663    cudaComputeModeDefault = 0,
664    cudaComputeModeExclusive = 1,
665    cudaComputeModeProhibited = 2,
666    cudaComputeModeExclusiveProcess = 3,
667}
668#[cfg(any(
669    feature = "cuda-11040",
670    feature = "cuda-11050",
671    feature = "cuda-11060",
672    feature = "cuda-11070"
673))]
674#[repr(u32)]
675#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
676pub enum cudaDataType_t {
677    CUDA_R_16F = 2,
678    CUDA_C_16F = 6,
679    CUDA_R_16BF = 14,
680    CUDA_C_16BF = 15,
681    CUDA_R_32F = 0,
682    CUDA_C_32F = 4,
683    CUDA_R_64F = 1,
684    CUDA_C_64F = 5,
685    CUDA_R_4I = 16,
686    CUDA_C_4I = 17,
687    CUDA_R_4U = 18,
688    CUDA_C_4U = 19,
689    CUDA_R_8I = 3,
690    CUDA_C_8I = 7,
691    CUDA_R_8U = 8,
692    CUDA_C_8U = 9,
693    CUDA_R_16I = 20,
694    CUDA_C_16I = 21,
695    CUDA_R_16U = 22,
696    CUDA_C_16U = 23,
697    CUDA_R_32I = 10,
698    CUDA_C_32I = 11,
699    CUDA_R_32U = 12,
700    CUDA_C_32U = 13,
701    CUDA_R_64I = 24,
702    CUDA_C_64I = 25,
703    CUDA_R_64U = 26,
704    CUDA_C_64U = 27,
705}
706#[cfg(any(
707    feature = "cuda-11080",
708    feature = "cuda-12000",
709    feature = "cuda-12010",
710    feature = "cuda-12020",
711    feature = "cuda-12030",
712    feature = "cuda-12040",
713    feature = "cuda-12050",
714    feature = "cuda-12060"
715))]
716#[repr(u32)]
717#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
718pub enum cudaDataType_t {
719    CUDA_R_16F = 2,
720    CUDA_C_16F = 6,
721    CUDA_R_16BF = 14,
722    CUDA_C_16BF = 15,
723    CUDA_R_32F = 0,
724    CUDA_C_32F = 4,
725    CUDA_R_64F = 1,
726    CUDA_C_64F = 5,
727    CUDA_R_4I = 16,
728    CUDA_C_4I = 17,
729    CUDA_R_4U = 18,
730    CUDA_C_4U = 19,
731    CUDA_R_8I = 3,
732    CUDA_C_8I = 7,
733    CUDA_R_8U = 8,
734    CUDA_C_8U = 9,
735    CUDA_R_16I = 20,
736    CUDA_C_16I = 21,
737    CUDA_R_16U = 22,
738    CUDA_C_16U = 23,
739    CUDA_R_32I = 10,
740    CUDA_C_32I = 11,
741    CUDA_R_32U = 12,
742    CUDA_C_32U = 13,
743    CUDA_R_64I = 24,
744    CUDA_C_64I = 25,
745    CUDA_R_64U = 26,
746    CUDA_C_64U = 27,
747    CUDA_R_8F_E4M3 = 28,
748    CUDA_R_8F_E5M2 = 29,
749}
750#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
751#[repr(u32)]
752#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
753pub enum cudaDataType_t {
754    CUDA_R_16F = 2,
755    CUDA_C_16F = 6,
756    CUDA_R_16BF = 14,
757    CUDA_C_16BF = 15,
758    CUDA_R_32F = 0,
759    CUDA_C_32F = 4,
760    CUDA_R_64F = 1,
761    CUDA_C_64F = 5,
762    CUDA_R_4I = 16,
763    CUDA_C_4I = 17,
764    CUDA_R_4U = 18,
765    CUDA_C_4U = 19,
766    CUDA_R_8I = 3,
767    CUDA_C_8I = 7,
768    CUDA_R_8U = 8,
769    CUDA_C_8U = 9,
770    CUDA_R_16I = 20,
771    CUDA_C_16I = 21,
772    CUDA_R_16U = 22,
773    CUDA_C_16U = 23,
774    CUDA_R_32I = 10,
775    CUDA_C_32I = 11,
776    CUDA_R_32U = 12,
777    CUDA_C_32U = 13,
778    CUDA_R_64I = 24,
779    CUDA_C_64I = 25,
780    CUDA_R_64U = 26,
781    CUDA_C_64U = 27,
782    CUDA_R_8F_E4M3 = 28,
783    CUDA_R_8F_E5M2 = 29,
784    CUDA_R_8F_UE8M0 = 30,
785    CUDA_R_6F_E2M3 = 31,
786    CUDA_R_6F_E3M2 = 32,
787    CUDA_R_4F_E2M1 = 33,
788}
789#[cfg(any(feature = "cuda-11040"))]
790#[repr(u32)]
791#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
792pub enum cudaDeviceAttr {
793    cudaDevAttrMaxThreadsPerBlock = 1,
794    cudaDevAttrMaxBlockDimX = 2,
795    cudaDevAttrMaxBlockDimY = 3,
796    cudaDevAttrMaxBlockDimZ = 4,
797    cudaDevAttrMaxGridDimX = 5,
798    cudaDevAttrMaxGridDimY = 6,
799    cudaDevAttrMaxGridDimZ = 7,
800    cudaDevAttrMaxSharedMemoryPerBlock = 8,
801    cudaDevAttrTotalConstantMemory = 9,
802    cudaDevAttrWarpSize = 10,
803    cudaDevAttrMaxPitch = 11,
804    cudaDevAttrMaxRegistersPerBlock = 12,
805    cudaDevAttrClockRate = 13,
806    cudaDevAttrTextureAlignment = 14,
807    cudaDevAttrGpuOverlap = 15,
808    cudaDevAttrMultiProcessorCount = 16,
809    cudaDevAttrKernelExecTimeout = 17,
810    cudaDevAttrIntegrated = 18,
811    cudaDevAttrCanMapHostMemory = 19,
812    cudaDevAttrComputeMode = 20,
813    cudaDevAttrMaxTexture1DWidth = 21,
814    cudaDevAttrMaxTexture2DWidth = 22,
815    cudaDevAttrMaxTexture2DHeight = 23,
816    cudaDevAttrMaxTexture3DWidth = 24,
817    cudaDevAttrMaxTexture3DHeight = 25,
818    cudaDevAttrMaxTexture3DDepth = 26,
819    cudaDevAttrMaxTexture2DLayeredWidth = 27,
820    cudaDevAttrMaxTexture2DLayeredHeight = 28,
821    cudaDevAttrMaxTexture2DLayeredLayers = 29,
822    cudaDevAttrSurfaceAlignment = 30,
823    cudaDevAttrConcurrentKernels = 31,
824    cudaDevAttrEccEnabled = 32,
825    cudaDevAttrPciBusId = 33,
826    cudaDevAttrPciDeviceId = 34,
827    cudaDevAttrTccDriver = 35,
828    cudaDevAttrMemoryClockRate = 36,
829    cudaDevAttrGlobalMemoryBusWidth = 37,
830    cudaDevAttrL2CacheSize = 38,
831    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
832    cudaDevAttrAsyncEngineCount = 40,
833    cudaDevAttrUnifiedAddressing = 41,
834    cudaDevAttrMaxTexture1DLayeredWidth = 42,
835    cudaDevAttrMaxTexture1DLayeredLayers = 43,
836    cudaDevAttrMaxTexture2DGatherWidth = 45,
837    cudaDevAttrMaxTexture2DGatherHeight = 46,
838    cudaDevAttrMaxTexture3DWidthAlt = 47,
839    cudaDevAttrMaxTexture3DHeightAlt = 48,
840    cudaDevAttrMaxTexture3DDepthAlt = 49,
841    cudaDevAttrPciDomainId = 50,
842    cudaDevAttrTexturePitchAlignment = 51,
843    cudaDevAttrMaxTextureCubemapWidth = 52,
844    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
845    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
846    cudaDevAttrMaxSurface1DWidth = 55,
847    cudaDevAttrMaxSurface2DWidth = 56,
848    cudaDevAttrMaxSurface2DHeight = 57,
849    cudaDevAttrMaxSurface3DWidth = 58,
850    cudaDevAttrMaxSurface3DHeight = 59,
851    cudaDevAttrMaxSurface3DDepth = 60,
852    cudaDevAttrMaxSurface1DLayeredWidth = 61,
853    cudaDevAttrMaxSurface1DLayeredLayers = 62,
854    cudaDevAttrMaxSurface2DLayeredWidth = 63,
855    cudaDevAttrMaxSurface2DLayeredHeight = 64,
856    cudaDevAttrMaxSurface2DLayeredLayers = 65,
857    cudaDevAttrMaxSurfaceCubemapWidth = 66,
858    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
859    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
860    cudaDevAttrMaxTexture1DLinearWidth = 69,
861    cudaDevAttrMaxTexture2DLinearWidth = 70,
862    cudaDevAttrMaxTexture2DLinearHeight = 71,
863    cudaDevAttrMaxTexture2DLinearPitch = 72,
864    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
865    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
866    cudaDevAttrComputeCapabilityMajor = 75,
867    cudaDevAttrComputeCapabilityMinor = 76,
868    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
869    cudaDevAttrStreamPrioritiesSupported = 78,
870    cudaDevAttrGlobalL1CacheSupported = 79,
871    cudaDevAttrLocalL1CacheSupported = 80,
872    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
873    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
874    cudaDevAttrManagedMemory = 83,
875    cudaDevAttrIsMultiGpuBoard = 84,
876    cudaDevAttrMultiGpuBoardGroupID = 85,
877    cudaDevAttrHostNativeAtomicSupported = 86,
878    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
879    cudaDevAttrPageableMemoryAccess = 88,
880    cudaDevAttrConcurrentManagedAccess = 89,
881    cudaDevAttrComputePreemptionSupported = 90,
882    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
883    cudaDevAttrReserved92 = 92,
884    cudaDevAttrReserved93 = 93,
885    cudaDevAttrReserved94 = 94,
886    cudaDevAttrCooperativeLaunch = 95,
887    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
888    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
889    cudaDevAttrCanFlushRemoteWrites = 98,
890    cudaDevAttrHostRegisterSupported = 99,
891    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
892    cudaDevAttrDirectManagedMemAccessFromHost = 101,
893    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
894    cudaDevAttrMaxPersistingL2CacheSize = 108,
895    cudaDevAttrMaxAccessPolicyWindowSize = 109,
896    cudaDevAttrReservedSharedMemoryPerBlock = 111,
897    cudaDevAttrSparseCudaArraySupported = 112,
898    cudaDevAttrHostRegisterReadOnlySupported = 113,
899    cudaDevAttrMaxTimelineSemaphoreInteropSupported = 114,
900    cudaDevAttrMemoryPoolsSupported = 115,
901    cudaDevAttrGPUDirectRDMASupported = 116,
902    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
903    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
904    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
905    cudaDevAttrMax = 120,
906}
907#[cfg(any(feature = "cuda-11050"))]
908#[repr(u32)]
909#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
910pub enum cudaDeviceAttr {
911    cudaDevAttrMaxThreadsPerBlock = 1,
912    cudaDevAttrMaxBlockDimX = 2,
913    cudaDevAttrMaxBlockDimY = 3,
914    cudaDevAttrMaxBlockDimZ = 4,
915    cudaDevAttrMaxGridDimX = 5,
916    cudaDevAttrMaxGridDimY = 6,
917    cudaDevAttrMaxGridDimZ = 7,
918    cudaDevAttrMaxSharedMemoryPerBlock = 8,
919    cudaDevAttrTotalConstantMemory = 9,
920    cudaDevAttrWarpSize = 10,
921    cudaDevAttrMaxPitch = 11,
922    cudaDevAttrMaxRegistersPerBlock = 12,
923    cudaDevAttrClockRate = 13,
924    cudaDevAttrTextureAlignment = 14,
925    cudaDevAttrGpuOverlap = 15,
926    cudaDevAttrMultiProcessorCount = 16,
927    cudaDevAttrKernelExecTimeout = 17,
928    cudaDevAttrIntegrated = 18,
929    cudaDevAttrCanMapHostMemory = 19,
930    cudaDevAttrComputeMode = 20,
931    cudaDevAttrMaxTexture1DWidth = 21,
932    cudaDevAttrMaxTexture2DWidth = 22,
933    cudaDevAttrMaxTexture2DHeight = 23,
934    cudaDevAttrMaxTexture3DWidth = 24,
935    cudaDevAttrMaxTexture3DHeight = 25,
936    cudaDevAttrMaxTexture3DDepth = 26,
937    cudaDevAttrMaxTexture2DLayeredWidth = 27,
938    cudaDevAttrMaxTexture2DLayeredHeight = 28,
939    cudaDevAttrMaxTexture2DLayeredLayers = 29,
940    cudaDevAttrSurfaceAlignment = 30,
941    cudaDevAttrConcurrentKernels = 31,
942    cudaDevAttrEccEnabled = 32,
943    cudaDevAttrPciBusId = 33,
944    cudaDevAttrPciDeviceId = 34,
945    cudaDevAttrTccDriver = 35,
946    cudaDevAttrMemoryClockRate = 36,
947    cudaDevAttrGlobalMemoryBusWidth = 37,
948    cudaDevAttrL2CacheSize = 38,
949    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
950    cudaDevAttrAsyncEngineCount = 40,
951    cudaDevAttrUnifiedAddressing = 41,
952    cudaDevAttrMaxTexture1DLayeredWidth = 42,
953    cudaDevAttrMaxTexture1DLayeredLayers = 43,
954    cudaDevAttrMaxTexture2DGatherWidth = 45,
955    cudaDevAttrMaxTexture2DGatherHeight = 46,
956    cudaDevAttrMaxTexture3DWidthAlt = 47,
957    cudaDevAttrMaxTexture3DHeightAlt = 48,
958    cudaDevAttrMaxTexture3DDepthAlt = 49,
959    cudaDevAttrPciDomainId = 50,
960    cudaDevAttrTexturePitchAlignment = 51,
961    cudaDevAttrMaxTextureCubemapWidth = 52,
962    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
963    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
964    cudaDevAttrMaxSurface1DWidth = 55,
965    cudaDevAttrMaxSurface2DWidth = 56,
966    cudaDevAttrMaxSurface2DHeight = 57,
967    cudaDevAttrMaxSurface3DWidth = 58,
968    cudaDevAttrMaxSurface3DHeight = 59,
969    cudaDevAttrMaxSurface3DDepth = 60,
970    cudaDevAttrMaxSurface1DLayeredWidth = 61,
971    cudaDevAttrMaxSurface1DLayeredLayers = 62,
972    cudaDevAttrMaxSurface2DLayeredWidth = 63,
973    cudaDevAttrMaxSurface2DLayeredHeight = 64,
974    cudaDevAttrMaxSurface2DLayeredLayers = 65,
975    cudaDevAttrMaxSurfaceCubemapWidth = 66,
976    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
977    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
978    cudaDevAttrMaxTexture1DLinearWidth = 69,
979    cudaDevAttrMaxTexture2DLinearWidth = 70,
980    cudaDevAttrMaxTexture2DLinearHeight = 71,
981    cudaDevAttrMaxTexture2DLinearPitch = 72,
982    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
983    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
984    cudaDevAttrComputeCapabilityMajor = 75,
985    cudaDevAttrComputeCapabilityMinor = 76,
986    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
987    cudaDevAttrStreamPrioritiesSupported = 78,
988    cudaDevAttrGlobalL1CacheSupported = 79,
989    cudaDevAttrLocalL1CacheSupported = 80,
990    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
991    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
992    cudaDevAttrManagedMemory = 83,
993    cudaDevAttrIsMultiGpuBoard = 84,
994    cudaDevAttrMultiGpuBoardGroupID = 85,
995    cudaDevAttrHostNativeAtomicSupported = 86,
996    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
997    cudaDevAttrPageableMemoryAccess = 88,
998    cudaDevAttrConcurrentManagedAccess = 89,
999    cudaDevAttrComputePreemptionSupported = 90,
1000    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
1001    cudaDevAttrReserved92 = 92,
1002    cudaDevAttrReserved93 = 93,
1003    cudaDevAttrReserved94 = 94,
1004    cudaDevAttrCooperativeLaunch = 95,
1005    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
1006    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
1007    cudaDevAttrCanFlushRemoteWrites = 98,
1008    cudaDevAttrHostRegisterSupported = 99,
1009    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
1010    cudaDevAttrDirectManagedMemAccessFromHost = 101,
1011    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
1012    cudaDevAttrMaxPersistingL2CacheSize = 108,
1013    cudaDevAttrMaxAccessPolicyWindowSize = 109,
1014    cudaDevAttrReservedSharedMemoryPerBlock = 111,
1015    cudaDevAttrSparseCudaArraySupported = 112,
1016    cudaDevAttrHostRegisterReadOnlySupported = 113,
1017    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
1018    cudaDevAttrMemoryPoolsSupported = 115,
1019    cudaDevAttrGPUDirectRDMASupported = 116,
1020    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
1021    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
1022    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
1023    cudaDevAttrMax = 120,
1024}
1025#[cfg(any(feature = "cuda-11060", feature = "cuda-11070"))]
1026#[repr(u32)]
1027#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1028pub enum cudaDeviceAttr {
1029    cudaDevAttrMaxThreadsPerBlock = 1,
1030    cudaDevAttrMaxBlockDimX = 2,
1031    cudaDevAttrMaxBlockDimY = 3,
1032    cudaDevAttrMaxBlockDimZ = 4,
1033    cudaDevAttrMaxGridDimX = 5,
1034    cudaDevAttrMaxGridDimY = 6,
1035    cudaDevAttrMaxGridDimZ = 7,
1036    cudaDevAttrMaxSharedMemoryPerBlock = 8,
1037    cudaDevAttrTotalConstantMemory = 9,
1038    cudaDevAttrWarpSize = 10,
1039    cudaDevAttrMaxPitch = 11,
1040    cudaDevAttrMaxRegistersPerBlock = 12,
1041    cudaDevAttrClockRate = 13,
1042    cudaDevAttrTextureAlignment = 14,
1043    cudaDevAttrGpuOverlap = 15,
1044    cudaDevAttrMultiProcessorCount = 16,
1045    cudaDevAttrKernelExecTimeout = 17,
1046    cudaDevAttrIntegrated = 18,
1047    cudaDevAttrCanMapHostMemory = 19,
1048    cudaDevAttrComputeMode = 20,
1049    cudaDevAttrMaxTexture1DWidth = 21,
1050    cudaDevAttrMaxTexture2DWidth = 22,
1051    cudaDevAttrMaxTexture2DHeight = 23,
1052    cudaDevAttrMaxTexture3DWidth = 24,
1053    cudaDevAttrMaxTexture3DHeight = 25,
1054    cudaDevAttrMaxTexture3DDepth = 26,
1055    cudaDevAttrMaxTexture2DLayeredWidth = 27,
1056    cudaDevAttrMaxTexture2DLayeredHeight = 28,
1057    cudaDevAttrMaxTexture2DLayeredLayers = 29,
1058    cudaDevAttrSurfaceAlignment = 30,
1059    cudaDevAttrConcurrentKernels = 31,
1060    cudaDevAttrEccEnabled = 32,
1061    cudaDevAttrPciBusId = 33,
1062    cudaDevAttrPciDeviceId = 34,
1063    cudaDevAttrTccDriver = 35,
1064    cudaDevAttrMemoryClockRate = 36,
1065    cudaDevAttrGlobalMemoryBusWidth = 37,
1066    cudaDevAttrL2CacheSize = 38,
1067    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
1068    cudaDevAttrAsyncEngineCount = 40,
1069    cudaDevAttrUnifiedAddressing = 41,
1070    cudaDevAttrMaxTexture1DLayeredWidth = 42,
1071    cudaDevAttrMaxTexture1DLayeredLayers = 43,
1072    cudaDevAttrMaxTexture2DGatherWidth = 45,
1073    cudaDevAttrMaxTexture2DGatherHeight = 46,
1074    cudaDevAttrMaxTexture3DWidthAlt = 47,
1075    cudaDevAttrMaxTexture3DHeightAlt = 48,
1076    cudaDevAttrMaxTexture3DDepthAlt = 49,
1077    cudaDevAttrPciDomainId = 50,
1078    cudaDevAttrTexturePitchAlignment = 51,
1079    cudaDevAttrMaxTextureCubemapWidth = 52,
1080    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
1081    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
1082    cudaDevAttrMaxSurface1DWidth = 55,
1083    cudaDevAttrMaxSurface2DWidth = 56,
1084    cudaDevAttrMaxSurface2DHeight = 57,
1085    cudaDevAttrMaxSurface3DWidth = 58,
1086    cudaDevAttrMaxSurface3DHeight = 59,
1087    cudaDevAttrMaxSurface3DDepth = 60,
1088    cudaDevAttrMaxSurface1DLayeredWidth = 61,
1089    cudaDevAttrMaxSurface1DLayeredLayers = 62,
1090    cudaDevAttrMaxSurface2DLayeredWidth = 63,
1091    cudaDevAttrMaxSurface2DLayeredHeight = 64,
1092    cudaDevAttrMaxSurface2DLayeredLayers = 65,
1093    cudaDevAttrMaxSurfaceCubemapWidth = 66,
1094    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
1095    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
1096    cudaDevAttrMaxTexture1DLinearWidth = 69,
1097    cudaDevAttrMaxTexture2DLinearWidth = 70,
1098    cudaDevAttrMaxTexture2DLinearHeight = 71,
1099    cudaDevAttrMaxTexture2DLinearPitch = 72,
1100    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
1101    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
1102    cudaDevAttrComputeCapabilityMajor = 75,
1103    cudaDevAttrComputeCapabilityMinor = 76,
1104    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
1105    cudaDevAttrStreamPrioritiesSupported = 78,
1106    cudaDevAttrGlobalL1CacheSupported = 79,
1107    cudaDevAttrLocalL1CacheSupported = 80,
1108    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
1109    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
1110    cudaDevAttrManagedMemory = 83,
1111    cudaDevAttrIsMultiGpuBoard = 84,
1112    cudaDevAttrMultiGpuBoardGroupID = 85,
1113    cudaDevAttrHostNativeAtomicSupported = 86,
1114    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
1115    cudaDevAttrPageableMemoryAccess = 88,
1116    cudaDevAttrConcurrentManagedAccess = 89,
1117    cudaDevAttrComputePreemptionSupported = 90,
1118    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
1119    cudaDevAttrReserved92 = 92,
1120    cudaDevAttrReserved93 = 93,
1121    cudaDevAttrReserved94 = 94,
1122    cudaDevAttrCooperativeLaunch = 95,
1123    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
1124    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
1125    cudaDevAttrCanFlushRemoteWrites = 98,
1126    cudaDevAttrHostRegisterSupported = 99,
1127    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
1128    cudaDevAttrDirectManagedMemAccessFromHost = 101,
1129    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
1130    cudaDevAttrMaxPersistingL2CacheSize = 108,
1131    cudaDevAttrMaxAccessPolicyWindowSize = 109,
1132    cudaDevAttrReservedSharedMemoryPerBlock = 111,
1133    cudaDevAttrSparseCudaArraySupported = 112,
1134    cudaDevAttrHostRegisterReadOnlySupported = 113,
1135    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
1136    cudaDevAttrMemoryPoolsSupported = 115,
1137    cudaDevAttrGPUDirectRDMASupported = 116,
1138    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
1139    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
1140    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
1141    cudaDevAttrDeferredMappingCudaArraySupported = 121,
1142    cudaDevAttrMax = 122,
1143}
1144#[cfg(any(feature = "cuda-11080"))]
1145#[repr(u32)]
1146#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1147pub enum cudaDeviceAttr {
1148    cudaDevAttrMaxThreadsPerBlock = 1,
1149    cudaDevAttrMaxBlockDimX = 2,
1150    cudaDevAttrMaxBlockDimY = 3,
1151    cudaDevAttrMaxBlockDimZ = 4,
1152    cudaDevAttrMaxGridDimX = 5,
1153    cudaDevAttrMaxGridDimY = 6,
1154    cudaDevAttrMaxGridDimZ = 7,
1155    cudaDevAttrMaxSharedMemoryPerBlock = 8,
1156    cudaDevAttrTotalConstantMemory = 9,
1157    cudaDevAttrWarpSize = 10,
1158    cudaDevAttrMaxPitch = 11,
1159    cudaDevAttrMaxRegistersPerBlock = 12,
1160    cudaDevAttrClockRate = 13,
1161    cudaDevAttrTextureAlignment = 14,
1162    cudaDevAttrGpuOverlap = 15,
1163    cudaDevAttrMultiProcessorCount = 16,
1164    cudaDevAttrKernelExecTimeout = 17,
1165    cudaDevAttrIntegrated = 18,
1166    cudaDevAttrCanMapHostMemory = 19,
1167    cudaDevAttrComputeMode = 20,
1168    cudaDevAttrMaxTexture1DWidth = 21,
1169    cudaDevAttrMaxTexture2DWidth = 22,
1170    cudaDevAttrMaxTexture2DHeight = 23,
1171    cudaDevAttrMaxTexture3DWidth = 24,
1172    cudaDevAttrMaxTexture3DHeight = 25,
1173    cudaDevAttrMaxTexture3DDepth = 26,
1174    cudaDevAttrMaxTexture2DLayeredWidth = 27,
1175    cudaDevAttrMaxTexture2DLayeredHeight = 28,
1176    cudaDevAttrMaxTexture2DLayeredLayers = 29,
1177    cudaDevAttrSurfaceAlignment = 30,
1178    cudaDevAttrConcurrentKernels = 31,
1179    cudaDevAttrEccEnabled = 32,
1180    cudaDevAttrPciBusId = 33,
1181    cudaDevAttrPciDeviceId = 34,
1182    cudaDevAttrTccDriver = 35,
1183    cudaDevAttrMemoryClockRate = 36,
1184    cudaDevAttrGlobalMemoryBusWidth = 37,
1185    cudaDevAttrL2CacheSize = 38,
1186    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
1187    cudaDevAttrAsyncEngineCount = 40,
1188    cudaDevAttrUnifiedAddressing = 41,
1189    cudaDevAttrMaxTexture1DLayeredWidth = 42,
1190    cudaDevAttrMaxTexture1DLayeredLayers = 43,
1191    cudaDevAttrMaxTexture2DGatherWidth = 45,
1192    cudaDevAttrMaxTexture2DGatherHeight = 46,
1193    cudaDevAttrMaxTexture3DWidthAlt = 47,
1194    cudaDevAttrMaxTexture3DHeightAlt = 48,
1195    cudaDevAttrMaxTexture3DDepthAlt = 49,
1196    cudaDevAttrPciDomainId = 50,
1197    cudaDevAttrTexturePitchAlignment = 51,
1198    cudaDevAttrMaxTextureCubemapWidth = 52,
1199    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
1200    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
1201    cudaDevAttrMaxSurface1DWidth = 55,
1202    cudaDevAttrMaxSurface2DWidth = 56,
1203    cudaDevAttrMaxSurface2DHeight = 57,
1204    cudaDevAttrMaxSurface3DWidth = 58,
1205    cudaDevAttrMaxSurface3DHeight = 59,
1206    cudaDevAttrMaxSurface3DDepth = 60,
1207    cudaDevAttrMaxSurface1DLayeredWidth = 61,
1208    cudaDevAttrMaxSurface1DLayeredLayers = 62,
1209    cudaDevAttrMaxSurface2DLayeredWidth = 63,
1210    cudaDevAttrMaxSurface2DLayeredHeight = 64,
1211    cudaDevAttrMaxSurface2DLayeredLayers = 65,
1212    cudaDevAttrMaxSurfaceCubemapWidth = 66,
1213    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
1214    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
1215    cudaDevAttrMaxTexture1DLinearWidth = 69,
1216    cudaDevAttrMaxTexture2DLinearWidth = 70,
1217    cudaDevAttrMaxTexture2DLinearHeight = 71,
1218    cudaDevAttrMaxTexture2DLinearPitch = 72,
1219    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
1220    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
1221    cudaDevAttrComputeCapabilityMajor = 75,
1222    cudaDevAttrComputeCapabilityMinor = 76,
1223    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
1224    cudaDevAttrStreamPrioritiesSupported = 78,
1225    cudaDevAttrGlobalL1CacheSupported = 79,
1226    cudaDevAttrLocalL1CacheSupported = 80,
1227    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
1228    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
1229    cudaDevAttrManagedMemory = 83,
1230    cudaDevAttrIsMultiGpuBoard = 84,
1231    cudaDevAttrMultiGpuBoardGroupID = 85,
1232    cudaDevAttrHostNativeAtomicSupported = 86,
1233    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
1234    cudaDevAttrPageableMemoryAccess = 88,
1235    cudaDevAttrConcurrentManagedAccess = 89,
1236    cudaDevAttrComputePreemptionSupported = 90,
1237    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
1238    cudaDevAttrReserved92 = 92,
1239    cudaDevAttrReserved93 = 93,
1240    cudaDevAttrReserved94 = 94,
1241    cudaDevAttrCooperativeLaunch = 95,
1242    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
1243    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
1244    cudaDevAttrCanFlushRemoteWrites = 98,
1245    cudaDevAttrHostRegisterSupported = 99,
1246    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
1247    cudaDevAttrDirectManagedMemAccessFromHost = 101,
1248    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
1249    cudaDevAttrMaxPersistingL2CacheSize = 108,
1250    cudaDevAttrMaxAccessPolicyWindowSize = 109,
1251    cudaDevAttrReservedSharedMemoryPerBlock = 111,
1252    cudaDevAttrSparseCudaArraySupported = 112,
1253    cudaDevAttrHostRegisterReadOnlySupported = 113,
1254    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
1255    cudaDevAttrMemoryPoolsSupported = 115,
1256    cudaDevAttrGPUDirectRDMASupported = 116,
1257    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
1258    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
1259    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
1260    cudaDevAttrClusterLaunch = 120,
1261    cudaDevAttrDeferredMappingCudaArraySupported = 121,
1262    cudaDevAttrMax = 122,
1263}
1264#[cfg(any(feature = "cuda-12000"))]
1265#[repr(u32)]
1266#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1267pub enum cudaDeviceAttr {
1268    cudaDevAttrMaxThreadsPerBlock = 1,
1269    cudaDevAttrMaxBlockDimX = 2,
1270    cudaDevAttrMaxBlockDimY = 3,
1271    cudaDevAttrMaxBlockDimZ = 4,
1272    cudaDevAttrMaxGridDimX = 5,
1273    cudaDevAttrMaxGridDimY = 6,
1274    cudaDevAttrMaxGridDimZ = 7,
1275    cudaDevAttrMaxSharedMemoryPerBlock = 8,
1276    cudaDevAttrTotalConstantMemory = 9,
1277    cudaDevAttrWarpSize = 10,
1278    cudaDevAttrMaxPitch = 11,
1279    cudaDevAttrMaxRegistersPerBlock = 12,
1280    cudaDevAttrClockRate = 13,
1281    cudaDevAttrTextureAlignment = 14,
1282    cudaDevAttrGpuOverlap = 15,
1283    cudaDevAttrMultiProcessorCount = 16,
1284    cudaDevAttrKernelExecTimeout = 17,
1285    cudaDevAttrIntegrated = 18,
1286    cudaDevAttrCanMapHostMemory = 19,
1287    cudaDevAttrComputeMode = 20,
1288    cudaDevAttrMaxTexture1DWidth = 21,
1289    cudaDevAttrMaxTexture2DWidth = 22,
1290    cudaDevAttrMaxTexture2DHeight = 23,
1291    cudaDevAttrMaxTexture3DWidth = 24,
1292    cudaDevAttrMaxTexture3DHeight = 25,
1293    cudaDevAttrMaxTexture3DDepth = 26,
1294    cudaDevAttrMaxTexture2DLayeredWidth = 27,
1295    cudaDevAttrMaxTexture2DLayeredHeight = 28,
1296    cudaDevAttrMaxTexture2DLayeredLayers = 29,
1297    cudaDevAttrSurfaceAlignment = 30,
1298    cudaDevAttrConcurrentKernels = 31,
1299    cudaDevAttrEccEnabled = 32,
1300    cudaDevAttrPciBusId = 33,
1301    cudaDevAttrPciDeviceId = 34,
1302    cudaDevAttrTccDriver = 35,
1303    cudaDevAttrMemoryClockRate = 36,
1304    cudaDevAttrGlobalMemoryBusWidth = 37,
1305    cudaDevAttrL2CacheSize = 38,
1306    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
1307    cudaDevAttrAsyncEngineCount = 40,
1308    cudaDevAttrUnifiedAddressing = 41,
1309    cudaDevAttrMaxTexture1DLayeredWidth = 42,
1310    cudaDevAttrMaxTexture1DLayeredLayers = 43,
1311    cudaDevAttrMaxTexture2DGatherWidth = 45,
1312    cudaDevAttrMaxTexture2DGatherHeight = 46,
1313    cudaDevAttrMaxTexture3DWidthAlt = 47,
1314    cudaDevAttrMaxTexture3DHeightAlt = 48,
1315    cudaDevAttrMaxTexture3DDepthAlt = 49,
1316    cudaDevAttrPciDomainId = 50,
1317    cudaDevAttrTexturePitchAlignment = 51,
1318    cudaDevAttrMaxTextureCubemapWidth = 52,
1319    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
1320    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
1321    cudaDevAttrMaxSurface1DWidth = 55,
1322    cudaDevAttrMaxSurface2DWidth = 56,
1323    cudaDevAttrMaxSurface2DHeight = 57,
1324    cudaDevAttrMaxSurface3DWidth = 58,
1325    cudaDevAttrMaxSurface3DHeight = 59,
1326    cudaDevAttrMaxSurface3DDepth = 60,
1327    cudaDevAttrMaxSurface1DLayeredWidth = 61,
1328    cudaDevAttrMaxSurface1DLayeredLayers = 62,
1329    cudaDevAttrMaxSurface2DLayeredWidth = 63,
1330    cudaDevAttrMaxSurface2DLayeredHeight = 64,
1331    cudaDevAttrMaxSurface2DLayeredLayers = 65,
1332    cudaDevAttrMaxSurfaceCubemapWidth = 66,
1333    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
1334    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
1335    cudaDevAttrMaxTexture1DLinearWidth = 69,
1336    cudaDevAttrMaxTexture2DLinearWidth = 70,
1337    cudaDevAttrMaxTexture2DLinearHeight = 71,
1338    cudaDevAttrMaxTexture2DLinearPitch = 72,
1339    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
1340    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
1341    cudaDevAttrComputeCapabilityMajor = 75,
1342    cudaDevAttrComputeCapabilityMinor = 76,
1343    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
1344    cudaDevAttrStreamPrioritiesSupported = 78,
1345    cudaDevAttrGlobalL1CacheSupported = 79,
1346    cudaDevAttrLocalL1CacheSupported = 80,
1347    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
1348    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
1349    cudaDevAttrManagedMemory = 83,
1350    cudaDevAttrIsMultiGpuBoard = 84,
1351    cudaDevAttrMultiGpuBoardGroupID = 85,
1352    cudaDevAttrHostNativeAtomicSupported = 86,
1353    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
1354    cudaDevAttrPageableMemoryAccess = 88,
1355    cudaDevAttrConcurrentManagedAccess = 89,
1356    cudaDevAttrComputePreemptionSupported = 90,
1357    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
1358    cudaDevAttrReserved92 = 92,
1359    cudaDevAttrReserved93 = 93,
1360    cudaDevAttrReserved94 = 94,
1361    cudaDevAttrCooperativeLaunch = 95,
1362    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
1363    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
1364    cudaDevAttrCanFlushRemoteWrites = 98,
1365    cudaDevAttrHostRegisterSupported = 99,
1366    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
1367    cudaDevAttrDirectManagedMemAccessFromHost = 101,
1368    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
1369    cudaDevAttrMaxPersistingL2CacheSize = 108,
1370    cudaDevAttrMaxAccessPolicyWindowSize = 109,
1371    cudaDevAttrReservedSharedMemoryPerBlock = 111,
1372    cudaDevAttrSparseCudaArraySupported = 112,
1373    cudaDevAttrHostRegisterReadOnlySupported = 113,
1374    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
1375    cudaDevAttrMemoryPoolsSupported = 115,
1376    cudaDevAttrGPUDirectRDMASupported = 116,
1377    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
1378    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
1379    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
1380    cudaDevAttrClusterLaunch = 120,
1381    cudaDevAttrDeferredMappingCudaArraySupported = 121,
1382    cudaDevAttrReserved122 = 122,
1383    cudaDevAttrReserved123 = 123,
1384    cudaDevAttrReserved124 = 124,
1385    cudaDevAttrIpcEventSupport = 125,
1386    cudaDevAttrMemSyncDomainCount = 126,
1387    cudaDevAttrMax = 127,
1388}
1389#[cfg(any(feature = "cuda-12010"))]
1390#[repr(u32)]
1391#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1392pub enum cudaDeviceAttr {
1393    cudaDevAttrMaxThreadsPerBlock = 1,
1394    cudaDevAttrMaxBlockDimX = 2,
1395    cudaDevAttrMaxBlockDimY = 3,
1396    cudaDevAttrMaxBlockDimZ = 4,
1397    cudaDevAttrMaxGridDimX = 5,
1398    cudaDevAttrMaxGridDimY = 6,
1399    cudaDevAttrMaxGridDimZ = 7,
1400    cudaDevAttrMaxSharedMemoryPerBlock = 8,
1401    cudaDevAttrTotalConstantMemory = 9,
1402    cudaDevAttrWarpSize = 10,
1403    cudaDevAttrMaxPitch = 11,
1404    cudaDevAttrMaxRegistersPerBlock = 12,
1405    cudaDevAttrClockRate = 13,
1406    cudaDevAttrTextureAlignment = 14,
1407    cudaDevAttrGpuOverlap = 15,
1408    cudaDevAttrMultiProcessorCount = 16,
1409    cudaDevAttrKernelExecTimeout = 17,
1410    cudaDevAttrIntegrated = 18,
1411    cudaDevAttrCanMapHostMemory = 19,
1412    cudaDevAttrComputeMode = 20,
1413    cudaDevAttrMaxTexture1DWidth = 21,
1414    cudaDevAttrMaxTexture2DWidth = 22,
1415    cudaDevAttrMaxTexture2DHeight = 23,
1416    cudaDevAttrMaxTexture3DWidth = 24,
1417    cudaDevAttrMaxTexture3DHeight = 25,
1418    cudaDevAttrMaxTexture3DDepth = 26,
1419    cudaDevAttrMaxTexture2DLayeredWidth = 27,
1420    cudaDevAttrMaxTexture2DLayeredHeight = 28,
1421    cudaDevAttrMaxTexture2DLayeredLayers = 29,
1422    cudaDevAttrSurfaceAlignment = 30,
1423    cudaDevAttrConcurrentKernels = 31,
1424    cudaDevAttrEccEnabled = 32,
1425    cudaDevAttrPciBusId = 33,
1426    cudaDevAttrPciDeviceId = 34,
1427    cudaDevAttrTccDriver = 35,
1428    cudaDevAttrMemoryClockRate = 36,
1429    cudaDevAttrGlobalMemoryBusWidth = 37,
1430    cudaDevAttrL2CacheSize = 38,
1431    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
1432    cudaDevAttrAsyncEngineCount = 40,
1433    cudaDevAttrUnifiedAddressing = 41,
1434    cudaDevAttrMaxTexture1DLayeredWidth = 42,
1435    cudaDevAttrMaxTexture1DLayeredLayers = 43,
1436    cudaDevAttrMaxTexture2DGatherWidth = 45,
1437    cudaDevAttrMaxTexture2DGatherHeight = 46,
1438    cudaDevAttrMaxTexture3DWidthAlt = 47,
1439    cudaDevAttrMaxTexture3DHeightAlt = 48,
1440    cudaDevAttrMaxTexture3DDepthAlt = 49,
1441    cudaDevAttrPciDomainId = 50,
1442    cudaDevAttrTexturePitchAlignment = 51,
1443    cudaDevAttrMaxTextureCubemapWidth = 52,
1444    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
1445    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
1446    cudaDevAttrMaxSurface1DWidth = 55,
1447    cudaDevAttrMaxSurface2DWidth = 56,
1448    cudaDevAttrMaxSurface2DHeight = 57,
1449    cudaDevAttrMaxSurface3DWidth = 58,
1450    cudaDevAttrMaxSurface3DHeight = 59,
1451    cudaDevAttrMaxSurface3DDepth = 60,
1452    cudaDevAttrMaxSurface1DLayeredWidth = 61,
1453    cudaDevAttrMaxSurface1DLayeredLayers = 62,
1454    cudaDevAttrMaxSurface2DLayeredWidth = 63,
1455    cudaDevAttrMaxSurface2DLayeredHeight = 64,
1456    cudaDevAttrMaxSurface2DLayeredLayers = 65,
1457    cudaDevAttrMaxSurfaceCubemapWidth = 66,
1458    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
1459    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
1460    cudaDevAttrMaxTexture1DLinearWidth = 69,
1461    cudaDevAttrMaxTexture2DLinearWidth = 70,
1462    cudaDevAttrMaxTexture2DLinearHeight = 71,
1463    cudaDevAttrMaxTexture2DLinearPitch = 72,
1464    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
1465    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
1466    cudaDevAttrComputeCapabilityMajor = 75,
1467    cudaDevAttrComputeCapabilityMinor = 76,
1468    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
1469    cudaDevAttrStreamPrioritiesSupported = 78,
1470    cudaDevAttrGlobalL1CacheSupported = 79,
1471    cudaDevAttrLocalL1CacheSupported = 80,
1472    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
1473    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
1474    cudaDevAttrManagedMemory = 83,
1475    cudaDevAttrIsMultiGpuBoard = 84,
1476    cudaDevAttrMultiGpuBoardGroupID = 85,
1477    cudaDevAttrHostNativeAtomicSupported = 86,
1478    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
1479    cudaDevAttrPageableMemoryAccess = 88,
1480    cudaDevAttrConcurrentManagedAccess = 89,
1481    cudaDevAttrComputePreemptionSupported = 90,
1482    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
1483    cudaDevAttrReserved92 = 92,
1484    cudaDevAttrReserved93 = 93,
1485    cudaDevAttrReserved94 = 94,
1486    cudaDevAttrCooperativeLaunch = 95,
1487    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
1488    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
1489    cudaDevAttrCanFlushRemoteWrites = 98,
1490    cudaDevAttrHostRegisterSupported = 99,
1491    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
1492    cudaDevAttrDirectManagedMemAccessFromHost = 101,
1493    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
1494    cudaDevAttrMaxPersistingL2CacheSize = 108,
1495    cudaDevAttrMaxAccessPolicyWindowSize = 109,
1496    cudaDevAttrReservedSharedMemoryPerBlock = 111,
1497    cudaDevAttrSparseCudaArraySupported = 112,
1498    cudaDevAttrHostRegisterReadOnlySupported = 113,
1499    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
1500    cudaDevAttrMemoryPoolsSupported = 115,
1501    cudaDevAttrGPUDirectRDMASupported = 116,
1502    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
1503    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
1504    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
1505    cudaDevAttrClusterLaunch = 120,
1506    cudaDevAttrDeferredMappingCudaArraySupported = 121,
1507    cudaDevAttrReserved122 = 122,
1508    cudaDevAttrReserved123 = 123,
1509    cudaDevAttrReserved124 = 124,
1510    cudaDevAttrIpcEventSupport = 125,
1511    cudaDevAttrMemSyncDomainCount = 126,
1512    cudaDevAttrReserved127 = 127,
1513    cudaDevAttrReserved128 = 128,
1514    cudaDevAttrReserved129 = 129,
1515    cudaDevAttrReserved132 = 132,
1516    cudaDevAttrMax = 133,
1517}
1518#[cfg(any(feature = "cuda-12020"))]
1519#[repr(u32)]
1520#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1521pub enum cudaDeviceAttr {
1522    cudaDevAttrMaxThreadsPerBlock = 1,
1523    cudaDevAttrMaxBlockDimX = 2,
1524    cudaDevAttrMaxBlockDimY = 3,
1525    cudaDevAttrMaxBlockDimZ = 4,
1526    cudaDevAttrMaxGridDimX = 5,
1527    cudaDevAttrMaxGridDimY = 6,
1528    cudaDevAttrMaxGridDimZ = 7,
1529    cudaDevAttrMaxSharedMemoryPerBlock = 8,
1530    cudaDevAttrTotalConstantMemory = 9,
1531    cudaDevAttrWarpSize = 10,
1532    cudaDevAttrMaxPitch = 11,
1533    cudaDevAttrMaxRegistersPerBlock = 12,
1534    cudaDevAttrClockRate = 13,
1535    cudaDevAttrTextureAlignment = 14,
1536    cudaDevAttrGpuOverlap = 15,
1537    cudaDevAttrMultiProcessorCount = 16,
1538    cudaDevAttrKernelExecTimeout = 17,
1539    cudaDevAttrIntegrated = 18,
1540    cudaDevAttrCanMapHostMemory = 19,
1541    cudaDevAttrComputeMode = 20,
1542    cudaDevAttrMaxTexture1DWidth = 21,
1543    cudaDevAttrMaxTexture2DWidth = 22,
1544    cudaDevAttrMaxTexture2DHeight = 23,
1545    cudaDevAttrMaxTexture3DWidth = 24,
1546    cudaDevAttrMaxTexture3DHeight = 25,
1547    cudaDevAttrMaxTexture3DDepth = 26,
1548    cudaDevAttrMaxTexture2DLayeredWidth = 27,
1549    cudaDevAttrMaxTexture2DLayeredHeight = 28,
1550    cudaDevAttrMaxTexture2DLayeredLayers = 29,
1551    cudaDevAttrSurfaceAlignment = 30,
1552    cudaDevAttrConcurrentKernels = 31,
1553    cudaDevAttrEccEnabled = 32,
1554    cudaDevAttrPciBusId = 33,
1555    cudaDevAttrPciDeviceId = 34,
1556    cudaDevAttrTccDriver = 35,
1557    cudaDevAttrMemoryClockRate = 36,
1558    cudaDevAttrGlobalMemoryBusWidth = 37,
1559    cudaDevAttrL2CacheSize = 38,
1560    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
1561    cudaDevAttrAsyncEngineCount = 40,
1562    cudaDevAttrUnifiedAddressing = 41,
1563    cudaDevAttrMaxTexture1DLayeredWidth = 42,
1564    cudaDevAttrMaxTexture1DLayeredLayers = 43,
1565    cudaDevAttrMaxTexture2DGatherWidth = 45,
1566    cudaDevAttrMaxTexture2DGatherHeight = 46,
1567    cudaDevAttrMaxTexture3DWidthAlt = 47,
1568    cudaDevAttrMaxTexture3DHeightAlt = 48,
1569    cudaDevAttrMaxTexture3DDepthAlt = 49,
1570    cudaDevAttrPciDomainId = 50,
1571    cudaDevAttrTexturePitchAlignment = 51,
1572    cudaDevAttrMaxTextureCubemapWidth = 52,
1573    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
1574    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
1575    cudaDevAttrMaxSurface1DWidth = 55,
1576    cudaDevAttrMaxSurface2DWidth = 56,
1577    cudaDevAttrMaxSurface2DHeight = 57,
1578    cudaDevAttrMaxSurface3DWidth = 58,
1579    cudaDevAttrMaxSurface3DHeight = 59,
1580    cudaDevAttrMaxSurface3DDepth = 60,
1581    cudaDevAttrMaxSurface1DLayeredWidth = 61,
1582    cudaDevAttrMaxSurface1DLayeredLayers = 62,
1583    cudaDevAttrMaxSurface2DLayeredWidth = 63,
1584    cudaDevAttrMaxSurface2DLayeredHeight = 64,
1585    cudaDevAttrMaxSurface2DLayeredLayers = 65,
1586    cudaDevAttrMaxSurfaceCubemapWidth = 66,
1587    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
1588    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
1589    cudaDevAttrMaxTexture1DLinearWidth = 69,
1590    cudaDevAttrMaxTexture2DLinearWidth = 70,
1591    cudaDevAttrMaxTexture2DLinearHeight = 71,
1592    cudaDevAttrMaxTexture2DLinearPitch = 72,
1593    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
1594    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
1595    cudaDevAttrComputeCapabilityMajor = 75,
1596    cudaDevAttrComputeCapabilityMinor = 76,
1597    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
1598    cudaDevAttrStreamPrioritiesSupported = 78,
1599    cudaDevAttrGlobalL1CacheSupported = 79,
1600    cudaDevAttrLocalL1CacheSupported = 80,
1601    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
1602    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
1603    cudaDevAttrManagedMemory = 83,
1604    cudaDevAttrIsMultiGpuBoard = 84,
1605    cudaDevAttrMultiGpuBoardGroupID = 85,
1606    cudaDevAttrHostNativeAtomicSupported = 86,
1607    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
1608    cudaDevAttrPageableMemoryAccess = 88,
1609    cudaDevAttrConcurrentManagedAccess = 89,
1610    cudaDevAttrComputePreemptionSupported = 90,
1611    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
1612    cudaDevAttrReserved92 = 92,
1613    cudaDevAttrReserved93 = 93,
1614    cudaDevAttrReserved94 = 94,
1615    cudaDevAttrCooperativeLaunch = 95,
1616    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
1617    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
1618    cudaDevAttrCanFlushRemoteWrites = 98,
1619    cudaDevAttrHostRegisterSupported = 99,
1620    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
1621    cudaDevAttrDirectManagedMemAccessFromHost = 101,
1622    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
1623    cudaDevAttrMaxPersistingL2CacheSize = 108,
1624    cudaDevAttrMaxAccessPolicyWindowSize = 109,
1625    cudaDevAttrReservedSharedMemoryPerBlock = 111,
1626    cudaDevAttrSparseCudaArraySupported = 112,
1627    cudaDevAttrHostRegisterReadOnlySupported = 113,
1628    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
1629    cudaDevAttrMemoryPoolsSupported = 115,
1630    cudaDevAttrGPUDirectRDMASupported = 116,
1631    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
1632    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
1633    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
1634    cudaDevAttrClusterLaunch = 120,
1635    cudaDevAttrDeferredMappingCudaArraySupported = 121,
1636    cudaDevAttrReserved122 = 122,
1637    cudaDevAttrReserved123 = 123,
1638    cudaDevAttrReserved124 = 124,
1639    cudaDevAttrIpcEventSupport = 125,
1640    cudaDevAttrMemSyncDomainCount = 126,
1641    cudaDevAttrReserved127 = 127,
1642    cudaDevAttrReserved128 = 128,
1643    cudaDevAttrReserved129 = 129,
1644    cudaDevAttrNumaConfig = 130,
1645    cudaDevAttrNumaId = 131,
1646    cudaDevAttrReserved132 = 132,
1647    cudaDevAttrHostNumaId = 134,
1648    cudaDevAttrMax = 135,
1649}
1650#[cfg(any(feature = "cuda-12030", feature = "cuda-12040"))]
1651#[repr(u32)]
1652#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1653pub enum cudaDeviceAttr {
1654    cudaDevAttrMaxThreadsPerBlock = 1,
1655    cudaDevAttrMaxBlockDimX = 2,
1656    cudaDevAttrMaxBlockDimY = 3,
1657    cudaDevAttrMaxBlockDimZ = 4,
1658    cudaDevAttrMaxGridDimX = 5,
1659    cudaDevAttrMaxGridDimY = 6,
1660    cudaDevAttrMaxGridDimZ = 7,
1661    cudaDevAttrMaxSharedMemoryPerBlock = 8,
1662    cudaDevAttrTotalConstantMemory = 9,
1663    cudaDevAttrWarpSize = 10,
1664    cudaDevAttrMaxPitch = 11,
1665    cudaDevAttrMaxRegistersPerBlock = 12,
1666    cudaDevAttrClockRate = 13,
1667    cudaDevAttrTextureAlignment = 14,
1668    cudaDevAttrGpuOverlap = 15,
1669    cudaDevAttrMultiProcessorCount = 16,
1670    cudaDevAttrKernelExecTimeout = 17,
1671    cudaDevAttrIntegrated = 18,
1672    cudaDevAttrCanMapHostMemory = 19,
1673    cudaDevAttrComputeMode = 20,
1674    cudaDevAttrMaxTexture1DWidth = 21,
1675    cudaDevAttrMaxTexture2DWidth = 22,
1676    cudaDevAttrMaxTexture2DHeight = 23,
1677    cudaDevAttrMaxTexture3DWidth = 24,
1678    cudaDevAttrMaxTexture3DHeight = 25,
1679    cudaDevAttrMaxTexture3DDepth = 26,
1680    cudaDevAttrMaxTexture2DLayeredWidth = 27,
1681    cudaDevAttrMaxTexture2DLayeredHeight = 28,
1682    cudaDevAttrMaxTexture2DLayeredLayers = 29,
1683    cudaDevAttrSurfaceAlignment = 30,
1684    cudaDevAttrConcurrentKernels = 31,
1685    cudaDevAttrEccEnabled = 32,
1686    cudaDevAttrPciBusId = 33,
1687    cudaDevAttrPciDeviceId = 34,
1688    cudaDevAttrTccDriver = 35,
1689    cudaDevAttrMemoryClockRate = 36,
1690    cudaDevAttrGlobalMemoryBusWidth = 37,
1691    cudaDevAttrL2CacheSize = 38,
1692    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
1693    cudaDevAttrAsyncEngineCount = 40,
1694    cudaDevAttrUnifiedAddressing = 41,
1695    cudaDevAttrMaxTexture1DLayeredWidth = 42,
1696    cudaDevAttrMaxTexture1DLayeredLayers = 43,
1697    cudaDevAttrMaxTexture2DGatherWidth = 45,
1698    cudaDevAttrMaxTexture2DGatherHeight = 46,
1699    cudaDevAttrMaxTexture3DWidthAlt = 47,
1700    cudaDevAttrMaxTexture3DHeightAlt = 48,
1701    cudaDevAttrMaxTexture3DDepthAlt = 49,
1702    cudaDevAttrPciDomainId = 50,
1703    cudaDevAttrTexturePitchAlignment = 51,
1704    cudaDevAttrMaxTextureCubemapWidth = 52,
1705    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
1706    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
1707    cudaDevAttrMaxSurface1DWidth = 55,
1708    cudaDevAttrMaxSurface2DWidth = 56,
1709    cudaDevAttrMaxSurface2DHeight = 57,
1710    cudaDevAttrMaxSurface3DWidth = 58,
1711    cudaDevAttrMaxSurface3DHeight = 59,
1712    cudaDevAttrMaxSurface3DDepth = 60,
1713    cudaDevAttrMaxSurface1DLayeredWidth = 61,
1714    cudaDevAttrMaxSurface1DLayeredLayers = 62,
1715    cudaDevAttrMaxSurface2DLayeredWidth = 63,
1716    cudaDevAttrMaxSurface2DLayeredHeight = 64,
1717    cudaDevAttrMaxSurface2DLayeredLayers = 65,
1718    cudaDevAttrMaxSurfaceCubemapWidth = 66,
1719    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
1720    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
1721    cudaDevAttrMaxTexture1DLinearWidth = 69,
1722    cudaDevAttrMaxTexture2DLinearWidth = 70,
1723    cudaDevAttrMaxTexture2DLinearHeight = 71,
1724    cudaDevAttrMaxTexture2DLinearPitch = 72,
1725    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
1726    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
1727    cudaDevAttrComputeCapabilityMajor = 75,
1728    cudaDevAttrComputeCapabilityMinor = 76,
1729    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
1730    cudaDevAttrStreamPrioritiesSupported = 78,
1731    cudaDevAttrGlobalL1CacheSupported = 79,
1732    cudaDevAttrLocalL1CacheSupported = 80,
1733    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
1734    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
1735    cudaDevAttrManagedMemory = 83,
1736    cudaDevAttrIsMultiGpuBoard = 84,
1737    cudaDevAttrMultiGpuBoardGroupID = 85,
1738    cudaDevAttrHostNativeAtomicSupported = 86,
1739    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
1740    cudaDevAttrPageableMemoryAccess = 88,
1741    cudaDevAttrConcurrentManagedAccess = 89,
1742    cudaDevAttrComputePreemptionSupported = 90,
1743    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
1744    cudaDevAttrReserved92 = 92,
1745    cudaDevAttrReserved93 = 93,
1746    cudaDevAttrReserved94 = 94,
1747    cudaDevAttrCooperativeLaunch = 95,
1748    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
1749    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
1750    cudaDevAttrCanFlushRemoteWrites = 98,
1751    cudaDevAttrHostRegisterSupported = 99,
1752    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
1753    cudaDevAttrDirectManagedMemAccessFromHost = 101,
1754    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
1755    cudaDevAttrMaxPersistingL2CacheSize = 108,
1756    cudaDevAttrMaxAccessPolicyWindowSize = 109,
1757    cudaDevAttrReservedSharedMemoryPerBlock = 111,
1758    cudaDevAttrSparseCudaArraySupported = 112,
1759    cudaDevAttrHostRegisterReadOnlySupported = 113,
1760    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
1761    cudaDevAttrMemoryPoolsSupported = 115,
1762    cudaDevAttrGPUDirectRDMASupported = 116,
1763    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
1764    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
1765    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
1766    cudaDevAttrClusterLaunch = 120,
1767    cudaDevAttrDeferredMappingCudaArraySupported = 121,
1768    cudaDevAttrReserved122 = 122,
1769    cudaDevAttrReserved123 = 123,
1770    cudaDevAttrReserved124 = 124,
1771    cudaDevAttrIpcEventSupport = 125,
1772    cudaDevAttrMemSyncDomainCount = 126,
1773    cudaDevAttrReserved127 = 127,
1774    cudaDevAttrReserved128 = 128,
1775    cudaDevAttrReserved129 = 129,
1776    cudaDevAttrNumaConfig = 130,
1777    cudaDevAttrNumaId = 131,
1778    cudaDevAttrReserved132 = 132,
1779    cudaDevAttrMpsEnabled = 133,
1780    cudaDevAttrHostNumaId = 134,
1781    cudaDevAttrMax = 135,
1782}
1783#[cfg(any(feature = "cuda-12050", feature = "cuda-12060"))]
1784#[repr(u32)]
1785#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1786pub enum cudaDeviceAttr {
1787    cudaDevAttrMaxThreadsPerBlock = 1,
1788    cudaDevAttrMaxBlockDimX = 2,
1789    cudaDevAttrMaxBlockDimY = 3,
1790    cudaDevAttrMaxBlockDimZ = 4,
1791    cudaDevAttrMaxGridDimX = 5,
1792    cudaDevAttrMaxGridDimY = 6,
1793    cudaDevAttrMaxGridDimZ = 7,
1794    cudaDevAttrMaxSharedMemoryPerBlock = 8,
1795    cudaDevAttrTotalConstantMemory = 9,
1796    cudaDevAttrWarpSize = 10,
1797    cudaDevAttrMaxPitch = 11,
1798    cudaDevAttrMaxRegistersPerBlock = 12,
1799    cudaDevAttrClockRate = 13,
1800    cudaDevAttrTextureAlignment = 14,
1801    cudaDevAttrGpuOverlap = 15,
1802    cudaDevAttrMultiProcessorCount = 16,
1803    cudaDevAttrKernelExecTimeout = 17,
1804    cudaDevAttrIntegrated = 18,
1805    cudaDevAttrCanMapHostMemory = 19,
1806    cudaDevAttrComputeMode = 20,
1807    cudaDevAttrMaxTexture1DWidth = 21,
1808    cudaDevAttrMaxTexture2DWidth = 22,
1809    cudaDevAttrMaxTexture2DHeight = 23,
1810    cudaDevAttrMaxTexture3DWidth = 24,
1811    cudaDevAttrMaxTexture3DHeight = 25,
1812    cudaDevAttrMaxTexture3DDepth = 26,
1813    cudaDevAttrMaxTexture2DLayeredWidth = 27,
1814    cudaDevAttrMaxTexture2DLayeredHeight = 28,
1815    cudaDevAttrMaxTexture2DLayeredLayers = 29,
1816    cudaDevAttrSurfaceAlignment = 30,
1817    cudaDevAttrConcurrentKernels = 31,
1818    cudaDevAttrEccEnabled = 32,
1819    cudaDevAttrPciBusId = 33,
1820    cudaDevAttrPciDeviceId = 34,
1821    cudaDevAttrTccDriver = 35,
1822    cudaDevAttrMemoryClockRate = 36,
1823    cudaDevAttrGlobalMemoryBusWidth = 37,
1824    cudaDevAttrL2CacheSize = 38,
1825    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
1826    cudaDevAttrAsyncEngineCount = 40,
1827    cudaDevAttrUnifiedAddressing = 41,
1828    cudaDevAttrMaxTexture1DLayeredWidth = 42,
1829    cudaDevAttrMaxTexture1DLayeredLayers = 43,
1830    cudaDevAttrMaxTexture2DGatherWidth = 45,
1831    cudaDevAttrMaxTexture2DGatherHeight = 46,
1832    cudaDevAttrMaxTexture3DWidthAlt = 47,
1833    cudaDevAttrMaxTexture3DHeightAlt = 48,
1834    cudaDevAttrMaxTexture3DDepthAlt = 49,
1835    cudaDevAttrPciDomainId = 50,
1836    cudaDevAttrTexturePitchAlignment = 51,
1837    cudaDevAttrMaxTextureCubemapWidth = 52,
1838    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
1839    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
1840    cudaDevAttrMaxSurface1DWidth = 55,
1841    cudaDevAttrMaxSurface2DWidth = 56,
1842    cudaDevAttrMaxSurface2DHeight = 57,
1843    cudaDevAttrMaxSurface3DWidth = 58,
1844    cudaDevAttrMaxSurface3DHeight = 59,
1845    cudaDevAttrMaxSurface3DDepth = 60,
1846    cudaDevAttrMaxSurface1DLayeredWidth = 61,
1847    cudaDevAttrMaxSurface1DLayeredLayers = 62,
1848    cudaDevAttrMaxSurface2DLayeredWidth = 63,
1849    cudaDevAttrMaxSurface2DLayeredHeight = 64,
1850    cudaDevAttrMaxSurface2DLayeredLayers = 65,
1851    cudaDevAttrMaxSurfaceCubemapWidth = 66,
1852    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
1853    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
1854    cudaDevAttrMaxTexture1DLinearWidth = 69,
1855    cudaDevAttrMaxTexture2DLinearWidth = 70,
1856    cudaDevAttrMaxTexture2DLinearHeight = 71,
1857    cudaDevAttrMaxTexture2DLinearPitch = 72,
1858    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
1859    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
1860    cudaDevAttrComputeCapabilityMajor = 75,
1861    cudaDevAttrComputeCapabilityMinor = 76,
1862    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
1863    cudaDevAttrStreamPrioritiesSupported = 78,
1864    cudaDevAttrGlobalL1CacheSupported = 79,
1865    cudaDevAttrLocalL1CacheSupported = 80,
1866    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
1867    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
1868    cudaDevAttrManagedMemory = 83,
1869    cudaDevAttrIsMultiGpuBoard = 84,
1870    cudaDevAttrMultiGpuBoardGroupID = 85,
1871    cudaDevAttrHostNativeAtomicSupported = 86,
1872    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
1873    cudaDevAttrPageableMemoryAccess = 88,
1874    cudaDevAttrConcurrentManagedAccess = 89,
1875    cudaDevAttrComputePreemptionSupported = 90,
1876    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
1877    cudaDevAttrReserved92 = 92,
1878    cudaDevAttrReserved93 = 93,
1879    cudaDevAttrReserved94 = 94,
1880    cudaDevAttrCooperativeLaunch = 95,
1881    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
1882    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
1883    cudaDevAttrCanFlushRemoteWrites = 98,
1884    cudaDevAttrHostRegisterSupported = 99,
1885    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
1886    cudaDevAttrDirectManagedMemAccessFromHost = 101,
1887    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
1888    cudaDevAttrMaxPersistingL2CacheSize = 108,
1889    cudaDevAttrMaxAccessPolicyWindowSize = 109,
1890    cudaDevAttrReservedSharedMemoryPerBlock = 111,
1891    cudaDevAttrSparseCudaArraySupported = 112,
1892    cudaDevAttrHostRegisterReadOnlySupported = 113,
1893    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
1894    cudaDevAttrMemoryPoolsSupported = 115,
1895    cudaDevAttrGPUDirectRDMASupported = 116,
1896    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
1897    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
1898    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
1899    cudaDevAttrClusterLaunch = 120,
1900    cudaDevAttrDeferredMappingCudaArraySupported = 121,
1901    cudaDevAttrReserved122 = 122,
1902    cudaDevAttrReserved123 = 123,
1903    cudaDevAttrReserved124 = 124,
1904    cudaDevAttrIpcEventSupport = 125,
1905    cudaDevAttrMemSyncDomainCount = 126,
1906    cudaDevAttrReserved127 = 127,
1907    cudaDevAttrReserved128 = 128,
1908    cudaDevAttrReserved129 = 129,
1909    cudaDevAttrNumaConfig = 130,
1910    cudaDevAttrNumaId = 131,
1911    cudaDevAttrReserved132 = 132,
1912    cudaDevAttrMpsEnabled = 133,
1913    cudaDevAttrHostNumaId = 134,
1914    cudaDevAttrD3D12CigSupported = 135,
1915    cudaDevAttrMax = 136,
1916}
1917#[cfg(any(feature = "cuda-12080"))]
1918#[repr(u32)]
1919#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1920pub enum cudaDeviceAttr {
1921    cudaDevAttrMaxThreadsPerBlock = 1,
1922    cudaDevAttrMaxBlockDimX = 2,
1923    cudaDevAttrMaxBlockDimY = 3,
1924    cudaDevAttrMaxBlockDimZ = 4,
1925    cudaDevAttrMaxGridDimX = 5,
1926    cudaDevAttrMaxGridDimY = 6,
1927    cudaDevAttrMaxGridDimZ = 7,
1928    cudaDevAttrMaxSharedMemoryPerBlock = 8,
1929    cudaDevAttrTotalConstantMemory = 9,
1930    cudaDevAttrWarpSize = 10,
1931    cudaDevAttrMaxPitch = 11,
1932    cudaDevAttrMaxRegistersPerBlock = 12,
1933    cudaDevAttrClockRate = 13,
1934    cudaDevAttrTextureAlignment = 14,
1935    cudaDevAttrGpuOverlap = 15,
1936    cudaDevAttrMultiProcessorCount = 16,
1937    cudaDevAttrKernelExecTimeout = 17,
1938    cudaDevAttrIntegrated = 18,
1939    cudaDevAttrCanMapHostMemory = 19,
1940    cudaDevAttrComputeMode = 20,
1941    cudaDevAttrMaxTexture1DWidth = 21,
1942    cudaDevAttrMaxTexture2DWidth = 22,
1943    cudaDevAttrMaxTexture2DHeight = 23,
1944    cudaDevAttrMaxTexture3DWidth = 24,
1945    cudaDevAttrMaxTexture3DHeight = 25,
1946    cudaDevAttrMaxTexture3DDepth = 26,
1947    cudaDevAttrMaxTexture2DLayeredWidth = 27,
1948    cudaDevAttrMaxTexture2DLayeredHeight = 28,
1949    cudaDevAttrMaxTexture2DLayeredLayers = 29,
1950    cudaDevAttrSurfaceAlignment = 30,
1951    cudaDevAttrConcurrentKernels = 31,
1952    cudaDevAttrEccEnabled = 32,
1953    cudaDevAttrPciBusId = 33,
1954    cudaDevAttrPciDeviceId = 34,
1955    cudaDevAttrTccDriver = 35,
1956    cudaDevAttrMemoryClockRate = 36,
1957    cudaDevAttrGlobalMemoryBusWidth = 37,
1958    cudaDevAttrL2CacheSize = 38,
1959    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
1960    cudaDevAttrAsyncEngineCount = 40,
1961    cudaDevAttrUnifiedAddressing = 41,
1962    cudaDevAttrMaxTexture1DLayeredWidth = 42,
1963    cudaDevAttrMaxTexture1DLayeredLayers = 43,
1964    cudaDevAttrMaxTexture2DGatherWidth = 45,
1965    cudaDevAttrMaxTexture2DGatherHeight = 46,
1966    cudaDevAttrMaxTexture3DWidthAlt = 47,
1967    cudaDevAttrMaxTexture3DHeightAlt = 48,
1968    cudaDevAttrMaxTexture3DDepthAlt = 49,
1969    cudaDevAttrPciDomainId = 50,
1970    cudaDevAttrTexturePitchAlignment = 51,
1971    cudaDevAttrMaxTextureCubemapWidth = 52,
1972    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
1973    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
1974    cudaDevAttrMaxSurface1DWidth = 55,
1975    cudaDevAttrMaxSurface2DWidth = 56,
1976    cudaDevAttrMaxSurface2DHeight = 57,
1977    cudaDevAttrMaxSurface3DWidth = 58,
1978    cudaDevAttrMaxSurface3DHeight = 59,
1979    cudaDevAttrMaxSurface3DDepth = 60,
1980    cudaDevAttrMaxSurface1DLayeredWidth = 61,
1981    cudaDevAttrMaxSurface1DLayeredLayers = 62,
1982    cudaDevAttrMaxSurface2DLayeredWidth = 63,
1983    cudaDevAttrMaxSurface2DLayeredHeight = 64,
1984    cudaDevAttrMaxSurface2DLayeredLayers = 65,
1985    cudaDevAttrMaxSurfaceCubemapWidth = 66,
1986    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
1987    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
1988    cudaDevAttrMaxTexture1DLinearWidth = 69,
1989    cudaDevAttrMaxTexture2DLinearWidth = 70,
1990    cudaDevAttrMaxTexture2DLinearHeight = 71,
1991    cudaDevAttrMaxTexture2DLinearPitch = 72,
1992    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
1993    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
1994    cudaDevAttrComputeCapabilityMajor = 75,
1995    cudaDevAttrComputeCapabilityMinor = 76,
1996    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
1997    cudaDevAttrStreamPrioritiesSupported = 78,
1998    cudaDevAttrGlobalL1CacheSupported = 79,
1999    cudaDevAttrLocalL1CacheSupported = 80,
2000    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
2001    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
2002    cudaDevAttrManagedMemory = 83,
2003    cudaDevAttrIsMultiGpuBoard = 84,
2004    cudaDevAttrMultiGpuBoardGroupID = 85,
2005    cudaDevAttrHostNativeAtomicSupported = 86,
2006    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
2007    cudaDevAttrPageableMemoryAccess = 88,
2008    cudaDevAttrConcurrentManagedAccess = 89,
2009    cudaDevAttrComputePreemptionSupported = 90,
2010    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
2011    cudaDevAttrReserved92 = 92,
2012    cudaDevAttrReserved93 = 93,
2013    cudaDevAttrReserved94 = 94,
2014    cudaDevAttrCooperativeLaunch = 95,
2015    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
2016    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
2017    cudaDevAttrCanFlushRemoteWrites = 98,
2018    cudaDevAttrHostRegisterSupported = 99,
2019    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
2020    cudaDevAttrDirectManagedMemAccessFromHost = 101,
2021    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
2022    cudaDevAttrMaxPersistingL2CacheSize = 108,
2023    cudaDevAttrMaxAccessPolicyWindowSize = 109,
2024    cudaDevAttrReservedSharedMemoryPerBlock = 111,
2025    cudaDevAttrSparseCudaArraySupported = 112,
2026    cudaDevAttrHostRegisterReadOnlySupported = 113,
2027    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
2028    cudaDevAttrMemoryPoolsSupported = 115,
2029    cudaDevAttrGPUDirectRDMASupported = 116,
2030    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
2031    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
2032    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
2033    cudaDevAttrClusterLaunch = 120,
2034    cudaDevAttrDeferredMappingCudaArraySupported = 121,
2035    cudaDevAttrReserved122 = 122,
2036    cudaDevAttrReserved123 = 123,
2037    cudaDevAttrReserved124 = 124,
2038    cudaDevAttrIpcEventSupport = 125,
2039    cudaDevAttrMemSyncDomainCount = 126,
2040    cudaDevAttrReserved127 = 127,
2041    cudaDevAttrReserved128 = 128,
2042    cudaDevAttrReserved129 = 129,
2043    cudaDevAttrNumaConfig = 130,
2044    cudaDevAttrNumaId = 131,
2045    cudaDevAttrReserved132 = 132,
2046    cudaDevAttrMpsEnabled = 133,
2047    cudaDevAttrHostNumaId = 134,
2048    cudaDevAttrD3D12CigSupported = 135,
2049    cudaDevAttrGpuPciDeviceId = 139,
2050    cudaDevAttrGpuPciSubsystemId = 140,
2051    cudaDevAttrHostNumaMultinodeIpcSupported = 143,
2052    cudaDevAttrMax = 144,
2053}
2054#[cfg(any(feature = "cuda-12090"))]
2055#[repr(u32)]
2056#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2057pub enum cudaDeviceAttr {
2058    cudaDevAttrMaxThreadsPerBlock = 1,
2059    cudaDevAttrMaxBlockDimX = 2,
2060    cudaDevAttrMaxBlockDimY = 3,
2061    cudaDevAttrMaxBlockDimZ = 4,
2062    cudaDevAttrMaxGridDimX = 5,
2063    cudaDevAttrMaxGridDimY = 6,
2064    cudaDevAttrMaxGridDimZ = 7,
2065    cudaDevAttrMaxSharedMemoryPerBlock = 8,
2066    cudaDevAttrTotalConstantMemory = 9,
2067    cudaDevAttrWarpSize = 10,
2068    cudaDevAttrMaxPitch = 11,
2069    cudaDevAttrMaxRegistersPerBlock = 12,
2070    cudaDevAttrClockRate = 13,
2071    cudaDevAttrTextureAlignment = 14,
2072    cudaDevAttrGpuOverlap = 15,
2073    cudaDevAttrMultiProcessorCount = 16,
2074    cudaDevAttrKernelExecTimeout = 17,
2075    cudaDevAttrIntegrated = 18,
2076    cudaDevAttrCanMapHostMemory = 19,
2077    cudaDevAttrComputeMode = 20,
2078    cudaDevAttrMaxTexture1DWidth = 21,
2079    cudaDevAttrMaxTexture2DWidth = 22,
2080    cudaDevAttrMaxTexture2DHeight = 23,
2081    cudaDevAttrMaxTexture3DWidth = 24,
2082    cudaDevAttrMaxTexture3DHeight = 25,
2083    cudaDevAttrMaxTexture3DDepth = 26,
2084    cudaDevAttrMaxTexture2DLayeredWidth = 27,
2085    cudaDevAttrMaxTexture2DLayeredHeight = 28,
2086    cudaDevAttrMaxTexture2DLayeredLayers = 29,
2087    cudaDevAttrSurfaceAlignment = 30,
2088    cudaDevAttrConcurrentKernels = 31,
2089    cudaDevAttrEccEnabled = 32,
2090    cudaDevAttrPciBusId = 33,
2091    cudaDevAttrPciDeviceId = 34,
2092    cudaDevAttrTccDriver = 35,
2093    cudaDevAttrMemoryClockRate = 36,
2094    cudaDevAttrGlobalMemoryBusWidth = 37,
2095    cudaDevAttrL2CacheSize = 38,
2096    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
2097    cudaDevAttrAsyncEngineCount = 40,
2098    cudaDevAttrUnifiedAddressing = 41,
2099    cudaDevAttrMaxTexture1DLayeredWidth = 42,
2100    cudaDevAttrMaxTexture1DLayeredLayers = 43,
2101    cudaDevAttrMaxTexture2DGatherWidth = 45,
2102    cudaDevAttrMaxTexture2DGatherHeight = 46,
2103    cudaDevAttrMaxTexture3DWidthAlt = 47,
2104    cudaDevAttrMaxTexture3DHeightAlt = 48,
2105    cudaDevAttrMaxTexture3DDepthAlt = 49,
2106    cudaDevAttrPciDomainId = 50,
2107    cudaDevAttrTexturePitchAlignment = 51,
2108    cudaDevAttrMaxTextureCubemapWidth = 52,
2109    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
2110    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
2111    cudaDevAttrMaxSurface1DWidth = 55,
2112    cudaDevAttrMaxSurface2DWidth = 56,
2113    cudaDevAttrMaxSurface2DHeight = 57,
2114    cudaDevAttrMaxSurface3DWidth = 58,
2115    cudaDevAttrMaxSurface3DHeight = 59,
2116    cudaDevAttrMaxSurface3DDepth = 60,
2117    cudaDevAttrMaxSurface1DLayeredWidth = 61,
2118    cudaDevAttrMaxSurface1DLayeredLayers = 62,
2119    cudaDevAttrMaxSurface2DLayeredWidth = 63,
2120    cudaDevAttrMaxSurface2DLayeredHeight = 64,
2121    cudaDevAttrMaxSurface2DLayeredLayers = 65,
2122    cudaDevAttrMaxSurfaceCubemapWidth = 66,
2123    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
2124    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
2125    cudaDevAttrMaxTexture1DLinearWidth = 69,
2126    cudaDevAttrMaxTexture2DLinearWidth = 70,
2127    cudaDevAttrMaxTexture2DLinearHeight = 71,
2128    cudaDevAttrMaxTexture2DLinearPitch = 72,
2129    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
2130    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
2131    cudaDevAttrComputeCapabilityMajor = 75,
2132    cudaDevAttrComputeCapabilityMinor = 76,
2133    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
2134    cudaDevAttrStreamPrioritiesSupported = 78,
2135    cudaDevAttrGlobalL1CacheSupported = 79,
2136    cudaDevAttrLocalL1CacheSupported = 80,
2137    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
2138    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
2139    cudaDevAttrManagedMemory = 83,
2140    cudaDevAttrIsMultiGpuBoard = 84,
2141    cudaDevAttrMultiGpuBoardGroupID = 85,
2142    cudaDevAttrHostNativeAtomicSupported = 86,
2143    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
2144    cudaDevAttrPageableMemoryAccess = 88,
2145    cudaDevAttrConcurrentManagedAccess = 89,
2146    cudaDevAttrComputePreemptionSupported = 90,
2147    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
2148    cudaDevAttrReserved92 = 92,
2149    cudaDevAttrReserved93 = 93,
2150    cudaDevAttrReserved94 = 94,
2151    cudaDevAttrCooperativeLaunch = 95,
2152    cudaDevAttrCooperativeMultiDeviceLaunch = 96,
2153    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
2154    cudaDevAttrCanFlushRemoteWrites = 98,
2155    cudaDevAttrHostRegisterSupported = 99,
2156    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
2157    cudaDevAttrDirectManagedMemAccessFromHost = 101,
2158    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
2159    cudaDevAttrMaxPersistingL2CacheSize = 108,
2160    cudaDevAttrMaxAccessPolicyWindowSize = 109,
2161    cudaDevAttrReservedSharedMemoryPerBlock = 111,
2162    cudaDevAttrSparseCudaArraySupported = 112,
2163    cudaDevAttrHostRegisterReadOnlySupported = 113,
2164    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
2165    cudaDevAttrMemoryPoolsSupported = 115,
2166    cudaDevAttrGPUDirectRDMASupported = 116,
2167    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
2168    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
2169    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
2170    cudaDevAttrClusterLaunch = 120,
2171    cudaDevAttrDeferredMappingCudaArraySupported = 121,
2172    cudaDevAttrReserved122 = 122,
2173    cudaDevAttrReserved123 = 123,
2174    cudaDevAttrReserved124 = 124,
2175    cudaDevAttrIpcEventSupport = 125,
2176    cudaDevAttrMemSyncDomainCount = 126,
2177    cudaDevAttrReserved127 = 127,
2178    cudaDevAttrReserved128 = 128,
2179    cudaDevAttrReserved129 = 129,
2180    cudaDevAttrNumaConfig = 130,
2181    cudaDevAttrNumaId = 131,
2182    cudaDevAttrReserved132 = 132,
2183    cudaDevAttrMpsEnabled = 133,
2184    cudaDevAttrHostNumaId = 134,
2185    cudaDevAttrD3D12CigSupported = 135,
2186    cudaDevAttrVulkanCigSupported = 138,
2187    cudaDevAttrGpuPciDeviceId = 139,
2188    cudaDevAttrGpuPciSubsystemId = 140,
2189    cudaDevAttrReserved141 = 141,
2190    cudaDevAttrHostNumaMemoryPoolsSupported = 142,
2191    cudaDevAttrHostNumaMultinodeIpcSupported = 143,
2192    cudaDevAttrMax = 144,
2193}
2194#[cfg(any(feature = "cuda-13000"))]
2195#[repr(u32)]
2196#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2197pub enum cudaDeviceAttr {
2198    cudaDevAttrMaxThreadsPerBlock = 1,
2199    cudaDevAttrMaxBlockDimX = 2,
2200    cudaDevAttrMaxBlockDimY = 3,
2201    cudaDevAttrMaxBlockDimZ = 4,
2202    cudaDevAttrMaxGridDimX = 5,
2203    cudaDevAttrMaxGridDimY = 6,
2204    cudaDevAttrMaxGridDimZ = 7,
2205    cudaDevAttrMaxSharedMemoryPerBlock = 8,
2206    cudaDevAttrTotalConstantMemory = 9,
2207    cudaDevAttrWarpSize = 10,
2208    cudaDevAttrMaxPitch = 11,
2209    cudaDevAttrMaxRegistersPerBlock = 12,
2210    cudaDevAttrClockRate = 13,
2211    cudaDevAttrTextureAlignment = 14,
2212    cudaDevAttrGpuOverlap = 15,
2213    cudaDevAttrMultiProcessorCount = 16,
2214    cudaDevAttrKernelExecTimeout = 17,
2215    cudaDevAttrIntegrated = 18,
2216    cudaDevAttrCanMapHostMemory = 19,
2217    cudaDevAttrComputeMode = 20,
2218    cudaDevAttrMaxTexture1DWidth = 21,
2219    cudaDevAttrMaxTexture2DWidth = 22,
2220    cudaDevAttrMaxTexture2DHeight = 23,
2221    cudaDevAttrMaxTexture3DWidth = 24,
2222    cudaDevAttrMaxTexture3DHeight = 25,
2223    cudaDevAttrMaxTexture3DDepth = 26,
2224    cudaDevAttrMaxTexture2DLayeredWidth = 27,
2225    cudaDevAttrMaxTexture2DLayeredHeight = 28,
2226    cudaDevAttrMaxTexture2DLayeredLayers = 29,
2227    cudaDevAttrSurfaceAlignment = 30,
2228    cudaDevAttrConcurrentKernels = 31,
2229    cudaDevAttrEccEnabled = 32,
2230    cudaDevAttrPciBusId = 33,
2231    cudaDevAttrPciDeviceId = 34,
2232    cudaDevAttrTccDriver = 35,
2233    cudaDevAttrMemoryClockRate = 36,
2234    cudaDevAttrGlobalMemoryBusWidth = 37,
2235    cudaDevAttrL2CacheSize = 38,
2236    cudaDevAttrMaxThreadsPerMultiProcessor = 39,
2237    cudaDevAttrAsyncEngineCount = 40,
2238    cudaDevAttrUnifiedAddressing = 41,
2239    cudaDevAttrMaxTexture1DLayeredWidth = 42,
2240    cudaDevAttrMaxTexture1DLayeredLayers = 43,
2241    cudaDevAttrMaxTexture2DGatherWidth = 45,
2242    cudaDevAttrMaxTexture2DGatherHeight = 46,
2243    cudaDevAttrMaxTexture3DWidthAlt = 47,
2244    cudaDevAttrMaxTexture3DHeightAlt = 48,
2245    cudaDevAttrMaxTexture3DDepthAlt = 49,
2246    cudaDevAttrPciDomainId = 50,
2247    cudaDevAttrTexturePitchAlignment = 51,
2248    cudaDevAttrMaxTextureCubemapWidth = 52,
2249    cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
2250    cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
2251    cudaDevAttrMaxSurface1DWidth = 55,
2252    cudaDevAttrMaxSurface2DWidth = 56,
2253    cudaDevAttrMaxSurface2DHeight = 57,
2254    cudaDevAttrMaxSurface3DWidth = 58,
2255    cudaDevAttrMaxSurface3DHeight = 59,
2256    cudaDevAttrMaxSurface3DDepth = 60,
2257    cudaDevAttrMaxSurface1DLayeredWidth = 61,
2258    cudaDevAttrMaxSurface1DLayeredLayers = 62,
2259    cudaDevAttrMaxSurface2DLayeredWidth = 63,
2260    cudaDevAttrMaxSurface2DLayeredHeight = 64,
2261    cudaDevAttrMaxSurface2DLayeredLayers = 65,
2262    cudaDevAttrMaxSurfaceCubemapWidth = 66,
2263    cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
2264    cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
2265    cudaDevAttrMaxTexture1DLinearWidth = 69,
2266    cudaDevAttrMaxTexture2DLinearWidth = 70,
2267    cudaDevAttrMaxTexture2DLinearHeight = 71,
2268    cudaDevAttrMaxTexture2DLinearPitch = 72,
2269    cudaDevAttrMaxTexture2DMipmappedWidth = 73,
2270    cudaDevAttrMaxTexture2DMipmappedHeight = 74,
2271    cudaDevAttrComputeCapabilityMajor = 75,
2272    cudaDevAttrComputeCapabilityMinor = 76,
2273    cudaDevAttrMaxTexture1DMipmappedWidth = 77,
2274    cudaDevAttrStreamPrioritiesSupported = 78,
2275    cudaDevAttrGlobalL1CacheSupported = 79,
2276    cudaDevAttrLocalL1CacheSupported = 80,
2277    cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
2278    cudaDevAttrMaxRegistersPerMultiprocessor = 82,
2279    cudaDevAttrManagedMemory = 83,
2280    cudaDevAttrIsMultiGpuBoard = 84,
2281    cudaDevAttrMultiGpuBoardGroupID = 85,
2282    cudaDevAttrHostNativeAtomicSupported = 86,
2283    cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
2284    cudaDevAttrPageableMemoryAccess = 88,
2285    cudaDevAttrConcurrentManagedAccess = 89,
2286    cudaDevAttrComputePreemptionSupported = 90,
2287    cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
2288    cudaDevAttrReserved92 = 92,
2289    cudaDevAttrReserved93 = 93,
2290    cudaDevAttrReserved94 = 94,
2291    cudaDevAttrCooperativeLaunch = 95,
2292    cudaDevAttrReserved96 = 96,
2293    cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
2294    cudaDevAttrCanFlushRemoteWrites = 98,
2295    cudaDevAttrHostRegisterSupported = 99,
2296    cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100,
2297    cudaDevAttrDirectManagedMemAccessFromHost = 101,
2298    cudaDevAttrMaxBlocksPerMultiprocessor = 106,
2299    cudaDevAttrMaxPersistingL2CacheSize = 108,
2300    cudaDevAttrMaxAccessPolicyWindowSize = 109,
2301    cudaDevAttrReservedSharedMemoryPerBlock = 111,
2302    cudaDevAttrSparseCudaArraySupported = 112,
2303    cudaDevAttrHostRegisterReadOnlySupported = 113,
2304    cudaDevAttrTimelineSemaphoreInteropSupported = 114,
2305    cudaDevAttrMemoryPoolsSupported = 115,
2306    cudaDevAttrGPUDirectRDMASupported = 116,
2307    cudaDevAttrGPUDirectRDMAFlushWritesOptions = 117,
2308    cudaDevAttrGPUDirectRDMAWritesOrdering = 118,
2309    cudaDevAttrMemoryPoolSupportedHandleTypes = 119,
2310    cudaDevAttrClusterLaunch = 120,
2311    cudaDevAttrDeferredMappingCudaArraySupported = 121,
2312    cudaDevAttrReserved122 = 122,
2313    cudaDevAttrReserved123 = 123,
2314    cudaDevAttrReserved124 = 124,
2315    cudaDevAttrIpcEventSupport = 125,
2316    cudaDevAttrMemSyncDomainCount = 126,
2317    cudaDevAttrReserved127 = 127,
2318    cudaDevAttrReserved128 = 128,
2319    cudaDevAttrReserved129 = 129,
2320    cudaDevAttrNumaConfig = 130,
2321    cudaDevAttrNumaId = 131,
2322    cudaDevAttrReserved132 = 132,
2323    cudaDevAttrMpsEnabled = 133,
2324    cudaDevAttrHostNumaId = 134,
2325    cudaDevAttrD3D12CigSupported = 135,
2326    cudaDevAttrVulkanCigSupported = 138,
2327    cudaDevAttrGpuPciDeviceId = 139,
2328    cudaDevAttrGpuPciSubsystemId = 140,
2329    cudaDevAttrReserved141 = 141,
2330    cudaDevAttrHostNumaMemoryPoolsSupported = 142,
2331    cudaDevAttrHostNumaMultinodeIpcSupported = 143,
2332    cudaDevAttrHostMemoryPoolsSupported = 144,
2333    cudaDevAttrReserved145 = 145,
2334    cudaDevAttrOnlyPartialHostNativeAtomicSupported = 147,
2335    cudaDevAttrMax = 148,
2336}
2337#[cfg(any(
2338    feature = "cuda-12020",
2339    feature = "cuda-12030",
2340    feature = "cuda-12040",
2341    feature = "cuda-12050",
2342    feature = "cuda-12060",
2343    feature = "cuda-12080",
2344    feature = "cuda-12090",
2345    feature = "cuda-13000"
2346))]
2347#[repr(u32)]
2348#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2349pub enum cudaDeviceNumaConfig {
2350    cudaDeviceNumaConfigNone = 0,
2351    cudaDeviceNumaConfigNumaNode = 1,
2352}
2353#[cfg(any(
2354    feature = "cuda-11040",
2355    feature = "cuda-11050",
2356    feature = "cuda-11060",
2357    feature = "cuda-11070",
2358    feature = "cuda-11080",
2359    feature = "cuda-12000",
2360    feature = "cuda-12010",
2361    feature = "cuda-12020",
2362    feature = "cuda-12030",
2363    feature = "cuda-12040",
2364    feature = "cuda-12050",
2365    feature = "cuda-12060",
2366    feature = "cuda-12080",
2367    feature = "cuda-12090"
2368))]
2369#[repr(u32)]
2370#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2371pub enum cudaDeviceP2PAttr {
2372    cudaDevP2PAttrPerformanceRank = 1,
2373    cudaDevP2PAttrAccessSupported = 2,
2374    cudaDevP2PAttrNativeAtomicSupported = 3,
2375    cudaDevP2PAttrCudaArrayAccessSupported = 4,
2376}
2377#[cfg(any(feature = "cuda-13000"))]
2378#[repr(u32)]
2379#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2380pub enum cudaDeviceP2PAttr {
2381    cudaDevP2PAttrPerformanceRank = 1,
2382    cudaDevP2PAttrAccessSupported = 2,
2383    cudaDevP2PAttrNativeAtomicSupported = 3,
2384    cudaDevP2PAttrCudaArrayAccessSupported = 4,
2385    cudaDevP2PAttrOnlyPartialNativeAtomicSupported = 5,
2386}
2387#[cfg(any(
2388    feature = "cuda-12000",
2389    feature = "cuda-12010",
2390    feature = "cuda-12020",
2391    feature = "cuda-12030",
2392    feature = "cuda-12040",
2393    feature = "cuda-12050",
2394    feature = "cuda-12060",
2395    feature = "cuda-12080",
2396    feature = "cuda-12090",
2397    feature = "cuda-13000"
2398))]
2399#[repr(u32)]
2400#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2401pub enum cudaDriverEntryPointQueryResult {
2402    cudaDriverEntryPointSuccess = 0,
2403    cudaDriverEntryPointSymbolNotFound = 1,
2404    cudaDriverEntryPointVersionNotSufficent = 2,
2405}
2406#[cfg(any(feature = "cuda-13000"))]
2407#[repr(u32)]
2408#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2409pub enum cudaEmulationStrategy_t {
2410    CUDA_EMULATION_STRATEGY_DEFAULT = 0,
2411    CUDA_EMULATION_STRATEGY_PERFORMANT = 1,
2412    CUDA_EMULATION_STRATEGY_EAGER = 2,
2413}
2414#[cfg(any(
2415    feature = "cuda-11040",
2416    feature = "cuda-11050",
2417    feature = "cuda-11060",
2418    feature = "cuda-11070"
2419))]
2420#[repr(u32)]
2421#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2422pub enum cudaError {
2423    cudaSuccess = 0,
2424    cudaErrorInvalidValue = 1,
2425    cudaErrorMemoryAllocation = 2,
2426    cudaErrorInitializationError = 3,
2427    cudaErrorCudartUnloading = 4,
2428    cudaErrorProfilerDisabled = 5,
2429    cudaErrorProfilerNotInitialized = 6,
2430    cudaErrorProfilerAlreadyStarted = 7,
2431    cudaErrorProfilerAlreadyStopped = 8,
2432    cudaErrorInvalidConfiguration = 9,
2433    cudaErrorInvalidPitchValue = 12,
2434    cudaErrorInvalidSymbol = 13,
2435    cudaErrorInvalidHostPointer = 16,
2436    cudaErrorInvalidDevicePointer = 17,
2437    cudaErrorInvalidTexture = 18,
2438    cudaErrorInvalidTextureBinding = 19,
2439    cudaErrorInvalidChannelDescriptor = 20,
2440    cudaErrorInvalidMemcpyDirection = 21,
2441    cudaErrorAddressOfConstant = 22,
2442    cudaErrorTextureFetchFailed = 23,
2443    cudaErrorTextureNotBound = 24,
2444    cudaErrorSynchronizationError = 25,
2445    cudaErrorInvalidFilterSetting = 26,
2446    cudaErrorInvalidNormSetting = 27,
2447    cudaErrorMixedDeviceExecution = 28,
2448    cudaErrorNotYetImplemented = 31,
2449    cudaErrorMemoryValueTooLarge = 32,
2450    cudaErrorStubLibrary = 34,
2451    cudaErrorInsufficientDriver = 35,
2452    cudaErrorCallRequiresNewerDriver = 36,
2453    cudaErrorInvalidSurface = 37,
2454    cudaErrorDuplicateVariableName = 43,
2455    cudaErrorDuplicateTextureName = 44,
2456    cudaErrorDuplicateSurfaceName = 45,
2457    cudaErrorDevicesUnavailable = 46,
2458    cudaErrorIncompatibleDriverContext = 49,
2459    cudaErrorMissingConfiguration = 52,
2460    cudaErrorPriorLaunchFailure = 53,
2461    cudaErrorLaunchMaxDepthExceeded = 65,
2462    cudaErrorLaunchFileScopedTex = 66,
2463    cudaErrorLaunchFileScopedSurf = 67,
2464    cudaErrorSyncDepthExceeded = 68,
2465    cudaErrorLaunchPendingCountExceeded = 69,
2466    cudaErrorInvalidDeviceFunction = 98,
2467    cudaErrorNoDevice = 100,
2468    cudaErrorInvalidDevice = 101,
2469    cudaErrorDeviceNotLicensed = 102,
2470    cudaErrorSoftwareValidityNotEstablished = 103,
2471    cudaErrorStartupFailure = 127,
2472    cudaErrorInvalidKernelImage = 200,
2473    cudaErrorDeviceUninitialized = 201,
2474    cudaErrorMapBufferObjectFailed = 205,
2475    cudaErrorUnmapBufferObjectFailed = 206,
2476    cudaErrorArrayIsMapped = 207,
2477    cudaErrorAlreadyMapped = 208,
2478    cudaErrorNoKernelImageForDevice = 209,
2479    cudaErrorAlreadyAcquired = 210,
2480    cudaErrorNotMapped = 211,
2481    cudaErrorNotMappedAsArray = 212,
2482    cudaErrorNotMappedAsPointer = 213,
2483    cudaErrorECCUncorrectable = 214,
2484    cudaErrorUnsupportedLimit = 215,
2485    cudaErrorDeviceAlreadyInUse = 216,
2486    cudaErrorPeerAccessUnsupported = 217,
2487    cudaErrorInvalidPtx = 218,
2488    cudaErrorInvalidGraphicsContext = 219,
2489    cudaErrorNvlinkUncorrectable = 220,
2490    cudaErrorJitCompilerNotFound = 221,
2491    cudaErrorUnsupportedPtxVersion = 222,
2492    cudaErrorJitCompilationDisabled = 223,
2493    cudaErrorUnsupportedExecAffinity = 224,
2494    cudaErrorInvalidSource = 300,
2495    cudaErrorFileNotFound = 301,
2496    cudaErrorSharedObjectSymbolNotFound = 302,
2497    cudaErrorSharedObjectInitFailed = 303,
2498    cudaErrorOperatingSystem = 304,
2499    cudaErrorInvalidResourceHandle = 400,
2500    cudaErrorIllegalState = 401,
2501    cudaErrorSymbolNotFound = 500,
2502    cudaErrorNotReady = 600,
2503    cudaErrorIllegalAddress = 700,
2504    cudaErrorLaunchOutOfResources = 701,
2505    cudaErrorLaunchTimeout = 702,
2506    cudaErrorLaunchIncompatibleTexturing = 703,
2507    cudaErrorPeerAccessAlreadyEnabled = 704,
2508    cudaErrorPeerAccessNotEnabled = 705,
2509    cudaErrorSetOnActiveProcess = 708,
2510    cudaErrorContextIsDestroyed = 709,
2511    cudaErrorAssert = 710,
2512    cudaErrorTooManyPeers = 711,
2513    cudaErrorHostMemoryAlreadyRegistered = 712,
2514    cudaErrorHostMemoryNotRegistered = 713,
2515    cudaErrorHardwareStackError = 714,
2516    cudaErrorIllegalInstruction = 715,
2517    cudaErrorMisalignedAddress = 716,
2518    cudaErrorInvalidAddressSpace = 717,
2519    cudaErrorInvalidPc = 718,
2520    cudaErrorLaunchFailure = 719,
2521    cudaErrorCooperativeLaunchTooLarge = 720,
2522    cudaErrorNotPermitted = 800,
2523    cudaErrorNotSupported = 801,
2524    cudaErrorSystemNotReady = 802,
2525    cudaErrorSystemDriverMismatch = 803,
2526    cudaErrorCompatNotSupportedOnDevice = 804,
2527    cudaErrorMpsConnectionFailed = 805,
2528    cudaErrorMpsRpcFailure = 806,
2529    cudaErrorMpsServerNotReady = 807,
2530    cudaErrorMpsMaxClientsReached = 808,
2531    cudaErrorMpsMaxConnectionsReached = 809,
2532    cudaErrorStreamCaptureUnsupported = 900,
2533    cudaErrorStreamCaptureInvalidated = 901,
2534    cudaErrorStreamCaptureMerge = 902,
2535    cudaErrorStreamCaptureUnmatched = 903,
2536    cudaErrorStreamCaptureUnjoined = 904,
2537    cudaErrorStreamCaptureIsolation = 905,
2538    cudaErrorStreamCaptureImplicit = 906,
2539    cudaErrorCapturedEvent = 907,
2540    cudaErrorStreamCaptureWrongThread = 908,
2541    cudaErrorTimeout = 909,
2542    cudaErrorGraphExecUpdateFailure = 910,
2543    cudaErrorExternalDevice = 911,
2544    cudaErrorUnknown = 999,
2545    cudaErrorApiFailureBase = 10000,
2546}
2547#[cfg(any(feature = "cuda-11080"))]
2548#[repr(u32)]
2549#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2550pub enum cudaError {
2551    cudaSuccess = 0,
2552    cudaErrorInvalidValue = 1,
2553    cudaErrorMemoryAllocation = 2,
2554    cudaErrorInitializationError = 3,
2555    cudaErrorCudartUnloading = 4,
2556    cudaErrorProfilerDisabled = 5,
2557    cudaErrorProfilerNotInitialized = 6,
2558    cudaErrorProfilerAlreadyStarted = 7,
2559    cudaErrorProfilerAlreadyStopped = 8,
2560    cudaErrorInvalidConfiguration = 9,
2561    cudaErrorInvalidPitchValue = 12,
2562    cudaErrorInvalidSymbol = 13,
2563    cudaErrorInvalidHostPointer = 16,
2564    cudaErrorInvalidDevicePointer = 17,
2565    cudaErrorInvalidTexture = 18,
2566    cudaErrorInvalidTextureBinding = 19,
2567    cudaErrorInvalidChannelDescriptor = 20,
2568    cudaErrorInvalidMemcpyDirection = 21,
2569    cudaErrorAddressOfConstant = 22,
2570    cudaErrorTextureFetchFailed = 23,
2571    cudaErrorTextureNotBound = 24,
2572    cudaErrorSynchronizationError = 25,
2573    cudaErrorInvalidFilterSetting = 26,
2574    cudaErrorInvalidNormSetting = 27,
2575    cudaErrorMixedDeviceExecution = 28,
2576    cudaErrorNotYetImplemented = 31,
2577    cudaErrorMemoryValueTooLarge = 32,
2578    cudaErrorStubLibrary = 34,
2579    cudaErrorInsufficientDriver = 35,
2580    cudaErrorCallRequiresNewerDriver = 36,
2581    cudaErrorInvalidSurface = 37,
2582    cudaErrorDuplicateVariableName = 43,
2583    cudaErrorDuplicateTextureName = 44,
2584    cudaErrorDuplicateSurfaceName = 45,
2585    cudaErrorDevicesUnavailable = 46,
2586    cudaErrorIncompatibleDriverContext = 49,
2587    cudaErrorMissingConfiguration = 52,
2588    cudaErrorPriorLaunchFailure = 53,
2589    cudaErrorLaunchMaxDepthExceeded = 65,
2590    cudaErrorLaunchFileScopedTex = 66,
2591    cudaErrorLaunchFileScopedSurf = 67,
2592    cudaErrorSyncDepthExceeded = 68,
2593    cudaErrorLaunchPendingCountExceeded = 69,
2594    cudaErrorInvalidDeviceFunction = 98,
2595    cudaErrorNoDevice = 100,
2596    cudaErrorInvalidDevice = 101,
2597    cudaErrorDeviceNotLicensed = 102,
2598    cudaErrorSoftwareValidityNotEstablished = 103,
2599    cudaErrorStartupFailure = 127,
2600    cudaErrorInvalidKernelImage = 200,
2601    cudaErrorDeviceUninitialized = 201,
2602    cudaErrorMapBufferObjectFailed = 205,
2603    cudaErrorUnmapBufferObjectFailed = 206,
2604    cudaErrorArrayIsMapped = 207,
2605    cudaErrorAlreadyMapped = 208,
2606    cudaErrorNoKernelImageForDevice = 209,
2607    cudaErrorAlreadyAcquired = 210,
2608    cudaErrorNotMapped = 211,
2609    cudaErrorNotMappedAsArray = 212,
2610    cudaErrorNotMappedAsPointer = 213,
2611    cudaErrorECCUncorrectable = 214,
2612    cudaErrorUnsupportedLimit = 215,
2613    cudaErrorDeviceAlreadyInUse = 216,
2614    cudaErrorPeerAccessUnsupported = 217,
2615    cudaErrorInvalidPtx = 218,
2616    cudaErrorInvalidGraphicsContext = 219,
2617    cudaErrorNvlinkUncorrectable = 220,
2618    cudaErrorJitCompilerNotFound = 221,
2619    cudaErrorUnsupportedPtxVersion = 222,
2620    cudaErrorJitCompilationDisabled = 223,
2621    cudaErrorUnsupportedExecAffinity = 224,
2622    cudaErrorInvalidSource = 300,
2623    cudaErrorFileNotFound = 301,
2624    cudaErrorSharedObjectSymbolNotFound = 302,
2625    cudaErrorSharedObjectInitFailed = 303,
2626    cudaErrorOperatingSystem = 304,
2627    cudaErrorInvalidResourceHandle = 400,
2628    cudaErrorIllegalState = 401,
2629    cudaErrorSymbolNotFound = 500,
2630    cudaErrorNotReady = 600,
2631    cudaErrorIllegalAddress = 700,
2632    cudaErrorLaunchOutOfResources = 701,
2633    cudaErrorLaunchTimeout = 702,
2634    cudaErrorLaunchIncompatibleTexturing = 703,
2635    cudaErrorPeerAccessAlreadyEnabled = 704,
2636    cudaErrorPeerAccessNotEnabled = 705,
2637    cudaErrorSetOnActiveProcess = 708,
2638    cudaErrorContextIsDestroyed = 709,
2639    cudaErrorAssert = 710,
2640    cudaErrorTooManyPeers = 711,
2641    cudaErrorHostMemoryAlreadyRegistered = 712,
2642    cudaErrorHostMemoryNotRegistered = 713,
2643    cudaErrorHardwareStackError = 714,
2644    cudaErrorIllegalInstruction = 715,
2645    cudaErrorMisalignedAddress = 716,
2646    cudaErrorInvalidAddressSpace = 717,
2647    cudaErrorInvalidPc = 718,
2648    cudaErrorLaunchFailure = 719,
2649    cudaErrorCooperativeLaunchTooLarge = 720,
2650    cudaErrorNotPermitted = 800,
2651    cudaErrorNotSupported = 801,
2652    cudaErrorSystemNotReady = 802,
2653    cudaErrorSystemDriverMismatch = 803,
2654    cudaErrorCompatNotSupportedOnDevice = 804,
2655    cudaErrorMpsConnectionFailed = 805,
2656    cudaErrorMpsRpcFailure = 806,
2657    cudaErrorMpsServerNotReady = 807,
2658    cudaErrorMpsMaxClientsReached = 808,
2659    cudaErrorMpsMaxConnectionsReached = 809,
2660    cudaErrorMpsClientTerminated = 810,
2661    cudaErrorStreamCaptureUnsupported = 900,
2662    cudaErrorStreamCaptureInvalidated = 901,
2663    cudaErrorStreamCaptureMerge = 902,
2664    cudaErrorStreamCaptureUnmatched = 903,
2665    cudaErrorStreamCaptureUnjoined = 904,
2666    cudaErrorStreamCaptureIsolation = 905,
2667    cudaErrorStreamCaptureImplicit = 906,
2668    cudaErrorCapturedEvent = 907,
2669    cudaErrorStreamCaptureWrongThread = 908,
2670    cudaErrorTimeout = 909,
2671    cudaErrorGraphExecUpdateFailure = 910,
2672    cudaErrorExternalDevice = 911,
2673    cudaErrorInvalidClusterSize = 912,
2674    cudaErrorUnknown = 999,
2675    cudaErrorApiFailureBase = 10000,
2676}
2677#[cfg(any(feature = "cuda-12000"))]
2678#[repr(u32)]
2679#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2680pub enum cudaError {
2681    cudaSuccess = 0,
2682    cudaErrorInvalidValue = 1,
2683    cudaErrorMemoryAllocation = 2,
2684    cudaErrorInitializationError = 3,
2685    cudaErrorCudartUnloading = 4,
2686    cudaErrorProfilerDisabled = 5,
2687    cudaErrorProfilerNotInitialized = 6,
2688    cudaErrorProfilerAlreadyStarted = 7,
2689    cudaErrorProfilerAlreadyStopped = 8,
2690    cudaErrorInvalidConfiguration = 9,
2691    cudaErrorInvalidPitchValue = 12,
2692    cudaErrorInvalidSymbol = 13,
2693    cudaErrorInvalidHostPointer = 16,
2694    cudaErrorInvalidDevicePointer = 17,
2695    cudaErrorInvalidTexture = 18,
2696    cudaErrorInvalidTextureBinding = 19,
2697    cudaErrorInvalidChannelDescriptor = 20,
2698    cudaErrorInvalidMemcpyDirection = 21,
2699    cudaErrorAddressOfConstant = 22,
2700    cudaErrorTextureFetchFailed = 23,
2701    cudaErrorTextureNotBound = 24,
2702    cudaErrorSynchronizationError = 25,
2703    cudaErrorInvalidFilterSetting = 26,
2704    cudaErrorInvalidNormSetting = 27,
2705    cudaErrorMixedDeviceExecution = 28,
2706    cudaErrorNotYetImplemented = 31,
2707    cudaErrorMemoryValueTooLarge = 32,
2708    cudaErrorStubLibrary = 34,
2709    cudaErrorInsufficientDriver = 35,
2710    cudaErrorCallRequiresNewerDriver = 36,
2711    cudaErrorInvalidSurface = 37,
2712    cudaErrorDuplicateVariableName = 43,
2713    cudaErrorDuplicateTextureName = 44,
2714    cudaErrorDuplicateSurfaceName = 45,
2715    cudaErrorDevicesUnavailable = 46,
2716    cudaErrorIncompatibleDriverContext = 49,
2717    cudaErrorMissingConfiguration = 52,
2718    cudaErrorPriorLaunchFailure = 53,
2719    cudaErrorLaunchMaxDepthExceeded = 65,
2720    cudaErrorLaunchFileScopedTex = 66,
2721    cudaErrorLaunchFileScopedSurf = 67,
2722    cudaErrorSyncDepthExceeded = 68,
2723    cudaErrorLaunchPendingCountExceeded = 69,
2724    cudaErrorInvalidDeviceFunction = 98,
2725    cudaErrorNoDevice = 100,
2726    cudaErrorInvalidDevice = 101,
2727    cudaErrorDeviceNotLicensed = 102,
2728    cudaErrorSoftwareValidityNotEstablished = 103,
2729    cudaErrorStartupFailure = 127,
2730    cudaErrorInvalidKernelImage = 200,
2731    cudaErrorDeviceUninitialized = 201,
2732    cudaErrorMapBufferObjectFailed = 205,
2733    cudaErrorUnmapBufferObjectFailed = 206,
2734    cudaErrorArrayIsMapped = 207,
2735    cudaErrorAlreadyMapped = 208,
2736    cudaErrorNoKernelImageForDevice = 209,
2737    cudaErrorAlreadyAcquired = 210,
2738    cudaErrorNotMapped = 211,
2739    cudaErrorNotMappedAsArray = 212,
2740    cudaErrorNotMappedAsPointer = 213,
2741    cudaErrorECCUncorrectable = 214,
2742    cudaErrorUnsupportedLimit = 215,
2743    cudaErrorDeviceAlreadyInUse = 216,
2744    cudaErrorPeerAccessUnsupported = 217,
2745    cudaErrorInvalidPtx = 218,
2746    cudaErrorInvalidGraphicsContext = 219,
2747    cudaErrorNvlinkUncorrectable = 220,
2748    cudaErrorJitCompilerNotFound = 221,
2749    cudaErrorUnsupportedPtxVersion = 222,
2750    cudaErrorJitCompilationDisabled = 223,
2751    cudaErrorUnsupportedExecAffinity = 224,
2752    cudaErrorInvalidSource = 300,
2753    cudaErrorFileNotFound = 301,
2754    cudaErrorSharedObjectSymbolNotFound = 302,
2755    cudaErrorSharedObjectInitFailed = 303,
2756    cudaErrorOperatingSystem = 304,
2757    cudaErrorInvalidResourceHandle = 400,
2758    cudaErrorIllegalState = 401,
2759    cudaErrorSymbolNotFound = 500,
2760    cudaErrorNotReady = 600,
2761    cudaErrorIllegalAddress = 700,
2762    cudaErrorLaunchOutOfResources = 701,
2763    cudaErrorLaunchTimeout = 702,
2764    cudaErrorLaunchIncompatibleTexturing = 703,
2765    cudaErrorPeerAccessAlreadyEnabled = 704,
2766    cudaErrorPeerAccessNotEnabled = 705,
2767    cudaErrorSetOnActiveProcess = 708,
2768    cudaErrorContextIsDestroyed = 709,
2769    cudaErrorAssert = 710,
2770    cudaErrorTooManyPeers = 711,
2771    cudaErrorHostMemoryAlreadyRegistered = 712,
2772    cudaErrorHostMemoryNotRegistered = 713,
2773    cudaErrorHardwareStackError = 714,
2774    cudaErrorIllegalInstruction = 715,
2775    cudaErrorMisalignedAddress = 716,
2776    cudaErrorInvalidAddressSpace = 717,
2777    cudaErrorInvalidPc = 718,
2778    cudaErrorLaunchFailure = 719,
2779    cudaErrorCooperativeLaunchTooLarge = 720,
2780    cudaErrorNotPermitted = 800,
2781    cudaErrorNotSupported = 801,
2782    cudaErrorSystemNotReady = 802,
2783    cudaErrorSystemDriverMismatch = 803,
2784    cudaErrorCompatNotSupportedOnDevice = 804,
2785    cudaErrorMpsConnectionFailed = 805,
2786    cudaErrorMpsRpcFailure = 806,
2787    cudaErrorMpsServerNotReady = 807,
2788    cudaErrorMpsMaxClientsReached = 808,
2789    cudaErrorMpsMaxConnectionsReached = 809,
2790    cudaErrorMpsClientTerminated = 810,
2791    cudaErrorCdpNotSupported = 811,
2792    cudaErrorCdpVersionMismatch = 812,
2793    cudaErrorStreamCaptureUnsupported = 900,
2794    cudaErrorStreamCaptureInvalidated = 901,
2795    cudaErrorStreamCaptureMerge = 902,
2796    cudaErrorStreamCaptureUnmatched = 903,
2797    cudaErrorStreamCaptureUnjoined = 904,
2798    cudaErrorStreamCaptureIsolation = 905,
2799    cudaErrorStreamCaptureImplicit = 906,
2800    cudaErrorCapturedEvent = 907,
2801    cudaErrorStreamCaptureWrongThread = 908,
2802    cudaErrorTimeout = 909,
2803    cudaErrorGraphExecUpdateFailure = 910,
2804    cudaErrorExternalDevice = 911,
2805    cudaErrorInvalidClusterSize = 912,
2806    cudaErrorUnknown = 999,
2807    cudaErrorApiFailureBase = 10000,
2808}
2809#[cfg(any(feature = "cuda-12010", feature = "cuda-12020"))]
2810#[repr(u32)]
2811#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2812pub enum cudaError {
2813    cudaSuccess = 0,
2814    cudaErrorInvalidValue = 1,
2815    cudaErrorMemoryAllocation = 2,
2816    cudaErrorInitializationError = 3,
2817    cudaErrorCudartUnloading = 4,
2818    cudaErrorProfilerDisabled = 5,
2819    cudaErrorProfilerNotInitialized = 6,
2820    cudaErrorProfilerAlreadyStarted = 7,
2821    cudaErrorProfilerAlreadyStopped = 8,
2822    cudaErrorInvalidConfiguration = 9,
2823    cudaErrorInvalidPitchValue = 12,
2824    cudaErrorInvalidSymbol = 13,
2825    cudaErrorInvalidHostPointer = 16,
2826    cudaErrorInvalidDevicePointer = 17,
2827    cudaErrorInvalidTexture = 18,
2828    cudaErrorInvalidTextureBinding = 19,
2829    cudaErrorInvalidChannelDescriptor = 20,
2830    cudaErrorInvalidMemcpyDirection = 21,
2831    cudaErrorAddressOfConstant = 22,
2832    cudaErrorTextureFetchFailed = 23,
2833    cudaErrorTextureNotBound = 24,
2834    cudaErrorSynchronizationError = 25,
2835    cudaErrorInvalidFilterSetting = 26,
2836    cudaErrorInvalidNormSetting = 27,
2837    cudaErrorMixedDeviceExecution = 28,
2838    cudaErrorNotYetImplemented = 31,
2839    cudaErrorMemoryValueTooLarge = 32,
2840    cudaErrorStubLibrary = 34,
2841    cudaErrorInsufficientDriver = 35,
2842    cudaErrorCallRequiresNewerDriver = 36,
2843    cudaErrorInvalidSurface = 37,
2844    cudaErrorDuplicateVariableName = 43,
2845    cudaErrorDuplicateTextureName = 44,
2846    cudaErrorDuplicateSurfaceName = 45,
2847    cudaErrorDevicesUnavailable = 46,
2848    cudaErrorIncompatibleDriverContext = 49,
2849    cudaErrorMissingConfiguration = 52,
2850    cudaErrorPriorLaunchFailure = 53,
2851    cudaErrorLaunchMaxDepthExceeded = 65,
2852    cudaErrorLaunchFileScopedTex = 66,
2853    cudaErrorLaunchFileScopedSurf = 67,
2854    cudaErrorSyncDepthExceeded = 68,
2855    cudaErrorLaunchPendingCountExceeded = 69,
2856    cudaErrorInvalidDeviceFunction = 98,
2857    cudaErrorNoDevice = 100,
2858    cudaErrorInvalidDevice = 101,
2859    cudaErrorDeviceNotLicensed = 102,
2860    cudaErrorSoftwareValidityNotEstablished = 103,
2861    cudaErrorStartupFailure = 127,
2862    cudaErrorInvalidKernelImage = 200,
2863    cudaErrorDeviceUninitialized = 201,
2864    cudaErrorMapBufferObjectFailed = 205,
2865    cudaErrorUnmapBufferObjectFailed = 206,
2866    cudaErrorArrayIsMapped = 207,
2867    cudaErrorAlreadyMapped = 208,
2868    cudaErrorNoKernelImageForDevice = 209,
2869    cudaErrorAlreadyAcquired = 210,
2870    cudaErrorNotMapped = 211,
2871    cudaErrorNotMappedAsArray = 212,
2872    cudaErrorNotMappedAsPointer = 213,
2873    cudaErrorECCUncorrectable = 214,
2874    cudaErrorUnsupportedLimit = 215,
2875    cudaErrorDeviceAlreadyInUse = 216,
2876    cudaErrorPeerAccessUnsupported = 217,
2877    cudaErrorInvalidPtx = 218,
2878    cudaErrorInvalidGraphicsContext = 219,
2879    cudaErrorNvlinkUncorrectable = 220,
2880    cudaErrorJitCompilerNotFound = 221,
2881    cudaErrorUnsupportedPtxVersion = 222,
2882    cudaErrorJitCompilationDisabled = 223,
2883    cudaErrorUnsupportedExecAffinity = 224,
2884    cudaErrorUnsupportedDevSideSync = 225,
2885    cudaErrorInvalidSource = 300,
2886    cudaErrorFileNotFound = 301,
2887    cudaErrorSharedObjectSymbolNotFound = 302,
2888    cudaErrorSharedObjectInitFailed = 303,
2889    cudaErrorOperatingSystem = 304,
2890    cudaErrorInvalidResourceHandle = 400,
2891    cudaErrorIllegalState = 401,
2892    cudaErrorSymbolNotFound = 500,
2893    cudaErrorNotReady = 600,
2894    cudaErrorIllegalAddress = 700,
2895    cudaErrorLaunchOutOfResources = 701,
2896    cudaErrorLaunchTimeout = 702,
2897    cudaErrorLaunchIncompatibleTexturing = 703,
2898    cudaErrorPeerAccessAlreadyEnabled = 704,
2899    cudaErrorPeerAccessNotEnabled = 705,
2900    cudaErrorSetOnActiveProcess = 708,
2901    cudaErrorContextIsDestroyed = 709,
2902    cudaErrorAssert = 710,
2903    cudaErrorTooManyPeers = 711,
2904    cudaErrorHostMemoryAlreadyRegistered = 712,
2905    cudaErrorHostMemoryNotRegistered = 713,
2906    cudaErrorHardwareStackError = 714,
2907    cudaErrorIllegalInstruction = 715,
2908    cudaErrorMisalignedAddress = 716,
2909    cudaErrorInvalidAddressSpace = 717,
2910    cudaErrorInvalidPc = 718,
2911    cudaErrorLaunchFailure = 719,
2912    cudaErrorCooperativeLaunchTooLarge = 720,
2913    cudaErrorNotPermitted = 800,
2914    cudaErrorNotSupported = 801,
2915    cudaErrorSystemNotReady = 802,
2916    cudaErrorSystemDriverMismatch = 803,
2917    cudaErrorCompatNotSupportedOnDevice = 804,
2918    cudaErrorMpsConnectionFailed = 805,
2919    cudaErrorMpsRpcFailure = 806,
2920    cudaErrorMpsServerNotReady = 807,
2921    cudaErrorMpsMaxClientsReached = 808,
2922    cudaErrorMpsMaxConnectionsReached = 809,
2923    cudaErrorMpsClientTerminated = 810,
2924    cudaErrorCdpNotSupported = 811,
2925    cudaErrorCdpVersionMismatch = 812,
2926    cudaErrorStreamCaptureUnsupported = 900,
2927    cudaErrorStreamCaptureInvalidated = 901,
2928    cudaErrorStreamCaptureMerge = 902,
2929    cudaErrorStreamCaptureUnmatched = 903,
2930    cudaErrorStreamCaptureUnjoined = 904,
2931    cudaErrorStreamCaptureIsolation = 905,
2932    cudaErrorStreamCaptureImplicit = 906,
2933    cudaErrorCapturedEvent = 907,
2934    cudaErrorStreamCaptureWrongThread = 908,
2935    cudaErrorTimeout = 909,
2936    cudaErrorGraphExecUpdateFailure = 910,
2937    cudaErrorExternalDevice = 911,
2938    cudaErrorInvalidClusterSize = 912,
2939    cudaErrorUnknown = 999,
2940    cudaErrorApiFailureBase = 10000,
2941}
2942#[cfg(any(feature = "cuda-12030", feature = "cuda-12040", feature = "cuda-12050"))]
2943#[repr(u32)]
2944#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2945pub enum cudaError {
2946    cudaSuccess = 0,
2947    cudaErrorInvalidValue = 1,
2948    cudaErrorMemoryAllocation = 2,
2949    cudaErrorInitializationError = 3,
2950    cudaErrorCudartUnloading = 4,
2951    cudaErrorProfilerDisabled = 5,
2952    cudaErrorProfilerNotInitialized = 6,
2953    cudaErrorProfilerAlreadyStarted = 7,
2954    cudaErrorProfilerAlreadyStopped = 8,
2955    cudaErrorInvalidConfiguration = 9,
2956    cudaErrorInvalidPitchValue = 12,
2957    cudaErrorInvalidSymbol = 13,
2958    cudaErrorInvalidHostPointer = 16,
2959    cudaErrorInvalidDevicePointer = 17,
2960    cudaErrorInvalidTexture = 18,
2961    cudaErrorInvalidTextureBinding = 19,
2962    cudaErrorInvalidChannelDescriptor = 20,
2963    cudaErrorInvalidMemcpyDirection = 21,
2964    cudaErrorAddressOfConstant = 22,
2965    cudaErrorTextureFetchFailed = 23,
2966    cudaErrorTextureNotBound = 24,
2967    cudaErrorSynchronizationError = 25,
2968    cudaErrorInvalidFilterSetting = 26,
2969    cudaErrorInvalidNormSetting = 27,
2970    cudaErrorMixedDeviceExecution = 28,
2971    cudaErrorNotYetImplemented = 31,
2972    cudaErrorMemoryValueTooLarge = 32,
2973    cudaErrorStubLibrary = 34,
2974    cudaErrorInsufficientDriver = 35,
2975    cudaErrorCallRequiresNewerDriver = 36,
2976    cudaErrorInvalidSurface = 37,
2977    cudaErrorDuplicateVariableName = 43,
2978    cudaErrorDuplicateTextureName = 44,
2979    cudaErrorDuplicateSurfaceName = 45,
2980    cudaErrorDevicesUnavailable = 46,
2981    cudaErrorIncompatibleDriverContext = 49,
2982    cudaErrorMissingConfiguration = 52,
2983    cudaErrorPriorLaunchFailure = 53,
2984    cudaErrorLaunchMaxDepthExceeded = 65,
2985    cudaErrorLaunchFileScopedTex = 66,
2986    cudaErrorLaunchFileScopedSurf = 67,
2987    cudaErrorSyncDepthExceeded = 68,
2988    cudaErrorLaunchPendingCountExceeded = 69,
2989    cudaErrorInvalidDeviceFunction = 98,
2990    cudaErrorNoDevice = 100,
2991    cudaErrorInvalidDevice = 101,
2992    cudaErrorDeviceNotLicensed = 102,
2993    cudaErrorSoftwareValidityNotEstablished = 103,
2994    cudaErrorStartupFailure = 127,
2995    cudaErrorInvalidKernelImage = 200,
2996    cudaErrorDeviceUninitialized = 201,
2997    cudaErrorMapBufferObjectFailed = 205,
2998    cudaErrorUnmapBufferObjectFailed = 206,
2999    cudaErrorArrayIsMapped = 207,
3000    cudaErrorAlreadyMapped = 208,
3001    cudaErrorNoKernelImageForDevice = 209,
3002    cudaErrorAlreadyAcquired = 210,
3003    cudaErrorNotMapped = 211,
3004    cudaErrorNotMappedAsArray = 212,
3005    cudaErrorNotMappedAsPointer = 213,
3006    cudaErrorECCUncorrectable = 214,
3007    cudaErrorUnsupportedLimit = 215,
3008    cudaErrorDeviceAlreadyInUse = 216,
3009    cudaErrorPeerAccessUnsupported = 217,
3010    cudaErrorInvalidPtx = 218,
3011    cudaErrorInvalidGraphicsContext = 219,
3012    cudaErrorNvlinkUncorrectable = 220,
3013    cudaErrorJitCompilerNotFound = 221,
3014    cudaErrorUnsupportedPtxVersion = 222,
3015    cudaErrorJitCompilationDisabled = 223,
3016    cudaErrorUnsupportedExecAffinity = 224,
3017    cudaErrorUnsupportedDevSideSync = 225,
3018    cudaErrorInvalidSource = 300,
3019    cudaErrorFileNotFound = 301,
3020    cudaErrorSharedObjectSymbolNotFound = 302,
3021    cudaErrorSharedObjectInitFailed = 303,
3022    cudaErrorOperatingSystem = 304,
3023    cudaErrorInvalidResourceHandle = 400,
3024    cudaErrorIllegalState = 401,
3025    cudaErrorLossyQuery = 402,
3026    cudaErrorSymbolNotFound = 500,
3027    cudaErrorNotReady = 600,
3028    cudaErrorIllegalAddress = 700,
3029    cudaErrorLaunchOutOfResources = 701,
3030    cudaErrorLaunchTimeout = 702,
3031    cudaErrorLaunchIncompatibleTexturing = 703,
3032    cudaErrorPeerAccessAlreadyEnabled = 704,
3033    cudaErrorPeerAccessNotEnabled = 705,
3034    cudaErrorSetOnActiveProcess = 708,
3035    cudaErrorContextIsDestroyed = 709,
3036    cudaErrorAssert = 710,
3037    cudaErrorTooManyPeers = 711,
3038    cudaErrorHostMemoryAlreadyRegistered = 712,
3039    cudaErrorHostMemoryNotRegistered = 713,
3040    cudaErrorHardwareStackError = 714,
3041    cudaErrorIllegalInstruction = 715,
3042    cudaErrorMisalignedAddress = 716,
3043    cudaErrorInvalidAddressSpace = 717,
3044    cudaErrorInvalidPc = 718,
3045    cudaErrorLaunchFailure = 719,
3046    cudaErrorCooperativeLaunchTooLarge = 720,
3047    cudaErrorNotPermitted = 800,
3048    cudaErrorNotSupported = 801,
3049    cudaErrorSystemNotReady = 802,
3050    cudaErrorSystemDriverMismatch = 803,
3051    cudaErrorCompatNotSupportedOnDevice = 804,
3052    cudaErrorMpsConnectionFailed = 805,
3053    cudaErrorMpsRpcFailure = 806,
3054    cudaErrorMpsServerNotReady = 807,
3055    cudaErrorMpsMaxClientsReached = 808,
3056    cudaErrorMpsMaxConnectionsReached = 809,
3057    cudaErrorMpsClientTerminated = 810,
3058    cudaErrorCdpNotSupported = 811,
3059    cudaErrorCdpVersionMismatch = 812,
3060    cudaErrorStreamCaptureUnsupported = 900,
3061    cudaErrorStreamCaptureInvalidated = 901,
3062    cudaErrorStreamCaptureMerge = 902,
3063    cudaErrorStreamCaptureUnmatched = 903,
3064    cudaErrorStreamCaptureUnjoined = 904,
3065    cudaErrorStreamCaptureIsolation = 905,
3066    cudaErrorStreamCaptureImplicit = 906,
3067    cudaErrorCapturedEvent = 907,
3068    cudaErrorStreamCaptureWrongThread = 908,
3069    cudaErrorTimeout = 909,
3070    cudaErrorGraphExecUpdateFailure = 910,
3071    cudaErrorExternalDevice = 911,
3072    cudaErrorInvalidClusterSize = 912,
3073    cudaErrorUnknown = 999,
3074    cudaErrorApiFailureBase = 10000,
3075}
3076#[cfg(any(feature = "cuda-12060"))]
3077#[repr(u32)]
3078#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3079pub enum cudaError {
3080    cudaSuccess = 0,
3081    cudaErrorInvalidValue = 1,
3082    cudaErrorMemoryAllocation = 2,
3083    cudaErrorInitializationError = 3,
3084    cudaErrorCudartUnloading = 4,
3085    cudaErrorProfilerDisabled = 5,
3086    cudaErrorProfilerNotInitialized = 6,
3087    cudaErrorProfilerAlreadyStarted = 7,
3088    cudaErrorProfilerAlreadyStopped = 8,
3089    cudaErrorInvalidConfiguration = 9,
3090    cudaErrorInvalidPitchValue = 12,
3091    cudaErrorInvalidSymbol = 13,
3092    cudaErrorInvalidHostPointer = 16,
3093    cudaErrorInvalidDevicePointer = 17,
3094    cudaErrorInvalidTexture = 18,
3095    cudaErrorInvalidTextureBinding = 19,
3096    cudaErrorInvalidChannelDescriptor = 20,
3097    cudaErrorInvalidMemcpyDirection = 21,
3098    cudaErrorAddressOfConstant = 22,
3099    cudaErrorTextureFetchFailed = 23,
3100    cudaErrorTextureNotBound = 24,
3101    cudaErrorSynchronizationError = 25,
3102    cudaErrorInvalidFilterSetting = 26,
3103    cudaErrorInvalidNormSetting = 27,
3104    cudaErrorMixedDeviceExecution = 28,
3105    cudaErrorNotYetImplemented = 31,
3106    cudaErrorMemoryValueTooLarge = 32,
3107    cudaErrorStubLibrary = 34,
3108    cudaErrorInsufficientDriver = 35,
3109    cudaErrorCallRequiresNewerDriver = 36,
3110    cudaErrorInvalidSurface = 37,
3111    cudaErrorDuplicateVariableName = 43,
3112    cudaErrorDuplicateTextureName = 44,
3113    cudaErrorDuplicateSurfaceName = 45,
3114    cudaErrorDevicesUnavailable = 46,
3115    cudaErrorIncompatibleDriverContext = 49,
3116    cudaErrorMissingConfiguration = 52,
3117    cudaErrorPriorLaunchFailure = 53,
3118    cudaErrorLaunchMaxDepthExceeded = 65,
3119    cudaErrorLaunchFileScopedTex = 66,
3120    cudaErrorLaunchFileScopedSurf = 67,
3121    cudaErrorSyncDepthExceeded = 68,
3122    cudaErrorLaunchPendingCountExceeded = 69,
3123    cudaErrorInvalidDeviceFunction = 98,
3124    cudaErrorNoDevice = 100,
3125    cudaErrorInvalidDevice = 101,
3126    cudaErrorDeviceNotLicensed = 102,
3127    cudaErrorSoftwareValidityNotEstablished = 103,
3128    cudaErrorStartupFailure = 127,
3129    cudaErrorInvalidKernelImage = 200,
3130    cudaErrorDeviceUninitialized = 201,
3131    cudaErrorMapBufferObjectFailed = 205,
3132    cudaErrorUnmapBufferObjectFailed = 206,
3133    cudaErrorArrayIsMapped = 207,
3134    cudaErrorAlreadyMapped = 208,
3135    cudaErrorNoKernelImageForDevice = 209,
3136    cudaErrorAlreadyAcquired = 210,
3137    cudaErrorNotMapped = 211,
3138    cudaErrorNotMappedAsArray = 212,
3139    cudaErrorNotMappedAsPointer = 213,
3140    cudaErrorECCUncorrectable = 214,
3141    cudaErrorUnsupportedLimit = 215,
3142    cudaErrorDeviceAlreadyInUse = 216,
3143    cudaErrorPeerAccessUnsupported = 217,
3144    cudaErrorInvalidPtx = 218,
3145    cudaErrorInvalidGraphicsContext = 219,
3146    cudaErrorNvlinkUncorrectable = 220,
3147    cudaErrorJitCompilerNotFound = 221,
3148    cudaErrorUnsupportedPtxVersion = 222,
3149    cudaErrorJitCompilationDisabled = 223,
3150    cudaErrorUnsupportedExecAffinity = 224,
3151    cudaErrorUnsupportedDevSideSync = 225,
3152    cudaErrorInvalidSource = 300,
3153    cudaErrorFileNotFound = 301,
3154    cudaErrorSharedObjectSymbolNotFound = 302,
3155    cudaErrorSharedObjectInitFailed = 303,
3156    cudaErrorOperatingSystem = 304,
3157    cudaErrorInvalidResourceHandle = 400,
3158    cudaErrorIllegalState = 401,
3159    cudaErrorLossyQuery = 402,
3160    cudaErrorSymbolNotFound = 500,
3161    cudaErrorNotReady = 600,
3162    cudaErrorIllegalAddress = 700,
3163    cudaErrorLaunchOutOfResources = 701,
3164    cudaErrorLaunchTimeout = 702,
3165    cudaErrorLaunchIncompatibleTexturing = 703,
3166    cudaErrorPeerAccessAlreadyEnabled = 704,
3167    cudaErrorPeerAccessNotEnabled = 705,
3168    cudaErrorSetOnActiveProcess = 708,
3169    cudaErrorContextIsDestroyed = 709,
3170    cudaErrorAssert = 710,
3171    cudaErrorTooManyPeers = 711,
3172    cudaErrorHostMemoryAlreadyRegistered = 712,
3173    cudaErrorHostMemoryNotRegistered = 713,
3174    cudaErrorHardwareStackError = 714,
3175    cudaErrorIllegalInstruction = 715,
3176    cudaErrorMisalignedAddress = 716,
3177    cudaErrorInvalidAddressSpace = 717,
3178    cudaErrorInvalidPc = 718,
3179    cudaErrorLaunchFailure = 719,
3180    cudaErrorCooperativeLaunchTooLarge = 720,
3181    cudaErrorNotPermitted = 800,
3182    cudaErrorNotSupported = 801,
3183    cudaErrorSystemNotReady = 802,
3184    cudaErrorSystemDriverMismatch = 803,
3185    cudaErrorCompatNotSupportedOnDevice = 804,
3186    cudaErrorMpsConnectionFailed = 805,
3187    cudaErrorMpsRpcFailure = 806,
3188    cudaErrorMpsServerNotReady = 807,
3189    cudaErrorMpsMaxClientsReached = 808,
3190    cudaErrorMpsMaxConnectionsReached = 809,
3191    cudaErrorMpsClientTerminated = 810,
3192    cudaErrorCdpNotSupported = 811,
3193    cudaErrorCdpVersionMismatch = 812,
3194    cudaErrorStreamCaptureUnsupported = 900,
3195    cudaErrorStreamCaptureInvalidated = 901,
3196    cudaErrorStreamCaptureMerge = 902,
3197    cudaErrorStreamCaptureUnmatched = 903,
3198    cudaErrorStreamCaptureUnjoined = 904,
3199    cudaErrorStreamCaptureIsolation = 905,
3200    cudaErrorStreamCaptureImplicit = 906,
3201    cudaErrorCapturedEvent = 907,
3202    cudaErrorStreamCaptureWrongThread = 908,
3203    cudaErrorTimeout = 909,
3204    cudaErrorGraphExecUpdateFailure = 910,
3205    cudaErrorExternalDevice = 911,
3206    cudaErrorInvalidClusterSize = 912,
3207    cudaErrorFunctionNotLoaded = 913,
3208    cudaErrorInvalidResourceType = 914,
3209    cudaErrorInvalidResourceConfiguration = 915,
3210    cudaErrorUnknown = 999,
3211    cudaErrorApiFailureBase = 10000,
3212}
3213#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
3214#[repr(u32)]
3215#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3216pub enum cudaError {
3217    cudaSuccess = 0,
3218    cudaErrorInvalidValue = 1,
3219    cudaErrorMemoryAllocation = 2,
3220    cudaErrorInitializationError = 3,
3221    cudaErrorCudartUnloading = 4,
3222    cudaErrorProfilerDisabled = 5,
3223    cudaErrorProfilerNotInitialized = 6,
3224    cudaErrorProfilerAlreadyStarted = 7,
3225    cudaErrorProfilerAlreadyStopped = 8,
3226    cudaErrorInvalidConfiguration = 9,
3227    cudaErrorInvalidPitchValue = 12,
3228    cudaErrorInvalidSymbol = 13,
3229    cudaErrorInvalidHostPointer = 16,
3230    cudaErrorInvalidDevicePointer = 17,
3231    cudaErrorInvalidTexture = 18,
3232    cudaErrorInvalidTextureBinding = 19,
3233    cudaErrorInvalidChannelDescriptor = 20,
3234    cudaErrorInvalidMemcpyDirection = 21,
3235    cudaErrorAddressOfConstant = 22,
3236    cudaErrorTextureFetchFailed = 23,
3237    cudaErrorTextureNotBound = 24,
3238    cudaErrorSynchronizationError = 25,
3239    cudaErrorInvalidFilterSetting = 26,
3240    cudaErrorInvalidNormSetting = 27,
3241    cudaErrorMixedDeviceExecution = 28,
3242    cudaErrorNotYetImplemented = 31,
3243    cudaErrorMemoryValueTooLarge = 32,
3244    cudaErrorStubLibrary = 34,
3245    cudaErrorInsufficientDriver = 35,
3246    cudaErrorCallRequiresNewerDriver = 36,
3247    cudaErrorInvalidSurface = 37,
3248    cudaErrorDuplicateVariableName = 43,
3249    cudaErrorDuplicateTextureName = 44,
3250    cudaErrorDuplicateSurfaceName = 45,
3251    cudaErrorDevicesUnavailable = 46,
3252    cudaErrorIncompatibleDriverContext = 49,
3253    cudaErrorMissingConfiguration = 52,
3254    cudaErrorPriorLaunchFailure = 53,
3255    cudaErrorLaunchMaxDepthExceeded = 65,
3256    cudaErrorLaunchFileScopedTex = 66,
3257    cudaErrorLaunchFileScopedSurf = 67,
3258    cudaErrorSyncDepthExceeded = 68,
3259    cudaErrorLaunchPendingCountExceeded = 69,
3260    cudaErrorInvalidDeviceFunction = 98,
3261    cudaErrorNoDevice = 100,
3262    cudaErrorInvalidDevice = 101,
3263    cudaErrorDeviceNotLicensed = 102,
3264    cudaErrorSoftwareValidityNotEstablished = 103,
3265    cudaErrorStartupFailure = 127,
3266    cudaErrorInvalidKernelImage = 200,
3267    cudaErrorDeviceUninitialized = 201,
3268    cudaErrorMapBufferObjectFailed = 205,
3269    cudaErrorUnmapBufferObjectFailed = 206,
3270    cudaErrorArrayIsMapped = 207,
3271    cudaErrorAlreadyMapped = 208,
3272    cudaErrorNoKernelImageForDevice = 209,
3273    cudaErrorAlreadyAcquired = 210,
3274    cudaErrorNotMapped = 211,
3275    cudaErrorNotMappedAsArray = 212,
3276    cudaErrorNotMappedAsPointer = 213,
3277    cudaErrorECCUncorrectable = 214,
3278    cudaErrorUnsupportedLimit = 215,
3279    cudaErrorDeviceAlreadyInUse = 216,
3280    cudaErrorPeerAccessUnsupported = 217,
3281    cudaErrorInvalidPtx = 218,
3282    cudaErrorInvalidGraphicsContext = 219,
3283    cudaErrorNvlinkUncorrectable = 220,
3284    cudaErrorJitCompilerNotFound = 221,
3285    cudaErrorUnsupportedPtxVersion = 222,
3286    cudaErrorJitCompilationDisabled = 223,
3287    cudaErrorUnsupportedExecAffinity = 224,
3288    cudaErrorUnsupportedDevSideSync = 225,
3289    cudaErrorContained = 226,
3290    cudaErrorInvalidSource = 300,
3291    cudaErrorFileNotFound = 301,
3292    cudaErrorSharedObjectSymbolNotFound = 302,
3293    cudaErrorSharedObjectInitFailed = 303,
3294    cudaErrorOperatingSystem = 304,
3295    cudaErrorInvalidResourceHandle = 400,
3296    cudaErrorIllegalState = 401,
3297    cudaErrorLossyQuery = 402,
3298    cudaErrorSymbolNotFound = 500,
3299    cudaErrorNotReady = 600,
3300    cudaErrorIllegalAddress = 700,
3301    cudaErrorLaunchOutOfResources = 701,
3302    cudaErrorLaunchTimeout = 702,
3303    cudaErrorLaunchIncompatibleTexturing = 703,
3304    cudaErrorPeerAccessAlreadyEnabled = 704,
3305    cudaErrorPeerAccessNotEnabled = 705,
3306    cudaErrorSetOnActiveProcess = 708,
3307    cudaErrorContextIsDestroyed = 709,
3308    cudaErrorAssert = 710,
3309    cudaErrorTooManyPeers = 711,
3310    cudaErrorHostMemoryAlreadyRegistered = 712,
3311    cudaErrorHostMemoryNotRegistered = 713,
3312    cudaErrorHardwareStackError = 714,
3313    cudaErrorIllegalInstruction = 715,
3314    cudaErrorMisalignedAddress = 716,
3315    cudaErrorInvalidAddressSpace = 717,
3316    cudaErrorInvalidPc = 718,
3317    cudaErrorLaunchFailure = 719,
3318    cudaErrorCooperativeLaunchTooLarge = 720,
3319    cudaErrorTensorMemoryLeak = 721,
3320    cudaErrorNotPermitted = 800,
3321    cudaErrorNotSupported = 801,
3322    cudaErrorSystemNotReady = 802,
3323    cudaErrorSystemDriverMismatch = 803,
3324    cudaErrorCompatNotSupportedOnDevice = 804,
3325    cudaErrorMpsConnectionFailed = 805,
3326    cudaErrorMpsRpcFailure = 806,
3327    cudaErrorMpsServerNotReady = 807,
3328    cudaErrorMpsMaxClientsReached = 808,
3329    cudaErrorMpsMaxConnectionsReached = 809,
3330    cudaErrorMpsClientTerminated = 810,
3331    cudaErrorCdpNotSupported = 811,
3332    cudaErrorCdpVersionMismatch = 812,
3333    cudaErrorStreamCaptureUnsupported = 900,
3334    cudaErrorStreamCaptureInvalidated = 901,
3335    cudaErrorStreamCaptureMerge = 902,
3336    cudaErrorStreamCaptureUnmatched = 903,
3337    cudaErrorStreamCaptureUnjoined = 904,
3338    cudaErrorStreamCaptureIsolation = 905,
3339    cudaErrorStreamCaptureImplicit = 906,
3340    cudaErrorCapturedEvent = 907,
3341    cudaErrorStreamCaptureWrongThread = 908,
3342    cudaErrorTimeout = 909,
3343    cudaErrorGraphExecUpdateFailure = 910,
3344    cudaErrorExternalDevice = 911,
3345    cudaErrorInvalidClusterSize = 912,
3346    cudaErrorFunctionNotLoaded = 913,
3347    cudaErrorInvalidResourceType = 914,
3348    cudaErrorInvalidResourceConfiguration = 915,
3349    cudaErrorUnknown = 999,
3350    cudaErrorApiFailureBase = 10000,
3351}
3352#[repr(u32)]
3353#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3354pub enum cudaExternalMemoryHandleType {
3355    cudaExternalMemoryHandleTypeOpaqueFd = 1,
3356    cudaExternalMemoryHandleTypeOpaqueWin32 = 2,
3357    cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3,
3358    cudaExternalMemoryHandleTypeD3D12Heap = 4,
3359    cudaExternalMemoryHandleTypeD3D12Resource = 5,
3360    cudaExternalMemoryHandleTypeD3D11Resource = 6,
3361    cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7,
3362    cudaExternalMemoryHandleTypeNvSciBuf = 8,
3363}
3364#[repr(u32)]
3365#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3366pub enum cudaExternalSemaphoreHandleType {
3367    cudaExternalSemaphoreHandleTypeOpaqueFd = 1,
3368    cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2,
3369    cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3,
3370    cudaExternalSemaphoreHandleTypeD3D12Fence = 4,
3371    cudaExternalSemaphoreHandleTypeD3D11Fence = 5,
3372    cudaExternalSemaphoreHandleTypeNvSciSync = 6,
3373    cudaExternalSemaphoreHandleTypeKeyedMutex = 7,
3374    cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8,
3375    cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd = 9,
3376    cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = 10,
3377}
3378#[repr(u32)]
3379#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3380pub enum cudaFlushGPUDirectRDMAWritesOptions {
3381    cudaFlushGPUDirectRDMAWritesOptionHost = 1,
3382    cudaFlushGPUDirectRDMAWritesOptionMemOps = 2,
3383}
3384#[repr(u32)]
3385#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3386pub enum cudaFlushGPUDirectRDMAWritesScope {
3387    cudaFlushGPUDirectRDMAWritesToOwner = 100,
3388    cudaFlushGPUDirectRDMAWritesToAllDevices = 200,
3389}
3390#[repr(u32)]
3391#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3392pub enum cudaFlushGPUDirectRDMAWritesTarget {
3393    cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = 0,
3394}
3395#[cfg(any(
3396    feature = "cuda-11040",
3397    feature = "cuda-11050",
3398    feature = "cuda-11060",
3399    feature = "cuda-11070"
3400))]
3401#[repr(u32)]
3402#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3403pub enum cudaFuncAttribute {
3404    cudaFuncAttributeMaxDynamicSharedMemorySize = 8,
3405    cudaFuncAttributePreferredSharedMemoryCarveout = 9,
3406    cudaFuncAttributeMax = 10,
3407}
3408#[cfg(any(
3409    feature = "cuda-11080",
3410    feature = "cuda-12000",
3411    feature = "cuda-12010",
3412    feature = "cuda-12020",
3413    feature = "cuda-12030",
3414    feature = "cuda-12040",
3415    feature = "cuda-12050",
3416    feature = "cuda-12060",
3417    feature = "cuda-12080",
3418    feature = "cuda-12090",
3419    feature = "cuda-13000"
3420))]
3421#[repr(u32)]
3422#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3423pub enum cudaFuncAttribute {
3424    cudaFuncAttributeMaxDynamicSharedMemorySize = 8,
3425    cudaFuncAttributePreferredSharedMemoryCarveout = 9,
3426    cudaFuncAttributeClusterDimMustBeSet = 10,
3427    cudaFuncAttributeRequiredClusterWidth = 11,
3428    cudaFuncAttributeRequiredClusterHeight = 12,
3429    cudaFuncAttributeRequiredClusterDepth = 13,
3430    cudaFuncAttributeNonPortableClusterSizeAllowed = 14,
3431    cudaFuncAttributeClusterSchedulingPolicyPreference = 15,
3432    cudaFuncAttributeMax = 16,
3433}
3434#[repr(u32)]
3435#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3436pub enum cudaFuncCache {
3437    cudaFuncCachePreferNone = 0,
3438    cudaFuncCachePreferShared = 1,
3439    cudaFuncCachePreferL1 = 2,
3440    cudaFuncCachePreferEqual = 3,
3441}
3442#[repr(u32)]
3443#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3444pub enum cudaGPUDirectRDMAWritesOrdering {
3445    cudaGPUDirectRDMAWritesOrderingNone = 0,
3446    cudaGPUDirectRDMAWritesOrderingOwner = 100,
3447    cudaGPUDirectRDMAWritesOrderingAllDevices = 200,
3448}
3449#[repr(u32)]
3450#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3451pub enum cudaGetDriverEntryPointFlags {
3452    cudaEnableDefault = 0,
3453    cudaEnableLegacyStream = 1,
3454    cudaEnablePerThreadDefaultStream = 2,
3455}
3456#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
3457#[repr(u32)]
3458#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3459pub enum cudaGraphChildGraphNodeOwnership {
3460    cudaGraphChildGraphOwnershipClone = 0,
3461    cudaGraphChildGraphOwnershipMove = 1,
3462}
3463#[cfg(any(
3464    feature = "cuda-12030",
3465    feature = "cuda-12040",
3466    feature = "cuda-12050",
3467    feature = "cuda-12060",
3468    feature = "cuda-12080",
3469    feature = "cuda-12090",
3470    feature = "cuda-13000"
3471))]
3472#[repr(u32)]
3473#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3474pub enum cudaGraphConditionalHandleFlags {
3475    cudaGraphCondAssignDefault = 1,
3476}
3477#[cfg(any(
3478    feature = "cuda-12030",
3479    feature = "cuda-12040",
3480    feature = "cuda-12050",
3481    feature = "cuda-12060"
3482))]
3483#[repr(u32)]
3484#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3485pub enum cudaGraphConditionalNodeType {
3486    cudaGraphCondTypeIf = 0,
3487    cudaGraphCondTypeWhile = 1,
3488}
3489#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
3490#[repr(u32)]
3491#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3492pub enum cudaGraphConditionalNodeType {
3493    cudaGraphCondTypeIf = 0,
3494    cudaGraphCondTypeWhile = 1,
3495    cudaGraphCondTypeSwitch = 2,
3496}
3497#[cfg(any(
3498    feature = "cuda-11040",
3499    feature = "cuda-11050",
3500    feature = "cuda-11060",
3501    feature = "cuda-11070",
3502    feature = "cuda-11080",
3503    feature = "cuda-12000",
3504    feature = "cuda-12010",
3505    feature = "cuda-12020"
3506))]
3507#[repr(u32)]
3508#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3509pub enum cudaGraphDebugDotFlags {
3510    cudaGraphDebugDotFlagsVerbose = 1,
3511    cudaGraphDebugDotFlagsKernelNodeParams = 4,
3512    cudaGraphDebugDotFlagsMemcpyNodeParams = 8,
3513    cudaGraphDebugDotFlagsMemsetNodeParams = 16,
3514    cudaGraphDebugDotFlagsHostNodeParams = 32,
3515    cudaGraphDebugDotFlagsEventNodeParams = 64,
3516    cudaGraphDebugDotFlagsExtSemasSignalNodeParams = 128,
3517    cudaGraphDebugDotFlagsExtSemasWaitNodeParams = 256,
3518    cudaGraphDebugDotFlagsKernelNodeAttributes = 512,
3519    cudaGraphDebugDotFlagsHandles = 1024,
3520}
3521#[cfg(any(
3522    feature = "cuda-12030",
3523    feature = "cuda-12040",
3524    feature = "cuda-12050",
3525    feature = "cuda-12060",
3526    feature = "cuda-12080",
3527    feature = "cuda-12090",
3528    feature = "cuda-13000"
3529))]
3530#[repr(u32)]
3531#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3532pub enum cudaGraphDebugDotFlags {
3533    cudaGraphDebugDotFlagsVerbose = 1,
3534    cudaGraphDebugDotFlagsKernelNodeParams = 4,
3535    cudaGraphDebugDotFlagsMemcpyNodeParams = 8,
3536    cudaGraphDebugDotFlagsMemsetNodeParams = 16,
3537    cudaGraphDebugDotFlagsHostNodeParams = 32,
3538    cudaGraphDebugDotFlagsEventNodeParams = 64,
3539    cudaGraphDebugDotFlagsExtSemasSignalNodeParams = 128,
3540    cudaGraphDebugDotFlagsExtSemasWaitNodeParams = 256,
3541    cudaGraphDebugDotFlagsKernelNodeAttributes = 512,
3542    cudaGraphDebugDotFlagsHandles = 1024,
3543    cudaGraphDebugDotFlagsConditionalNodeParams = 32768,
3544}
3545#[cfg(any(
3546    feature = "cuda-12030",
3547    feature = "cuda-12040",
3548    feature = "cuda-12050",
3549    feature = "cuda-12060",
3550    feature = "cuda-12080",
3551    feature = "cuda-12090",
3552    feature = "cuda-13000"
3553))]
3554#[repr(u32)]
3555#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3556pub enum cudaGraphDependencyType_enum {
3557    cudaGraphDependencyTypeDefault = 0,
3558    cudaGraphDependencyTypeProgrammatic = 1,
3559}
3560#[cfg(any(feature = "cuda-11040", feature = "cuda-11050"))]
3561#[repr(u32)]
3562#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3563pub enum cudaGraphExecUpdateResult {
3564    cudaGraphExecUpdateSuccess = 0,
3565    cudaGraphExecUpdateError = 1,
3566    cudaGraphExecUpdateErrorTopologyChanged = 2,
3567    cudaGraphExecUpdateErrorNodeTypeChanged = 3,
3568    cudaGraphExecUpdateErrorFunctionChanged = 4,
3569    cudaGraphExecUpdateErrorParametersChanged = 5,
3570    cudaGraphExecUpdateErrorNotSupported = 6,
3571    cudaGraphExecUpdateErrorUnsupportedFunctionChange = 7,
3572}
3573#[cfg(any(
3574    feature = "cuda-11060",
3575    feature = "cuda-11070",
3576    feature = "cuda-11080",
3577    feature = "cuda-12000",
3578    feature = "cuda-12010",
3579    feature = "cuda-12020",
3580    feature = "cuda-12030",
3581    feature = "cuda-12040",
3582    feature = "cuda-12050",
3583    feature = "cuda-12060",
3584    feature = "cuda-12080",
3585    feature = "cuda-12090",
3586    feature = "cuda-13000"
3587))]
3588#[repr(u32)]
3589#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3590pub enum cudaGraphExecUpdateResult {
3591    cudaGraphExecUpdateSuccess = 0,
3592    cudaGraphExecUpdateError = 1,
3593    cudaGraphExecUpdateErrorTopologyChanged = 2,
3594    cudaGraphExecUpdateErrorNodeTypeChanged = 3,
3595    cudaGraphExecUpdateErrorFunctionChanged = 4,
3596    cudaGraphExecUpdateErrorParametersChanged = 5,
3597    cudaGraphExecUpdateErrorNotSupported = 6,
3598    cudaGraphExecUpdateErrorUnsupportedFunctionChange = 7,
3599    cudaGraphExecUpdateErrorAttributesChanged = 8,
3600}
3601#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
3602#[repr(u32)]
3603#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3604pub enum cudaGraphInstantiateFlags {
3605    cudaGraphInstantiateFlagAutoFreeOnLaunch = 1,
3606}
3607#[cfg(any(feature = "cuda-11070", feature = "cuda-11080"))]
3608#[repr(u32)]
3609#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3610pub enum cudaGraphInstantiateFlags {
3611    cudaGraphInstantiateFlagAutoFreeOnLaunch = 1,
3612    cudaGraphInstantiateFlagUseNodePriority = 8,
3613}
3614#[cfg(any(
3615    feature = "cuda-12000",
3616    feature = "cuda-12010",
3617    feature = "cuda-12020",
3618    feature = "cuda-12030",
3619    feature = "cuda-12040",
3620    feature = "cuda-12050",
3621    feature = "cuda-12060",
3622    feature = "cuda-12080",
3623    feature = "cuda-12090",
3624    feature = "cuda-13000"
3625))]
3626#[repr(u32)]
3627#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3628pub enum cudaGraphInstantiateFlags {
3629    cudaGraphInstantiateFlagAutoFreeOnLaunch = 1,
3630    cudaGraphInstantiateFlagUpload = 2,
3631    cudaGraphInstantiateFlagDeviceLaunch = 4,
3632    cudaGraphInstantiateFlagUseNodePriority = 8,
3633}
3634#[cfg(any(
3635    feature = "cuda-12000",
3636    feature = "cuda-12010",
3637    feature = "cuda-12020",
3638    feature = "cuda-12030",
3639    feature = "cuda-12040",
3640    feature = "cuda-12050",
3641    feature = "cuda-12060"
3642))]
3643#[repr(u32)]
3644#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3645pub enum cudaGraphInstantiateResult {
3646    cudaGraphInstantiateSuccess = 0,
3647    cudaGraphInstantiateError = 1,
3648    cudaGraphInstantiateInvalidStructure = 2,
3649    cudaGraphInstantiateNodeOperationNotSupported = 3,
3650    cudaGraphInstantiateMultipleDevicesNotSupported = 4,
3651}
3652#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
3653#[repr(u32)]
3654#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3655pub enum cudaGraphInstantiateResult {
3656    cudaGraphInstantiateSuccess = 0,
3657    cudaGraphInstantiateError = 1,
3658    cudaGraphInstantiateInvalidStructure = 2,
3659    cudaGraphInstantiateNodeOperationNotSupported = 3,
3660    cudaGraphInstantiateMultipleDevicesNotSupported = 4,
3661    cudaGraphInstantiateConditionalHandleUnused = 5,
3662}
3663#[cfg(any(
3664    feature = "cuda-12040",
3665    feature = "cuda-12050",
3666    feature = "cuda-12060",
3667    feature = "cuda-12080",
3668    feature = "cuda-12090",
3669    feature = "cuda-13000"
3670))]
3671#[repr(u32)]
3672#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3673pub enum cudaGraphKernelNodeField {
3674    cudaGraphKernelNodeFieldInvalid = 0,
3675    cudaGraphKernelNodeFieldGridDim = 1,
3676    cudaGraphKernelNodeFieldParam = 2,
3677    cudaGraphKernelNodeFieldEnabled = 3,
3678}
3679#[cfg(any(feature = "cuda-11040", feature = "cuda-11050"))]
3680#[repr(u32)]
3681#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3682pub enum cudaGraphMemAttributeType {
3683    cudaGraphMemAttrUsedMemCurrent = 1,
3684    cudaGraphMemAttrUsedMemHigh = 2,
3685    cudaGraphMemAttrReservedMemCurrent = 3,
3686    cudaGraphMemAttrReservedMemHigh = 4,
3687}
3688#[cfg(any(
3689    feature = "cuda-11060",
3690    feature = "cuda-11070",
3691    feature = "cuda-11080",
3692    feature = "cuda-12000",
3693    feature = "cuda-12010",
3694    feature = "cuda-12020",
3695    feature = "cuda-12030",
3696    feature = "cuda-12040",
3697    feature = "cuda-12050",
3698    feature = "cuda-12060",
3699    feature = "cuda-12080",
3700    feature = "cuda-12090",
3701    feature = "cuda-13000"
3702))]
3703#[repr(u32)]
3704#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3705pub enum cudaGraphMemAttributeType {
3706    cudaGraphMemAttrUsedMemCurrent = 0,
3707    cudaGraphMemAttrUsedMemHigh = 1,
3708    cudaGraphMemAttrReservedMemCurrent = 2,
3709    cudaGraphMemAttrReservedMemHigh = 3,
3710}
3711#[cfg(any(
3712    feature = "cuda-11040",
3713    feature = "cuda-11050",
3714    feature = "cuda-11060",
3715    feature = "cuda-11070",
3716    feature = "cuda-11080",
3717    feature = "cuda-12000",
3718    feature = "cuda-12010",
3719    feature = "cuda-12020"
3720))]
3721#[repr(u32)]
3722#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3723pub enum cudaGraphNodeType {
3724    cudaGraphNodeTypeKernel = 0,
3725    cudaGraphNodeTypeMemcpy = 1,
3726    cudaGraphNodeTypeMemset = 2,
3727    cudaGraphNodeTypeHost = 3,
3728    cudaGraphNodeTypeGraph = 4,
3729    cudaGraphNodeTypeEmpty = 5,
3730    cudaGraphNodeTypeWaitEvent = 6,
3731    cudaGraphNodeTypeEventRecord = 7,
3732    cudaGraphNodeTypeExtSemaphoreSignal = 8,
3733    cudaGraphNodeTypeExtSemaphoreWait = 9,
3734    cudaGraphNodeTypeMemAlloc = 10,
3735    cudaGraphNodeTypeMemFree = 11,
3736    cudaGraphNodeTypeCount = 12,
3737}
3738#[cfg(any(
3739    feature = "cuda-12030",
3740    feature = "cuda-12040",
3741    feature = "cuda-12050",
3742    feature = "cuda-12060",
3743    feature = "cuda-12080",
3744    feature = "cuda-12090",
3745    feature = "cuda-13000"
3746))]
3747#[repr(u32)]
3748#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3749pub enum cudaGraphNodeType {
3750    cudaGraphNodeTypeKernel = 0,
3751    cudaGraphNodeTypeMemcpy = 1,
3752    cudaGraphNodeTypeMemset = 2,
3753    cudaGraphNodeTypeHost = 3,
3754    cudaGraphNodeTypeGraph = 4,
3755    cudaGraphNodeTypeEmpty = 5,
3756    cudaGraphNodeTypeWaitEvent = 6,
3757    cudaGraphNodeTypeEventRecord = 7,
3758    cudaGraphNodeTypeExtSemaphoreSignal = 8,
3759    cudaGraphNodeTypeExtSemaphoreWait = 9,
3760    cudaGraphNodeTypeMemAlloc = 10,
3761    cudaGraphNodeTypeMemFree = 11,
3762    cudaGraphNodeTypeConditional = 13,
3763    cudaGraphNodeTypeCount = 14,
3764}
3765#[repr(u32)]
3766#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3767pub enum cudaGraphicsCubeFace {
3768    cudaGraphicsCubeFacePositiveX = 0,
3769    cudaGraphicsCubeFaceNegativeX = 1,
3770    cudaGraphicsCubeFacePositiveY = 2,
3771    cudaGraphicsCubeFaceNegativeY = 3,
3772    cudaGraphicsCubeFacePositiveZ = 4,
3773    cudaGraphicsCubeFaceNegativeZ = 5,
3774}
3775#[repr(u32)]
3776#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3777pub enum cudaGraphicsMapFlags {
3778    cudaGraphicsMapFlagsNone = 0,
3779    cudaGraphicsMapFlagsReadOnly = 1,
3780    cudaGraphicsMapFlagsWriteDiscard = 2,
3781}
3782#[repr(u32)]
3783#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3784pub enum cudaGraphicsRegisterFlags {
3785    cudaGraphicsRegisterFlagsNone = 0,
3786    cudaGraphicsRegisterFlagsReadOnly = 1,
3787    cudaGraphicsRegisterFlagsWriteDiscard = 2,
3788    cudaGraphicsRegisterFlagsSurfaceLoadStore = 4,
3789    cudaGraphicsRegisterFlagsTextureGather = 8,
3790}
3791#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
3792#[repr(u32)]
3793#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3794pub enum cudaJitOption {
3795    cudaJitMaxRegisters = 0,
3796    cudaJitThreadsPerBlock = 1,
3797    cudaJitWallTime = 2,
3798    cudaJitInfoLogBuffer = 3,
3799    cudaJitInfoLogBufferSizeBytes = 4,
3800    cudaJitErrorLogBuffer = 5,
3801    cudaJitErrorLogBufferSizeBytes = 6,
3802    cudaJitOptimizationLevel = 7,
3803    cudaJitFallbackStrategy = 10,
3804    cudaJitGenerateDebugInfo = 11,
3805    cudaJitLogVerbose = 12,
3806    cudaJitGenerateLineInfo = 13,
3807    cudaJitCacheMode = 14,
3808    cudaJitPositionIndependentCode = 30,
3809    cudaJitMinCtaPerSm = 31,
3810    cudaJitMaxThreadsPerBlock = 32,
3811    cudaJitOverrideDirectiveValues = 33,
3812}
3813#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
3814#[repr(u32)]
3815#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3816pub enum cudaJit_CacheMode {
3817    cudaJitCacheOptionNone = 0,
3818    cudaJitCacheOptionCG = 1,
3819    cudaJitCacheOptionCA = 2,
3820}
3821#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
3822#[repr(u32)]
3823#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3824pub enum cudaJit_Fallback {
3825    cudaPreferPtx = 0,
3826    cudaPreferBinary = 1,
3827}
3828#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
3829#[repr(u32)]
3830#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3831pub enum cudaKernelNodeAttrID {
3832    cudaKernelNodeAttributeAccessPolicyWindow = 1,
3833    cudaKernelNodeAttributeCooperative = 2,
3834}
3835#[cfg(any(feature = "cuda-11070"))]
3836#[repr(u32)]
3837#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3838pub enum cudaKernelNodeAttrID {
3839    cudaKernelNodeAttributeAccessPolicyWindow = 1,
3840    cudaKernelNodeAttributeCooperative = 2,
3841    cudaKernelNodeAttributePriority = 8,
3842}
3843#[cfg(any(feature = "cuda-11080"))]
3844#[repr(u32)]
3845#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3846pub enum cudaLaunchAttributeID {
3847    cudaLaunchAttributeIgnore = 0,
3848    cudaLaunchAttributeAccessPolicyWindow = 1,
3849    cudaLaunchAttributeCooperative = 2,
3850    cudaLaunchAttributeSynchronizationPolicy = 3,
3851    cudaLaunchAttributeClusterDimension = 4,
3852    cudaLaunchAttributeClusterSchedulingPolicyPreference = 5,
3853    cudaLaunchAttributeProgrammaticStreamSerialization = 6,
3854    cudaLaunchAttributeProgrammaticEvent = 7,
3855    cudaLaunchAttributePriority = 8,
3856}
3857#[cfg(any(feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020"))]
3858#[repr(u32)]
3859#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3860pub enum cudaLaunchAttributeID {
3861    cudaLaunchAttributeIgnore = 0,
3862    cudaLaunchAttributeAccessPolicyWindow = 1,
3863    cudaLaunchAttributeCooperative = 2,
3864    cudaLaunchAttributeSynchronizationPolicy = 3,
3865    cudaLaunchAttributeClusterDimension = 4,
3866    cudaLaunchAttributeClusterSchedulingPolicyPreference = 5,
3867    cudaLaunchAttributeProgrammaticStreamSerialization = 6,
3868    cudaLaunchAttributeProgrammaticEvent = 7,
3869    cudaLaunchAttributePriority = 8,
3870    cudaLaunchAttributeMemSyncDomainMap = 9,
3871    cudaLaunchAttributeMemSyncDomain = 10,
3872}
3873#[cfg(any(feature = "cuda-12030"))]
3874#[repr(u32)]
3875#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3876pub enum cudaLaunchAttributeID {
3877    cudaLaunchAttributeIgnore = 0,
3878    cudaLaunchAttributeAccessPolicyWindow = 1,
3879    cudaLaunchAttributeCooperative = 2,
3880    cudaLaunchAttributeSynchronizationPolicy = 3,
3881    cudaLaunchAttributeClusterDimension = 4,
3882    cudaLaunchAttributeClusterSchedulingPolicyPreference = 5,
3883    cudaLaunchAttributeProgrammaticStreamSerialization = 6,
3884    cudaLaunchAttributeProgrammaticEvent = 7,
3885    cudaLaunchAttributePriority = 8,
3886    cudaLaunchAttributeMemSyncDomainMap = 9,
3887    cudaLaunchAttributeMemSyncDomain = 10,
3888    cudaLaunchAttributeLaunchCompletionEvent = 12,
3889}
3890#[cfg(any(feature = "cuda-12040"))]
3891#[repr(u32)]
3892#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3893pub enum cudaLaunchAttributeID {
3894    cudaLaunchAttributeIgnore = 0,
3895    cudaLaunchAttributeAccessPolicyWindow = 1,
3896    cudaLaunchAttributeCooperative = 2,
3897    cudaLaunchAttributeSynchronizationPolicy = 3,
3898    cudaLaunchAttributeClusterDimension = 4,
3899    cudaLaunchAttributeClusterSchedulingPolicyPreference = 5,
3900    cudaLaunchAttributeProgrammaticStreamSerialization = 6,
3901    cudaLaunchAttributeProgrammaticEvent = 7,
3902    cudaLaunchAttributePriority = 8,
3903    cudaLaunchAttributeMemSyncDomainMap = 9,
3904    cudaLaunchAttributeMemSyncDomain = 10,
3905    cudaLaunchAttributeLaunchCompletionEvent = 12,
3906    cudaLaunchAttributeDeviceUpdatableKernelNode = 13,
3907}
3908#[cfg(any(feature = "cuda-12050", feature = "cuda-12060"))]
3909#[repr(u32)]
3910#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3911pub enum cudaLaunchAttributeID {
3912    cudaLaunchAttributeIgnore = 0,
3913    cudaLaunchAttributeAccessPolicyWindow = 1,
3914    cudaLaunchAttributeCooperative = 2,
3915    cudaLaunchAttributeSynchronizationPolicy = 3,
3916    cudaLaunchAttributeClusterDimension = 4,
3917    cudaLaunchAttributeClusterSchedulingPolicyPreference = 5,
3918    cudaLaunchAttributeProgrammaticStreamSerialization = 6,
3919    cudaLaunchAttributeProgrammaticEvent = 7,
3920    cudaLaunchAttributePriority = 8,
3921    cudaLaunchAttributeMemSyncDomainMap = 9,
3922    cudaLaunchAttributeMemSyncDomain = 10,
3923    cudaLaunchAttributeLaunchCompletionEvent = 12,
3924    cudaLaunchAttributeDeviceUpdatableKernelNode = 13,
3925    cudaLaunchAttributePreferredSharedMemoryCarveout = 14,
3926}
3927#[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
3928#[repr(u32)]
3929#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3930pub enum cudaLaunchAttributeID {
3931    cudaLaunchAttributeIgnore = 0,
3932    cudaLaunchAttributeAccessPolicyWindow = 1,
3933    cudaLaunchAttributeCooperative = 2,
3934    cudaLaunchAttributeSynchronizationPolicy = 3,
3935    cudaLaunchAttributeClusterDimension = 4,
3936    cudaLaunchAttributeClusterSchedulingPolicyPreference = 5,
3937    cudaLaunchAttributeProgrammaticStreamSerialization = 6,
3938    cudaLaunchAttributeProgrammaticEvent = 7,
3939    cudaLaunchAttributePriority = 8,
3940    cudaLaunchAttributeMemSyncDomainMap = 9,
3941    cudaLaunchAttributeMemSyncDomain = 10,
3942    cudaLaunchAttributePreferredClusterDimension = 11,
3943    cudaLaunchAttributeLaunchCompletionEvent = 12,
3944    cudaLaunchAttributeDeviceUpdatableKernelNode = 13,
3945    cudaLaunchAttributePreferredSharedMemoryCarveout = 14,
3946}
3947#[cfg(any(feature = "cuda-13000"))]
3948#[repr(u32)]
3949#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3950pub enum cudaLaunchAttributeID {
3951    cudaLaunchAttributeIgnore = 0,
3952    cudaLaunchAttributeAccessPolicyWindow = 1,
3953    cudaLaunchAttributeCooperative = 2,
3954    cudaLaunchAttributeSynchronizationPolicy = 3,
3955    cudaLaunchAttributeClusterDimension = 4,
3956    cudaLaunchAttributeClusterSchedulingPolicyPreference = 5,
3957    cudaLaunchAttributeProgrammaticStreamSerialization = 6,
3958    cudaLaunchAttributeProgrammaticEvent = 7,
3959    cudaLaunchAttributePriority = 8,
3960    cudaLaunchAttributeMemSyncDomainMap = 9,
3961    cudaLaunchAttributeMemSyncDomain = 10,
3962    cudaLaunchAttributePreferredClusterDimension = 11,
3963    cudaLaunchAttributeLaunchCompletionEvent = 12,
3964    cudaLaunchAttributeDeviceUpdatableKernelNode = 13,
3965    cudaLaunchAttributePreferredSharedMemoryCarveout = 14,
3966    cudaLaunchAttributeNvlinkUtilCentricScheduling = 16,
3967}
3968#[cfg(any(
3969    feature = "cuda-12000",
3970    feature = "cuda-12010",
3971    feature = "cuda-12020",
3972    feature = "cuda-12030",
3973    feature = "cuda-12040",
3974    feature = "cuda-12050",
3975    feature = "cuda-12060",
3976    feature = "cuda-12080",
3977    feature = "cuda-12090",
3978    feature = "cuda-13000"
3979))]
3980#[repr(u32)]
3981#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3982pub enum cudaLaunchMemSyncDomain {
3983    cudaLaunchMemSyncDomainDefault = 0,
3984    cudaLaunchMemSyncDomainRemote = 1,
3985}
3986#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
3987#[repr(u32)]
3988#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3989pub enum cudaLibraryOption {
3990    cudaLibraryHostUniversalFunctionAndDataTable = 0,
3991    cudaLibraryBinaryIsPreserved = 1,
3992}
3993#[repr(u32)]
3994#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3995pub enum cudaLimit {
3996    cudaLimitStackSize = 0,
3997    cudaLimitPrintfFifoSize = 1,
3998    cudaLimitMallocHeapSize = 2,
3999    cudaLimitDevRuntimeSyncDepth = 3,
4000    cudaLimitDevRuntimePendingLaunchCount = 4,
4001    cudaLimitMaxL2FetchGranularity = 5,
4002    cudaLimitPersistingL2CacheSize = 6,
4003}
4004#[repr(u32)]
4005#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4006pub enum cudaMemAccessFlags {
4007    cudaMemAccessFlagsProtNone = 0,
4008    cudaMemAccessFlagsProtRead = 1,
4009    cudaMemAccessFlagsProtReadWrite = 3,
4010}
4011#[cfg(any(
4012    feature = "cuda-11040",
4013    feature = "cuda-11050",
4014    feature = "cuda-11060",
4015    feature = "cuda-11070",
4016    feature = "cuda-11080",
4017    feature = "cuda-12000",
4018    feature = "cuda-12010",
4019    feature = "cuda-12020",
4020    feature = "cuda-12030"
4021))]
4022#[repr(u32)]
4023#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4024pub enum cudaMemAllocationHandleType {
4025    cudaMemHandleTypeNone = 0,
4026    cudaMemHandleTypePosixFileDescriptor = 1,
4027    cudaMemHandleTypeWin32 = 2,
4028    cudaMemHandleTypeWin32Kmt = 4,
4029}
4030#[cfg(any(
4031    feature = "cuda-12040",
4032    feature = "cuda-12050",
4033    feature = "cuda-12060",
4034    feature = "cuda-12080",
4035    feature = "cuda-12090",
4036    feature = "cuda-13000"
4037))]
4038#[repr(u32)]
4039#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4040pub enum cudaMemAllocationHandleType {
4041    cudaMemHandleTypeNone = 0,
4042    cudaMemHandleTypePosixFileDescriptor = 1,
4043    cudaMemHandleTypeWin32 = 2,
4044    cudaMemHandleTypeWin32Kmt = 4,
4045    cudaMemHandleTypeFabric = 8,
4046}
4047#[cfg(any(
4048    feature = "cuda-11040",
4049    feature = "cuda-11050",
4050    feature = "cuda-11060",
4051    feature = "cuda-11070",
4052    feature = "cuda-11080",
4053    feature = "cuda-12000",
4054    feature = "cuda-12010",
4055    feature = "cuda-12020",
4056    feature = "cuda-12030",
4057    feature = "cuda-12040",
4058    feature = "cuda-12050",
4059    feature = "cuda-12060",
4060    feature = "cuda-12080",
4061    feature = "cuda-12090"
4062))]
4063#[repr(u32)]
4064#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4065pub enum cudaMemAllocationType {
4066    cudaMemAllocationTypeInvalid = 0,
4067    cudaMemAllocationTypePinned = 1,
4068    cudaMemAllocationTypeMax = 2147483647,
4069}
4070#[cfg(any(feature = "cuda-13000"))]
4071#[repr(u32)]
4072#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4073pub enum cudaMemAllocationType {
4074    cudaMemAllocationTypeInvalid = 0,
4075    cudaMemAllocationTypePinned = 1,
4076    cudaMemAllocationTypeManaged = 2,
4077    cudaMemAllocationTypeMax = 2147483647,
4078}
4079#[cfg(any(
4080    feature = "cuda-11040",
4081    feature = "cuda-11050",
4082    feature = "cuda-11060",
4083    feature = "cuda-11070",
4084    feature = "cuda-11080",
4085    feature = "cuda-12000",
4086    feature = "cuda-12010"
4087))]
4088#[repr(u32)]
4089#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4090pub enum cudaMemLocationType {
4091    cudaMemLocationTypeInvalid = 0,
4092    cudaMemLocationTypeDevice = 1,
4093}
4094#[cfg(any(
4095    feature = "cuda-12020",
4096    feature = "cuda-12030",
4097    feature = "cuda-12040",
4098    feature = "cuda-12050",
4099    feature = "cuda-12060",
4100    feature = "cuda-12080",
4101    feature = "cuda-12090",
4102    feature = "cuda-13000"
4103))]
4104#[repr(u32)]
4105#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4106pub enum cudaMemLocationType {
4107    cudaMemLocationTypeInvalid = 0,
4108    cudaMemLocationTypeDevice = 1,
4109    cudaMemLocationTypeHost = 2,
4110    cudaMemLocationTypeHostNuma = 3,
4111    cudaMemLocationTypeHostNumaCurrent = 4,
4112}
4113#[repr(u32)]
4114#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4115pub enum cudaMemPoolAttr {
4116    cudaMemPoolReuseFollowEventDependencies = 1,
4117    cudaMemPoolReuseAllowOpportunistic = 2,
4118    cudaMemPoolReuseAllowInternalDependencies = 3,
4119    cudaMemPoolAttrReleaseThreshold = 4,
4120    cudaMemPoolAttrReservedMemCurrent = 5,
4121    cudaMemPoolAttrReservedMemHigh = 6,
4122    cudaMemPoolAttrUsedMemCurrent = 7,
4123    cudaMemPoolAttrUsedMemHigh = 8,
4124}
4125#[cfg(any(
4126    feature = "cuda-11040",
4127    feature = "cuda-11050",
4128    feature = "cuda-11060",
4129    feature = "cuda-11070",
4130    feature = "cuda-11080",
4131    feature = "cuda-12000",
4132    feature = "cuda-12010"
4133))]
4134#[repr(u32)]
4135#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4136pub enum cudaMemRangeAttribute {
4137    cudaMemRangeAttributeReadMostly = 1,
4138    cudaMemRangeAttributePreferredLocation = 2,
4139    cudaMemRangeAttributeAccessedBy = 3,
4140    cudaMemRangeAttributeLastPrefetchLocation = 4,
4141}
4142#[cfg(any(
4143    feature = "cuda-12020",
4144    feature = "cuda-12030",
4145    feature = "cuda-12040",
4146    feature = "cuda-12050",
4147    feature = "cuda-12060",
4148    feature = "cuda-12080",
4149    feature = "cuda-12090",
4150    feature = "cuda-13000"
4151))]
4152#[repr(u32)]
4153#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4154pub enum cudaMemRangeAttribute {
4155    cudaMemRangeAttributeReadMostly = 1,
4156    cudaMemRangeAttributePreferredLocation = 2,
4157    cudaMemRangeAttributeAccessedBy = 3,
4158    cudaMemRangeAttributeLastPrefetchLocation = 4,
4159    cudaMemRangeAttributePreferredLocationType = 5,
4160    cudaMemRangeAttributePreferredLocationId = 6,
4161    cudaMemRangeAttributeLastPrefetchLocationType = 7,
4162    cudaMemRangeAttributeLastPrefetchLocationId = 8,
4163}
4164#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
4165#[repr(u32)]
4166#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4167pub enum cudaMemcpy3DOperandType {
4168    cudaMemcpyOperandTypePointer = 1,
4169    cudaMemcpyOperandTypeArray = 2,
4170    cudaMemcpyOperandTypeMax = 2147483647,
4171}
4172#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
4173#[repr(u32)]
4174#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4175pub enum cudaMemcpyFlags {
4176    cudaMemcpyFlagDefault = 0,
4177    cudaMemcpyFlagPreferOverlapWithCompute = 1,
4178}
4179#[repr(u32)]
4180#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4181pub enum cudaMemcpyKind {
4182    cudaMemcpyHostToHost = 0,
4183    cudaMemcpyHostToDevice = 1,
4184    cudaMemcpyDeviceToHost = 2,
4185    cudaMemcpyDeviceToDevice = 3,
4186    cudaMemcpyDefault = 4,
4187}
4188#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
4189#[repr(u32)]
4190#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4191pub enum cudaMemcpySrcAccessOrder {
4192    cudaMemcpySrcAccessOrderInvalid = 0,
4193    cudaMemcpySrcAccessOrderStream = 1,
4194    cudaMemcpySrcAccessOrderDuringApiCall = 2,
4195    cudaMemcpySrcAccessOrderAny = 3,
4196    cudaMemcpySrcAccessOrderMax = 2147483647,
4197}
4198#[repr(u32)]
4199#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4200pub enum cudaMemoryAdvise {
4201    cudaMemAdviseSetReadMostly = 1,
4202    cudaMemAdviseUnsetReadMostly = 2,
4203    cudaMemAdviseSetPreferredLocation = 3,
4204    cudaMemAdviseUnsetPreferredLocation = 4,
4205    cudaMemAdviseSetAccessedBy = 5,
4206    cudaMemAdviseUnsetAccessedBy = 6,
4207}
4208#[repr(u32)]
4209#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4210pub enum cudaMemoryType {
4211    cudaMemoryTypeUnregistered = 0,
4212    cudaMemoryTypeHost = 1,
4213    cudaMemoryTypeDevice = 2,
4214    cudaMemoryTypeManaged = 3,
4215}
4216#[cfg(any(
4217    feature = "cuda-11040",
4218    feature = "cuda-11050",
4219    feature = "cuda-11060",
4220    feature = "cuda-11070",
4221    feature = "cuda-11080"
4222))]
4223#[repr(u32)]
4224#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4225pub enum cudaOutputMode {
4226    cudaKeyValuePair = 0,
4227    cudaCSV = 1,
4228}
4229#[repr(u32)]
4230#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4231pub enum cudaResourceType {
4232    cudaResourceTypeArray = 0,
4233    cudaResourceTypeMipmappedArray = 1,
4234    cudaResourceTypeLinear = 2,
4235    cudaResourceTypePitch2D = 3,
4236}
4237#[repr(u32)]
4238#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4239pub enum cudaResourceViewFormat {
4240    cudaResViewFormatNone = 0,
4241    cudaResViewFormatUnsignedChar1 = 1,
4242    cudaResViewFormatUnsignedChar2 = 2,
4243    cudaResViewFormatUnsignedChar4 = 3,
4244    cudaResViewFormatSignedChar1 = 4,
4245    cudaResViewFormatSignedChar2 = 5,
4246    cudaResViewFormatSignedChar4 = 6,
4247    cudaResViewFormatUnsignedShort1 = 7,
4248    cudaResViewFormatUnsignedShort2 = 8,
4249    cudaResViewFormatUnsignedShort4 = 9,
4250    cudaResViewFormatSignedShort1 = 10,
4251    cudaResViewFormatSignedShort2 = 11,
4252    cudaResViewFormatSignedShort4 = 12,
4253    cudaResViewFormatUnsignedInt1 = 13,
4254    cudaResViewFormatUnsignedInt2 = 14,
4255    cudaResViewFormatUnsignedInt4 = 15,
4256    cudaResViewFormatSignedInt1 = 16,
4257    cudaResViewFormatSignedInt2 = 17,
4258    cudaResViewFormatSignedInt4 = 18,
4259    cudaResViewFormatHalf1 = 19,
4260    cudaResViewFormatHalf2 = 20,
4261    cudaResViewFormatHalf4 = 21,
4262    cudaResViewFormatFloat1 = 22,
4263    cudaResViewFormatFloat2 = 23,
4264    cudaResViewFormatFloat4 = 24,
4265    cudaResViewFormatUnsignedBlockCompressed1 = 25,
4266    cudaResViewFormatUnsignedBlockCompressed2 = 26,
4267    cudaResViewFormatUnsignedBlockCompressed3 = 27,
4268    cudaResViewFormatUnsignedBlockCompressed4 = 28,
4269    cudaResViewFormatSignedBlockCompressed4 = 29,
4270    cudaResViewFormatUnsignedBlockCompressed5 = 30,
4271    cudaResViewFormatSignedBlockCompressed5 = 31,
4272    cudaResViewFormatUnsignedBlockCompressed6H = 32,
4273    cudaResViewFormatSignedBlockCompressed6H = 33,
4274    cudaResViewFormatUnsignedBlockCompressed7 = 34,
4275}
4276#[repr(u32)]
4277#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4278pub enum cudaRoundMode {
4279    cudaRoundNearest = 0,
4280    cudaRoundZero = 1,
4281    cudaRoundPosInf = 2,
4282    cudaRoundMinInf = 3,
4283}
4284#[repr(i32)]
4285#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4286pub enum cudaSharedCarveout {
4287    cudaSharedmemCarveoutDefault = -1,
4288    cudaSharedmemCarveoutMaxShared = 100,
4289    cudaSharedmemCarveoutMaxL1 = 0,
4290}
4291#[repr(u32)]
4292#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4293pub enum cudaSharedMemConfig {
4294    cudaSharedMemBankSizeDefault = 0,
4295    cudaSharedMemBankSizeFourByte = 1,
4296    cudaSharedMemBankSizeEightByte = 2,
4297}
4298#[cfg(any(
4299    feature = "cuda-11040",
4300    feature = "cuda-11050",
4301    feature = "cuda-11060",
4302    feature = "cuda-11070"
4303))]
4304#[repr(u32)]
4305#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4306pub enum cudaStreamAttrID {
4307    cudaStreamAttributeAccessPolicyWindow = 1,
4308    cudaStreamAttributeSynchronizationPolicy = 3,
4309}
4310#[repr(u32)]
4311#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4312pub enum cudaStreamCaptureMode {
4313    cudaStreamCaptureModeGlobal = 0,
4314    cudaStreamCaptureModeThreadLocal = 1,
4315    cudaStreamCaptureModeRelaxed = 2,
4316}
4317#[repr(u32)]
4318#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4319pub enum cudaStreamCaptureStatus {
4320    cudaStreamCaptureStatusNone = 0,
4321    cudaStreamCaptureStatusActive = 1,
4322    cudaStreamCaptureStatusInvalidated = 2,
4323}
4324#[repr(u32)]
4325#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4326pub enum cudaStreamUpdateCaptureDependenciesFlags {
4327    cudaStreamAddCaptureDependencies = 0,
4328    cudaStreamSetCaptureDependencies = 1,
4329}
4330#[repr(u32)]
4331#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4332pub enum cudaSurfaceBoundaryMode {
4333    cudaBoundaryModeZero = 0,
4334    cudaBoundaryModeClamp = 1,
4335    cudaBoundaryModeTrap = 2,
4336}
4337#[repr(u32)]
4338#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4339pub enum cudaSurfaceFormatMode {
4340    cudaFormatModeForced = 0,
4341    cudaFormatModeAuto = 1,
4342}
4343#[repr(u32)]
4344#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4345pub enum cudaSynchronizationPolicy {
4346    cudaSyncPolicyAuto = 1,
4347    cudaSyncPolicySpin = 2,
4348    cudaSyncPolicyYield = 3,
4349    cudaSyncPolicyBlockingSync = 4,
4350}
4351#[repr(u32)]
4352#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4353pub enum cudaTextureAddressMode {
4354    cudaAddressModeWrap = 0,
4355    cudaAddressModeClamp = 1,
4356    cudaAddressModeMirror = 2,
4357    cudaAddressModeBorder = 3,
4358}
4359#[repr(u32)]
4360#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4361pub enum cudaTextureFilterMode {
4362    cudaFilterModePoint = 0,
4363    cudaFilterModeLinear = 1,
4364}
4365#[repr(u32)]
4366#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4367pub enum cudaTextureReadMode {
4368    cudaReadModeElementType = 0,
4369    cudaReadModeNormalizedFloat = 1,
4370}
4371#[repr(u32)]
4372#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4373pub enum cudaUserObjectFlags {
4374    cudaUserObjectNoDestructorSync = 1,
4375}
4376#[repr(u32)]
4377#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4378pub enum cudaUserObjectRetainFlags {
4379    cudaGraphUserObjectMove = 1,
4380}
4381#[repr(C)]
4382#[derive(Debug, Copy, Clone)]
4383pub struct CUevent_st {
4384    _unused: [u8; 0],
4385}
4386#[repr(C)]
4387#[derive(Debug, Copy, Clone)]
4388pub struct CUexternalMemory_st {
4389    _unused: [u8; 0],
4390}
4391#[repr(C)]
4392#[derive(Debug, Copy, Clone)]
4393pub struct CUexternalSemaphore_st {
4394    _unused: [u8; 0],
4395}
4396#[repr(C)]
4397#[derive(Debug, Copy, Clone)]
4398pub struct CUfunc_st {
4399    _unused: [u8; 0],
4400}
4401#[cfg(any(
4402    feature = "cuda-12040",
4403    feature = "cuda-12050",
4404    feature = "cuda-12060",
4405    feature = "cuda-12080",
4406    feature = "cuda-12090",
4407    feature = "cuda-13000"
4408))]
4409#[repr(C)]
4410#[derive(Debug, Copy, Clone)]
4411pub struct CUgraphDeviceUpdatableNode_st {
4412    _unused: [u8; 0],
4413}
4414#[repr(C)]
4415#[derive(Debug, Copy, Clone)]
4416pub struct CUgraphExec_st {
4417    _unused: [u8; 0],
4418}
4419#[repr(C)]
4420#[derive(Debug, Copy, Clone)]
4421pub struct CUgraphNode_st {
4422    _unused: [u8; 0],
4423}
4424#[repr(C)]
4425#[derive(Debug, Copy, Clone)]
4426pub struct CUgraph_st {
4427    _unused: [u8; 0],
4428}
4429#[cfg(any(
4430    feature = "cuda-12010",
4431    feature = "cuda-12020",
4432    feature = "cuda-12030",
4433    feature = "cuda-12040",
4434    feature = "cuda-12050",
4435    feature = "cuda-12060",
4436    feature = "cuda-12080",
4437    feature = "cuda-12090",
4438    feature = "cuda-13000"
4439))]
4440#[repr(C)]
4441#[derive(Debug, Copy, Clone)]
4442pub struct CUkern_st {
4443    _unused: [u8; 0],
4444}
4445#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
4446#[repr(C)]
4447#[derive(Debug, Copy, Clone)]
4448pub struct CUlib_st {
4449    _unused: [u8; 0],
4450}
4451#[cfg(any(feature = "cuda-13000"))]
4452#[repr(C)]
4453#[derive(Debug, Copy, Clone)]
4454pub struct CUlogsCallbackEntry_st {
4455    _unused: [u8; 0],
4456}
4457#[repr(C)]
4458#[derive(Debug, Copy, Clone)]
4459pub struct CUmemPoolHandle_st {
4460    _unused: [u8; 0],
4461}
4462#[repr(C)]
4463#[derive(Debug, Copy, Clone)]
4464pub struct CUstream_st {
4465    _unused: [u8; 0],
4466}
4467#[repr(C)]
4468#[derive(Debug, Copy, Clone)]
4469pub struct CUuserObject_st {
4470    _unused: [u8; 0],
4471}
4472#[repr(C)]
4473#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4474pub struct CUuuid_st {
4475    pub bytes: [::core::ffi::c_char; 16usize],
4476}
4477#[repr(C)]
4478#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
4479pub struct cudaAccessPolicyWindow {
4480    pub base_ptr: *mut ::core::ffi::c_void,
4481    pub num_bytes: usize,
4482    pub hitRatio: f32,
4483    pub hitProp: cudaAccessProperty,
4484    pub missProp: cudaAccessProperty,
4485}
4486#[repr(C)]
4487#[derive(Debug, Copy, Clone)]
4488pub struct cudaArray {
4489    _unused: [u8; 0],
4490}
4491#[cfg(any(
4492    feature = "cuda-11060",
4493    feature = "cuda-11070",
4494    feature = "cuda-11080",
4495    feature = "cuda-12000",
4496    feature = "cuda-12010",
4497    feature = "cuda-12020",
4498    feature = "cuda-12030",
4499    feature = "cuda-12040",
4500    feature = "cuda-12050",
4501    feature = "cuda-12060",
4502    feature = "cuda-12080",
4503    feature = "cuda-12090",
4504    feature = "cuda-13000"
4505))]
4506#[repr(C)]
4507#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4508pub struct cudaArrayMemoryRequirements {
4509    pub size: usize,
4510    pub alignment: usize,
4511    pub reserved: [::core::ffi::c_uint; 4usize],
4512}
4513#[repr(C)]
4514#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4515pub struct cudaArraySparseProperties {
4516    pub tileExtent: cudaArraySparseProperties__bindgen_ty_1,
4517    pub miptailFirstLevel: ::core::ffi::c_uint,
4518    pub miptailSize: ::core::ffi::c_ulonglong,
4519    pub flags: ::core::ffi::c_uint,
4520    pub reserved: [::core::ffi::c_uint; 4usize],
4521}
4522#[repr(C)]
4523#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4524pub struct cudaArraySparseProperties__bindgen_ty_1 {
4525    pub width: ::core::ffi::c_uint,
4526    pub height: ::core::ffi::c_uint,
4527    pub depth: ::core::ffi::c_uint,
4528}
4529#[cfg(any(
4530    feature = "cuda-12040",
4531    feature = "cuda-12050",
4532    feature = "cuda-12060",
4533    feature = "cuda-12080",
4534    feature = "cuda-12090",
4535    feature = "cuda-13000"
4536))]
4537#[repr(C)]
4538#[derive(Debug, Copy, Clone)]
4539pub struct cudaAsyncCallbackEntry {
4540    _unused: [u8; 0],
4541}
4542#[cfg(any(
4543    feature = "cuda-12040",
4544    feature = "cuda-12050",
4545    feature = "cuda-12060",
4546    feature = "cuda-12080",
4547    feature = "cuda-12090",
4548    feature = "cuda-13000"
4549))]
4550#[repr(C)]
4551#[derive(Copy, Clone)]
4552pub struct cudaAsyncNotificationInfo {
4553    pub type_: cudaAsyncNotificationType,
4554    pub info: cudaAsyncNotificationInfo__bindgen_ty_1,
4555}
4556#[cfg(any(
4557    feature = "cuda-12040",
4558    feature = "cuda-12050",
4559    feature = "cuda-12060",
4560    feature = "cuda-12080",
4561    feature = "cuda-12090",
4562    feature = "cuda-13000"
4563))]
4564#[repr(C)]
4565#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4566pub struct cudaAsyncNotificationInfo__bindgen_ty_1__bindgen_ty_1 {
4567    pub bytesOverBudget: ::core::ffi::c_ulonglong,
4568}
4569#[repr(C)]
4570#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4571pub struct cudaChannelFormatDesc {
4572    pub x: ::core::ffi::c_int,
4573    pub y: ::core::ffi::c_int,
4574    pub z: ::core::ffi::c_int,
4575    pub w: ::core::ffi::c_int,
4576    pub f: cudaChannelFormatKind,
4577}
4578#[cfg(any(
4579    feature = "cuda-12020",
4580    feature = "cuda-12030",
4581    feature = "cuda-12040",
4582    feature = "cuda-12050",
4583    feature = "cuda-12060",
4584    feature = "cuda-12080"
4585))]
4586#[repr(C)]
4587#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4588pub struct cudaChildGraphNodeParams {
4589    pub graph: cudaGraph_t,
4590}
4591#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
4592#[repr(C)]
4593#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4594pub struct cudaChildGraphNodeParams {
4595    pub graph: cudaGraph_t,
4596    pub ownership: cudaGraphChildGraphNodeOwnership,
4597}
4598#[cfg(any(
4599    feature = "cuda-12030",
4600    feature = "cuda-12040",
4601    feature = "cuda-12050",
4602    feature = "cuda-12060",
4603    feature = "cuda-12080",
4604    feature = "cuda-12090",
4605    feature = "cuda-13000"
4606))]
4607#[repr(C)]
4608#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4609pub struct cudaConditionalNodeParams {
4610    pub handle: cudaGraphConditionalHandle,
4611    pub type_: cudaGraphConditionalNodeType,
4612    pub size: ::core::ffi::c_uint,
4613    pub phGraph_out: *mut cudaGraph_t,
4614}
4615#[cfg(any(
4616    feature = "cuda-11040",
4617    feature = "cuda-11050",
4618    feature = "cuda-11060",
4619    feature = "cuda-11070",
4620    feature = "cuda-11080"
4621))]
4622#[repr(C)]
4623#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4624pub struct cudaDeviceProp {
4625    pub name: [::core::ffi::c_char; 256usize],
4626    pub uuid: cudaUUID_t,
4627    pub luid: [::core::ffi::c_char; 8usize],
4628    pub luidDeviceNodeMask: ::core::ffi::c_uint,
4629    pub totalGlobalMem: usize,
4630    pub sharedMemPerBlock: usize,
4631    pub regsPerBlock: ::core::ffi::c_int,
4632    pub warpSize: ::core::ffi::c_int,
4633    pub memPitch: usize,
4634    pub maxThreadsPerBlock: ::core::ffi::c_int,
4635    pub maxThreadsDim: [::core::ffi::c_int; 3usize],
4636    pub maxGridSize: [::core::ffi::c_int; 3usize],
4637    pub clockRate: ::core::ffi::c_int,
4638    pub totalConstMem: usize,
4639    pub major: ::core::ffi::c_int,
4640    pub minor: ::core::ffi::c_int,
4641    pub textureAlignment: usize,
4642    pub texturePitchAlignment: usize,
4643    pub deviceOverlap: ::core::ffi::c_int,
4644    pub multiProcessorCount: ::core::ffi::c_int,
4645    pub kernelExecTimeoutEnabled: ::core::ffi::c_int,
4646    pub integrated: ::core::ffi::c_int,
4647    pub canMapHostMemory: ::core::ffi::c_int,
4648    pub computeMode: ::core::ffi::c_int,
4649    pub maxTexture1D: ::core::ffi::c_int,
4650    pub maxTexture1DMipmap: ::core::ffi::c_int,
4651    pub maxTexture1DLinear: ::core::ffi::c_int,
4652    pub maxTexture2D: [::core::ffi::c_int; 2usize],
4653    pub maxTexture2DMipmap: [::core::ffi::c_int; 2usize],
4654    pub maxTexture2DLinear: [::core::ffi::c_int; 3usize],
4655    pub maxTexture2DGather: [::core::ffi::c_int; 2usize],
4656    pub maxTexture3D: [::core::ffi::c_int; 3usize],
4657    pub maxTexture3DAlt: [::core::ffi::c_int; 3usize],
4658    pub maxTextureCubemap: ::core::ffi::c_int,
4659    pub maxTexture1DLayered: [::core::ffi::c_int; 2usize],
4660    pub maxTexture2DLayered: [::core::ffi::c_int; 3usize],
4661    pub maxTextureCubemapLayered: [::core::ffi::c_int; 2usize],
4662    pub maxSurface1D: ::core::ffi::c_int,
4663    pub maxSurface2D: [::core::ffi::c_int; 2usize],
4664    pub maxSurface3D: [::core::ffi::c_int; 3usize],
4665    pub maxSurface1DLayered: [::core::ffi::c_int; 2usize],
4666    pub maxSurface2DLayered: [::core::ffi::c_int; 3usize],
4667    pub maxSurfaceCubemap: ::core::ffi::c_int,
4668    pub maxSurfaceCubemapLayered: [::core::ffi::c_int; 2usize],
4669    pub surfaceAlignment: usize,
4670    pub concurrentKernels: ::core::ffi::c_int,
4671    pub ECCEnabled: ::core::ffi::c_int,
4672    pub pciBusID: ::core::ffi::c_int,
4673    pub pciDeviceID: ::core::ffi::c_int,
4674    pub pciDomainID: ::core::ffi::c_int,
4675    pub tccDriver: ::core::ffi::c_int,
4676    pub asyncEngineCount: ::core::ffi::c_int,
4677    pub unifiedAddressing: ::core::ffi::c_int,
4678    pub memoryClockRate: ::core::ffi::c_int,
4679    pub memoryBusWidth: ::core::ffi::c_int,
4680    pub l2CacheSize: ::core::ffi::c_int,
4681    pub persistingL2CacheMaxSize: ::core::ffi::c_int,
4682    pub maxThreadsPerMultiProcessor: ::core::ffi::c_int,
4683    pub streamPrioritiesSupported: ::core::ffi::c_int,
4684    pub globalL1CacheSupported: ::core::ffi::c_int,
4685    pub localL1CacheSupported: ::core::ffi::c_int,
4686    pub sharedMemPerMultiprocessor: usize,
4687    pub regsPerMultiprocessor: ::core::ffi::c_int,
4688    pub managedMemory: ::core::ffi::c_int,
4689    pub isMultiGpuBoard: ::core::ffi::c_int,
4690    pub multiGpuBoardGroupID: ::core::ffi::c_int,
4691    pub hostNativeAtomicSupported: ::core::ffi::c_int,
4692    pub singleToDoublePrecisionPerfRatio: ::core::ffi::c_int,
4693    pub pageableMemoryAccess: ::core::ffi::c_int,
4694    pub concurrentManagedAccess: ::core::ffi::c_int,
4695    pub computePreemptionSupported: ::core::ffi::c_int,
4696    pub canUseHostPointerForRegisteredMem: ::core::ffi::c_int,
4697    pub cooperativeLaunch: ::core::ffi::c_int,
4698    pub cooperativeMultiDeviceLaunch: ::core::ffi::c_int,
4699    pub sharedMemPerBlockOptin: usize,
4700    pub pageableMemoryAccessUsesHostPageTables: ::core::ffi::c_int,
4701    pub directManagedMemAccessFromHost: ::core::ffi::c_int,
4702    pub maxBlocksPerMultiProcessor: ::core::ffi::c_int,
4703    pub accessPolicyMaxWindowSize: ::core::ffi::c_int,
4704    pub reservedSharedMemPerBlock: usize,
4705}
4706#[cfg(any(feature = "cuda-12000"))]
4707#[repr(C)]
4708#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4709pub struct cudaDeviceProp {
4710    pub name: [::core::ffi::c_char; 256usize],
4711    pub uuid: cudaUUID_t,
4712    pub luid: [::core::ffi::c_char; 8usize],
4713    pub luidDeviceNodeMask: ::core::ffi::c_uint,
4714    pub totalGlobalMem: usize,
4715    pub sharedMemPerBlock: usize,
4716    pub regsPerBlock: ::core::ffi::c_int,
4717    pub warpSize: ::core::ffi::c_int,
4718    pub memPitch: usize,
4719    pub maxThreadsPerBlock: ::core::ffi::c_int,
4720    pub maxThreadsDim: [::core::ffi::c_int; 3usize],
4721    pub maxGridSize: [::core::ffi::c_int; 3usize],
4722    pub clockRate: ::core::ffi::c_int,
4723    pub totalConstMem: usize,
4724    pub major: ::core::ffi::c_int,
4725    pub minor: ::core::ffi::c_int,
4726    pub textureAlignment: usize,
4727    pub texturePitchAlignment: usize,
4728    pub deviceOverlap: ::core::ffi::c_int,
4729    pub multiProcessorCount: ::core::ffi::c_int,
4730    pub kernelExecTimeoutEnabled: ::core::ffi::c_int,
4731    pub integrated: ::core::ffi::c_int,
4732    pub canMapHostMemory: ::core::ffi::c_int,
4733    pub computeMode: ::core::ffi::c_int,
4734    pub maxTexture1D: ::core::ffi::c_int,
4735    pub maxTexture1DMipmap: ::core::ffi::c_int,
4736    pub maxTexture1DLinear: ::core::ffi::c_int,
4737    pub maxTexture2D: [::core::ffi::c_int; 2usize],
4738    pub maxTexture2DMipmap: [::core::ffi::c_int; 2usize],
4739    pub maxTexture2DLinear: [::core::ffi::c_int; 3usize],
4740    pub maxTexture2DGather: [::core::ffi::c_int; 2usize],
4741    pub maxTexture3D: [::core::ffi::c_int; 3usize],
4742    pub maxTexture3DAlt: [::core::ffi::c_int; 3usize],
4743    pub maxTextureCubemap: ::core::ffi::c_int,
4744    pub maxTexture1DLayered: [::core::ffi::c_int; 2usize],
4745    pub maxTexture2DLayered: [::core::ffi::c_int; 3usize],
4746    pub maxTextureCubemapLayered: [::core::ffi::c_int; 2usize],
4747    pub maxSurface1D: ::core::ffi::c_int,
4748    pub maxSurface2D: [::core::ffi::c_int; 2usize],
4749    pub maxSurface3D: [::core::ffi::c_int; 3usize],
4750    pub maxSurface1DLayered: [::core::ffi::c_int; 2usize],
4751    pub maxSurface2DLayered: [::core::ffi::c_int; 3usize],
4752    pub maxSurfaceCubemap: ::core::ffi::c_int,
4753    pub maxSurfaceCubemapLayered: [::core::ffi::c_int; 2usize],
4754    pub surfaceAlignment: usize,
4755    pub concurrentKernels: ::core::ffi::c_int,
4756    pub ECCEnabled: ::core::ffi::c_int,
4757    pub pciBusID: ::core::ffi::c_int,
4758    pub pciDeviceID: ::core::ffi::c_int,
4759    pub pciDomainID: ::core::ffi::c_int,
4760    pub tccDriver: ::core::ffi::c_int,
4761    pub asyncEngineCount: ::core::ffi::c_int,
4762    pub unifiedAddressing: ::core::ffi::c_int,
4763    pub memoryClockRate: ::core::ffi::c_int,
4764    pub memoryBusWidth: ::core::ffi::c_int,
4765    pub l2CacheSize: ::core::ffi::c_int,
4766    pub persistingL2CacheMaxSize: ::core::ffi::c_int,
4767    pub maxThreadsPerMultiProcessor: ::core::ffi::c_int,
4768    pub streamPrioritiesSupported: ::core::ffi::c_int,
4769    pub globalL1CacheSupported: ::core::ffi::c_int,
4770    pub localL1CacheSupported: ::core::ffi::c_int,
4771    pub sharedMemPerMultiprocessor: usize,
4772    pub regsPerMultiprocessor: ::core::ffi::c_int,
4773    pub managedMemory: ::core::ffi::c_int,
4774    pub isMultiGpuBoard: ::core::ffi::c_int,
4775    pub multiGpuBoardGroupID: ::core::ffi::c_int,
4776    pub hostNativeAtomicSupported: ::core::ffi::c_int,
4777    pub singleToDoublePrecisionPerfRatio: ::core::ffi::c_int,
4778    pub pageableMemoryAccess: ::core::ffi::c_int,
4779    pub concurrentManagedAccess: ::core::ffi::c_int,
4780    pub computePreemptionSupported: ::core::ffi::c_int,
4781    pub canUseHostPointerForRegisteredMem: ::core::ffi::c_int,
4782    pub cooperativeLaunch: ::core::ffi::c_int,
4783    pub cooperativeMultiDeviceLaunch: ::core::ffi::c_int,
4784    pub sharedMemPerBlockOptin: usize,
4785    pub pageableMemoryAccessUsesHostPageTables: ::core::ffi::c_int,
4786    pub directManagedMemAccessFromHost: ::core::ffi::c_int,
4787    pub maxBlocksPerMultiProcessor: ::core::ffi::c_int,
4788    pub accessPolicyMaxWindowSize: ::core::ffi::c_int,
4789    pub reservedSharedMemPerBlock: usize,
4790    pub hostRegisterSupported: ::core::ffi::c_int,
4791    pub sparseCudaArraySupported: ::core::ffi::c_int,
4792    pub hostRegisterReadOnlySupported: ::core::ffi::c_int,
4793    pub timelineSemaphoreInteropSupported: ::core::ffi::c_int,
4794    pub memoryPoolsSupported: ::core::ffi::c_int,
4795    pub gpuDirectRDMASupported: ::core::ffi::c_int,
4796    pub gpuDirectRDMAFlushWritesOptions: ::core::ffi::c_uint,
4797    pub gpuDirectRDMAWritesOrdering: ::core::ffi::c_int,
4798    pub memoryPoolSupportedHandleTypes: ::core::ffi::c_uint,
4799    pub deferredMappingCudaArraySupported: ::core::ffi::c_int,
4800    pub ipcEventSupported: ::core::ffi::c_int,
4801    pub clusterLaunch: ::core::ffi::c_int,
4802    pub unifiedFunctionPointers: ::core::ffi::c_int,
4803    pub reserved: [::core::ffi::c_int; 63usize],
4804}
4805#[cfg(any(feature = "cuda-12010", feature = "cuda-12020"))]
4806#[repr(C)]
4807#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4808pub struct cudaDeviceProp {
4809    pub name: [::core::ffi::c_char; 256usize],
4810    pub uuid: cudaUUID_t,
4811    pub luid: [::core::ffi::c_char; 8usize],
4812    pub luidDeviceNodeMask: ::core::ffi::c_uint,
4813    pub totalGlobalMem: usize,
4814    pub sharedMemPerBlock: usize,
4815    pub regsPerBlock: ::core::ffi::c_int,
4816    pub warpSize: ::core::ffi::c_int,
4817    pub memPitch: usize,
4818    pub maxThreadsPerBlock: ::core::ffi::c_int,
4819    pub maxThreadsDim: [::core::ffi::c_int; 3usize],
4820    pub maxGridSize: [::core::ffi::c_int; 3usize],
4821    pub clockRate: ::core::ffi::c_int,
4822    pub totalConstMem: usize,
4823    pub major: ::core::ffi::c_int,
4824    pub minor: ::core::ffi::c_int,
4825    pub textureAlignment: usize,
4826    pub texturePitchAlignment: usize,
4827    pub deviceOverlap: ::core::ffi::c_int,
4828    pub multiProcessorCount: ::core::ffi::c_int,
4829    pub kernelExecTimeoutEnabled: ::core::ffi::c_int,
4830    pub integrated: ::core::ffi::c_int,
4831    pub canMapHostMemory: ::core::ffi::c_int,
4832    pub computeMode: ::core::ffi::c_int,
4833    pub maxTexture1D: ::core::ffi::c_int,
4834    pub maxTexture1DMipmap: ::core::ffi::c_int,
4835    pub maxTexture1DLinear: ::core::ffi::c_int,
4836    pub maxTexture2D: [::core::ffi::c_int; 2usize],
4837    pub maxTexture2DMipmap: [::core::ffi::c_int; 2usize],
4838    pub maxTexture2DLinear: [::core::ffi::c_int; 3usize],
4839    pub maxTexture2DGather: [::core::ffi::c_int; 2usize],
4840    pub maxTexture3D: [::core::ffi::c_int; 3usize],
4841    pub maxTexture3DAlt: [::core::ffi::c_int; 3usize],
4842    pub maxTextureCubemap: ::core::ffi::c_int,
4843    pub maxTexture1DLayered: [::core::ffi::c_int; 2usize],
4844    pub maxTexture2DLayered: [::core::ffi::c_int; 3usize],
4845    pub maxTextureCubemapLayered: [::core::ffi::c_int; 2usize],
4846    pub maxSurface1D: ::core::ffi::c_int,
4847    pub maxSurface2D: [::core::ffi::c_int; 2usize],
4848    pub maxSurface3D: [::core::ffi::c_int; 3usize],
4849    pub maxSurface1DLayered: [::core::ffi::c_int; 2usize],
4850    pub maxSurface2DLayered: [::core::ffi::c_int; 3usize],
4851    pub maxSurfaceCubemap: ::core::ffi::c_int,
4852    pub maxSurfaceCubemapLayered: [::core::ffi::c_int; 2usize],
4853    pub surfaceAlignment: usize,
4854    pub concurrentKernels: ::core::ffi::c_int,
4855    pub ECCEnabled: ::core::ffi::c_int,
4856    pub pciBusID: ::core::ffi::c_int,
4857    pub pciDeviceID: ::core::ffi::c_int,
4858    pub pciDomainID: ::core::ffi::c_int,
4859    pub tccDriver: ::core::ffi::c_int,
4860    pub asyncEngineCount: ::core::ffi::c_int,
4861    pub unifiedAddressing: ::core::ffi::c_int,
4862    pub memoryClockRate: ::core::ffi::c_int,
4863    pub memoryBusWidth: ::core::ffi::c_int,
4864    pub l2CacheSize: ::core::ffi::c_int,
4865    pub persistingL2CacheMaxSize: ::core::ffi::c_int,
4866    pub maxThreadsPerMultiProcessor: ::core::ffi::c_int,
4867    pub streamPrioritiesSupported: ::core::ffi::c_int,
4868    pub globalL1CacheSupported: ::core::ffi::c_int,
4869    pub localL1CacheSupported: ::core::ffi::c_int,
4870    pub sharedMemPerMultiprocessor: usize,
4871    pub regsPerMultiprocessor: ::core::ffi::c_int,
4872    pub managedMemory: ::core::ffi::c_int,
4873    pub isMultiGpuBoard: ::core::ffi::c_int,
4874    pub multiGpuBoardGroupID: ::core::ffi::c_int,
4875    pub hostNativeAtomicSupported: ::core::ffi::c_int,
4876    pub singleToDoublePrecisionPerfRatio: ::core::ffi::c_int,
4877    pub pageableMemoryAccess: ::core::ffi::c_int,
4878    pub concurrentManagedAccess: ::core::ffi::c_int,
4879    pub computePreemptionSupported: ::core::ffi::c_int,
4880    pub canUseHostPointerForRegisteredMem: ::core::ffi::c_int,
4881    pub cooperativeLaunch: ::core::ffi::c_int,
4882    pub cooperativeMultiDeviceLaunch: ::core::ffi::c_int,
4883    pub sharedMemPerBlockOptin: usize,
4884    pub pageableMemoryAccessUsesHostPageTables: ::core::ffi::c_int,
4885    pub directManagedMemAccessFromHost: ::core::ffi::c_int,
4886    pub maxBlocksPerMultiProcessor: ::core::ffi::c_int,
4887    pub accessPolicyMaxWindowSize: ::core::ffi::c_int,
4888    pub reservedSharedMemPerBlock: usize,
4889    pub hostRegisterSupported: ::core::ffi::c_int,
4890    pub sparseCudaArraySupported: ::core::ffi::c_int,
4891    pub hostRegisterReadOnlySupported: ::core::ffi::c_int,
4892    pub timelineSemaphoreInteropSupported: ::core::ffi::c_int,
4893    pub memoryPoolsSupported: ::core::ffi::c_int,
4894    pub gpuDirectRDMASupported: ::core::ffi::c_int,
4895    pub gpuDirectRDMAFlushWritesOptions: ::core::ffi::c_uint,
4896    pub gpuDirectRDMAWritesOrdering: ::core::ffi::c_int,
4897    pub memoryPoolSupportedHandleTypes: ::core::ffi::c_uint,
4898    pub deferredMappingCudaArraySupported: ::core::ffi::c_int,
4899    pub ipcEventSupported: ::core::ffi::c_int,
4900    pub clusterLaunch: ::core::ffi::c_int,
4901    pub unifiedFunctionPointers: ::core::ffi::c_int,
4902    pub reserved2: [::core::ffi::c_int; 2usize],
4903    pub reserved: [::core::ffi::c_int; 61usize],
4904}
4905#[cfg(any(
4906    feature = "cuda-12030",
4907    feature = "cuda-12040",
4908    feature = "cuda-12050",
4909    feature = "cuda-12060"
4910))]
4911#[repr(C)]
4912#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4913pub struct cudaDeviceProp {
4914    pub name: [::core::ffi::c_char; 256usize],
4915    pub uuid: cudaUUID_t,
4916    pub luid: [::core::ffi::c_char; 8usize],
4917    pub luidDeviceNodeMask: ::core::ffi::c_uint,
4918    pub totalGlobalMem: usize,
4919    pub sharedMemPerBlock: usize,
4920    pub regsPerBlock: ::core::ffi::c_int,
4921    pub warpSize: ::core::ffi::c_int,
4922    pub memPitch: usize,
4923    pub maxThreadsPerBlock: ::core::ffi::c_int,
4924    pub maxThreadsDim: [::core::ffi::c_int; 3usize],
4925    pub maxGridSize: [::core::ffi::c_int; 3usize],
4926    pub clockRate: ::core::ffi::c_int,
4927    pub totalConstMem: usize,
4928    pub major: ::core::ffi::c_int,
4929    pub minor: ::core::ffi::c_int,
4930    pub textureAlignment: usize,
4931    pub texturePitchAlignment: usize,
4932    pub deviceOverlap: ::core::ffi::c_int,
4933    pub multiProcessorCount: ::core::ffi::c_int,
4934    pub kernelExecTimeoutEnabled: ::core::ffi::c_int,
4935    pub integrated: ::core::ffi::c_int,
4936    pub canMapHostMemory: ::core::ffi::c_int,
4937    pub computeMode: ::core::ffi::c_int,
4938    pub maxTexture1D: ::core::ffi::c_int,
4939    pub maxTexture1DMipmap: ::core::ffi::c_int,
4940    pub maxTexture1DLinear: ::core::ffi::c_int,
4941    pub maxTexture2D: [::core::ffi::c_int; 2usize],
4942    pub maxTexture2DMipmap: [::core::ffi::c_int; 2usize],
4943    pub maxTexture2DLinear: [::core::ffi::c_int; 3usize],
4944    pub maxTexture2DGather: [::core::ffi::c_int; 2usize],
4945    pub maxTexture3D: [::core::ffi::c_int; 3usize],
4946    pub maxTexture3DAlt: [::core::ffi::c_int; 3usize],
4947    pub maxTextureCubemap: ::core::ffi::c_int,
4948    pub maxTexture1DLayered: [::core::ffi::c_int; 2usize],
4949    pub maxTexture2DLayered: [::core::ffi::c_int; 3usize],
4950    pub maxTextureCubemapLayered: [::core::ffi::c_int; 2usize],
4951    pub maxSurface1D: ::core::ffi::c_int,
4952    pub maxSurface2D: [::core::ffi::c_int; 2usize],
4953    pub maxSurface3D: [::core::ffi::c_int; 3usize],
4954    pub maxSurface1DLayered: [::core::ffi::c_int; 2usize],
4955    pub maxSurface2DLayered: [::core::ffi::c_int; 3usize],
4956    pub maxSurfaceCubemap: ::core::ffi::c_int,
4957    pub maxSurfaceCubemapLayered: [::core::ffi::c_int; 2usize],
4958    pub surfaceAlignment: usize,
4959    pub concurrentKernels: ::core::ffi::c_int,
4960    pub ECCEnabled: ::core::ffi::c_int,
4961    pub pciBusID: ::core::ffi::c_int,
4962    pub pciDeviceID: ::core::ffi::c_int,
4963    pub pciDomainID: ::core::ffi::c_int,
4964    pub tccDriver: ::core::ffi::c_int,
4965    pub asyncEngineCount: ::core::ffi::c_int,
4966    pub unifiedAddressing: ::core::ffi::c_int,
4967    pub memoryClockRate: ::core::ffi::c_int,
4968    pub memoryBusWidth: ::core::ffi::c_int,
4969    pub l2CacheSize: ::core::ffi::c_int,
4970    pub persistingL2CacheMaxSize: ::core::ffi::c_int,
4971    pub maxThreadsPerMultiProcessor: ::core::ffi::c_int,
4972    pub streamPrioritiesSupported: ::core::ffi::c_int,
4973    pub globalL1CacheSupported: ::core::ffi::c_int,
4974    pub localL1CacheSupported: ::core::ffi::c_int,
4975    pub sharedMemPerMultiprocessor: usize,
4976    pub regsPerMultiprocessor: ::core::ffi::c_int,
4977    pub managedMemory: ::core::ffi::c_int,
4978    pub isMultiGpuBoard: ::core::ffi::c_int,
4979    pub multiGpuBoardGroupID: ::core::ffi::c_int,
4980    pub hostNativeAtomicSupported: ::core::ffi::c_int,
4981    pub singleToDoublePrecisionPerfRatio: ::core::ffi::c_int,
4982    pub pageableMemoryAccess: ::core::ffi::c_int,
4983    pub concurrentManagedAccess: ::core::ffi::c_int,
4984    pub computePreemptionSupported: ::core::ffi::c_int,
4985    pub canUseHostPointerForRegisteredMem: ::core::ffi::c_int,
4986    pub cooperativeLaunch: ::core::ffi::c_int,
4987    pub cooperativeMultiDeviceLaunch: ::core::ffi::c_int,
4988    pub sharedMemPerBlockOptin: usize,
4989    pub pageableMemoryAccessUsesHostPageTables: ::core::ffi::c_int,
4990    pub directManagedMemAccessFromHost: ::core::ffi::c_int,
4991    pub maxBlocksPerMultiProcessor: ::core::ffi::c_int,
4992    pub accessPolicyMaxWindowSize: ::core::ffi::c_int,
4993    pub reservedSharedMemPerBlock: usize,
4994    pub hostRegisterSupported: ::core::ffi::c_int,
4995    pub sparseCudaArraySupported: ::core::ffi::c_int,
4996    pub hostRegisterReadOnlySupported: ::core::ffi::c_int,
4997    pub timelineSemaphoreInteropSupported: ::core::ffi::c_int,
4998    pub memoryPoolsSupported: ::core::ffi::c_int,
4999    pub gpuDirectRDMASupported: ::core::ffi::c_int,
5000    pub gpuDirectRDMAFlushWritesOptions: ::core::ffi::c_uint,
5001    pub gpuDirectRDMAWritesOrdering: ::core::ffi::c_int,
5002    pub memoryPoolSupportedHandleTypes: ::core::ffi::c_uint,
5003    pub deferredMappingCudaArraySupported: ::core::ffi::c_int,
5004    pub ipcEventSupported: ::core::ffi::c_int,
5005    pub clusterLaunch: ::core::ffi::c_int,
5006    pub unifiedFunctionPointers: ::core::ffi::c_int,
5007    pub reserved2: [::core::ffi::c_int; 2usize],
5008    pub reserved1: [::core::ffi::c_int; 1usize],
5009    pub reserved: [::core::ffi::c_int; 60usize],
5010}
5011#[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
5012#[repr(C)]
5013#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5014pub struct cudaDeviceProp {
5015    pub name: [::core::ffi::c_char; 256usize],
5016    pub uuid: cudaUUID_t,
5017    pub luid: [::core::ffi::c_char; 8usize],
5018    pub luidDeviceNodeMask: ::core::ffi::c_uint,
5019    pub totalGlobalMem: usize,
5020    pub sharedMemPerBlock: usize,
5021    pub regsPerBlock: ::core::ffi::c_int,
5022    pub warpSize: ::core::ffi::c_int,
5023    pub memPitch: usize,
5024    pub maxThreadsPerBlock: ::core::ffi::c_int,
5025    pub maxThreadsDim: [::core::ffi::c_int; 3usize],
5026    pub maxGridSize: [::core::ffi::c_int; 3usize],
5027    pub clockRate: ::core::ffi::c_int,
5028    pub totalConstMem: usize,
5029    pub major: ::core::ffi::c_int,
5030    pub minor: ::core::ffi::c_int,
5031    pub textureAlignment: usize,
5032    pub texturePitchAlignment: usize,
5033    pub deviceOverlap: ::core::ffi::c_int,
5034    pub multiProcessorCount: ::core::ffi::c_int,
5035    pub kernelExecTimeoutEnabled: ::core::ffi::c_int,
5036    pub integrated: ::core::ffi::c_int,
5037    pub canMapHostMemory: ::core::ffi::c_int,
5038    pub computeMode: ::core::ffi::c_int,
5039    pub maxTexture1D: ::core::ffi::c_int,
5040    pub maxTexture1DMipmap: ::core::ffi::c_int,
5041    pub maxTexture1DLinear: ::core::ffi::c_int,
5042    pub maxTexture2D: [::core::ffi::c_int; 2usize],
5043    pub maxTexture2DMipmap: [::core::ffi::c_int; 2usize],
5044    pub maxTexture2DLinear: [::core::ffi::c_int; 3usize],
5045    pub maxTexture2DGather: [::core::ffi::c_int; 2usize],
5046    pub maxTexture3D: [::core::ffi::c_int; 3usize],
5047    pub maxTexture3DAlt: [::core::ffi::c_int; 3usize],
5048    pub maxTextureCubemap: ::core::ffi::c_int,
5049    pub maxTexture1DLayered: [::core::ffi::c_int; 2usize],
5050    pub maxTexture2DLayered: [::core::ffi::c_int; 3usize],
5051    pub maxTextureCubemapLayered: [::core::ffi::c_int; 2usize],
5052    pub maxSurface1D: ::core::ffi::c_int,
5053    pub maxSurface2D: [::core::ffi::c_int; 2usize],
5054    pub maxSurface3D: [::core::ffi::c_int; 3usize],
5055    pub maxSurface1DLayered: [::core::ffi::c_int; 2usize],
5056    pub maxSurface2DLayered: [::core::ffi::c_int; 3usize],
5057    pub maxSurfaceCubemap: ::core::ffi::c_int,
5058    pub maxSurfaceCubemapLayered: [::core::ffi::c_int; 2usize],
5059    pub surfaceAlignment: usize,
5060    pub concurrentKernels: ::core::ffi::c_int,
5061    pub ECCEnabled: ::core::ffi::c_int,
5062    pub pciBusID: ::core::ffi::c_int,
5063    pub pciDeviceID: ::core::ffi::c_int,
5064    pub pciDomainID: ::core::ffi::c_int,
5065    pub tccDriver: ::core::ffi::c_int,
5066    pub asyncEngineCount: ::core::ffi::c_int,
5067    pub unifiedAddressing: ::core::ffi::c_int,
5068    pub memoryClockRate: ::core::ffi::c_int,
5069    pub memoryBusWidth: ::core::ffi::c_int,
5070    pub l2CacheSize: ::core::ffi::c_int,
5071    pub persistingL2CacheMaxSize: ::core::ffi::c_int,
5072    pub maxThreadsPerMultiProcessor: ::core::ffi::c_int,
5073    pub streamPrioritiesSupported: ::core::ffi::c_int,
5074    pub globalL1CacheSupported: ::core::ffi::c_int,
5075    pub localL1CacheSupported: ::core::ffi::c_int,
5076    pub sharedMemPerMultiprocessor: usize,
5077    pub regsPerMultiprocessor: ::core::ffi::c_int,
5078    pub managedMemory: ::core::ffi::c_int,
5079    pub isMultiGpuBoard: ::core::ffi::c_int,
5080    pub multiGpuBoardGroupID: ::core::ffi::c_int,
5081    pub hostNativeAtomicSupported: ::core::ffi::c_int,
5082    pub singleToDoublePrecisionPerfRatio: ::core::ffi::c_int,
5083    pub pageableMemoryAccess: ::core::ffi::c_int,
5084    pub concurrentManagedAccess: ::core::ffi::c_int,
5085    pub computePreemptionSupported: ::core::ffi::c_int,
5086    pub canUseHostPointerForRegisteredMem: ::core::ffi::c_int,
5087    pub cooperativeLaunch: ::core::ffi::c_int,
5088    pub cooperativeMultiDeviceLaunch: ::core::ffi::c_int,
5089    pub sharedMemPerBlockOptin: usize,
5090    pub pageableMemoryAccessUsesHostPageTables: ::core::ffi::c_int,
5091    pub directManagedMemAccessFromHost: ::core::ffi::c_int,
5092    pub maxBlocksPerMultiProcessor: ::core::ffi::c_int,
5093    pub accessPolicyMaxWindowSize: ::core::ffi::c_int,
5094    pub reservedSharedMemPerBlock: usize,
5095    pub hostRegisterSupported: ::core::ffi::c_int,
5096    pub sparseCudaArraySupported: ::core::ffi::c_int,
5097    pub hostRegisterReadOnlySupported: ::core::ffi::c_int,
5098    pub timelineSemaphoreInteropSupported: ::core::ffi::c_int,
5099    pub memoryPoolsSupported: ::core::ffi::c_int,
5100    pub gpuDirectRDMASupported: ::core::ffi::c_int,
5101    pub gpuDirectRDMAFlushWritesOptions: ::core::ffi::c_uint,
5102    pub gpuDirectRDMAWritesOrdering: ::core::ffi::c_int,
5103    pub memoryPoolSupportedHandleTypes: ::core::ffi::c_uint,
5104    pub deferredMappingCudaArraySupported: ::core::ffi::c_int,
5105    pub ipcEventSupported: ::core::ffi::c_int,
5106    pub clusterLaunch: ::core::ffi::c_int,
5107    pub unifiedFunctionPointers: ::core::ffi::c_int,
5108    pub reserved: [::core::ffi::c_int; 63usize],
5109}
5110#[cfg(any(feature = "cuda-13000"))]
5111#[repr(C)]
5112#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5113pub struct cudaDeviceProp {
5114    pub name: [::core::ffi::c_char; 256usize],
5115    pub uuid: cudaUUID_t,
5116    pub luid: [::core::ffi::c_char; 8usize],
5117    pub luidDeviceNodeMask: ::core::ffi::c_uint,
5118    pub totalGlobalMem: usize,
5119    pub sharedMemPerBlock: usize,
5120    pub regsPerBlock: ::core::ffi::c_int,
5121    pub warpSize: ::core::ffi::c_int,
5122    pub memPitch: usize,
5123    pub maxThreadsPerBlock: ::core::ffi::c_int,
5124    pub maxThreadsDim: [::core::ffi::c_int; 3usize],
5125    pub maxGridSize: [::core::ffi::c_int; 3usize],
5126    pub totalConstMem: usize,
5127    pub major: ::core::ffi::c_int,
5128    pub minor: ::core::ffi::c_int,
5129    pub textureAlignment: usize,
5130    pub texturePitchAlignment: usize,
5131    pub multiProcessorCount: ::core::ffi::c_int,
5132    pub integrated: ::core::ffi::c_int,
5133    pub canMapHostMemory: ::core::ffi::c_int,
5134    pub maxTexture1D: ::core::ffi::c_int,
5135    pub maxTexture1DMipmap: ::core::ffi::c_int,
5136    pub maxTexture2D: [::core::ffi::c_int; 2usize],
5137    pub maxTexture2DMipmap: [::core::ffi::c_int; 2usize],
5138    pub maxTexture2DLinear: [::core::ffi::c_int; 3usize],
5139    pub maxTexture2DGather: [::core::ffi::c_int; 2usize],
5140    pub maxTexture3D: [::core::ffi::c_int; 3usize],
5141    pub maxTexture3DAlt: [::core::ffi::c_int; 3usize],
5142    pub maxTextureCubemap: ::core::ffi::c_int,
5143    pub maxTexture1DLayered: [::core::ffi::c_int; 2usize],
5144    pub maxTexture2DLayered: [::core::ffi::c_int; 3usize],
5145    pub maxTextureCubemapLayered: [::core::ffi::c_int; 2usize],
5146    pub maxSurface1D: ::core::ffi::c_int,
5147    pub maxSurface2D: [::core::ffi::c_int; 2usize],
5148    pub maxSurface3D: [::core::ffi::c_int; 3usize],
5149    pub maxSurface1DLayered: [::core::ffi::c_int; 2usize],
5150    pub maxSurface2DLayered: [::core::ffi::c_int; 3usize],
5151    pub maxSurfaceCubemap: ::core::ffi::c_int,
5152    pub maxSurfaceCubemapLayered: [::core::ffi::c_int; 2usize],
5153    pub surfaceAlignment: usize,
5154    pub concurrentKernels: ::core::ffi::c_int,
5155    pub ECCEnabled: ::core::ffi::c_int,
5156    pub pciBusID: ::core::ffi::c_int,
5157    pub pciDeviceID: ::core::ffi::c_int,
5158    pub pciDomainID: ::core::ffi::c_int,
5159    pub tccDriver: ::core::ffi::c_int,
5160    pub asyncEngineCount: ::core::ffi::c_int,
5161    pub unifiedAddressing: ::core::ffi::c_int,
5162    pub memoryBusWidth: ::core::ffi::c_int,
5163    pub l2CacheSize: ::core::ffi::c_int,
5164    pub persistingL2CacheMaxSize: ::core::ffi::c_int,
5165    pub maxThreadsPerMultiProcessor: ::core::ffi::c_int,
5166    pub streamPrioritiesSupported: ::core::ffi::c_int,
5167    pub globalL1CacheSupported: ::core::ffi::c_int,
5168    pub localL1CacheSupported: ::core::ffi::c_int,
5169    pub sharedMemPerMultiprocessor: usize,
5170    pub regsPerMultiprocessor: ::core::ffi::c_int,
5171    pub managedMemory: ::core::ffi::c_int,
5172    pub isMultiGpuBoard: ::core::ffi::c_int,
5173    pub multiGpuBoardGroupID: ::core::ffi::c_int,
5174    pub hostNativeAtomicSupported: ::core::ffi::c_int,
5175    pub pageableMemoryAccess: ::core::ffi::c_int,
5176    pub concurrentManagedAccess: ::core::ffi::c_int,
5177    pub computePreemptionSupported: ::core::ffi::c_int,
5178    pub canUseHostPointerForRegisteredMem: ::core::ffi::c_int,
5179    pub cooperativeLaunch: ::core::ffi::c_int,
5180    pub sharedMemPerBlockOptin: usize,
5181    pub pageableMemoryAccessUsesHostPageTables: ::core::ffi::c_int,
5182    pub directManagedMemAccessFromHost: ::core::ffi::c_int,
5183    pub maxBlocksPerMultiProcessor: ::core::ffi::c_int,
5184    pub accessPolicyMaxWindowSize: ::core::ffi::c_int,
5185    pub reservedSharedMemPerBlock: usize,
5186    pub hostRegisterSupported: ::core::ffi::c_int,
5187    pub sparseCudaArraySupported: ::core::ffi::c_int,
5188    pub hostRegisterReadOnlySupported: ::core::ffi::c_int,
5189    pub timelineSemaphoreInteropSupported: ::core::ffi::c_int,
5190    pub memoryPoolsSupported: ::core::ffi::c_int,
5191    pub gpuDirectRDMASupported: ::core::ffi::c_int,
5192    pub gpuDirectRDMAFlushWritesOptions: ::core::ffi::c_uint,
5193    pub gpuDirectRDMAWritesOrdering: ::core::ffi::c_int,
5194    pub memoryPoolSupportedHandleTypes: ::core::ffi::c_uint,
5195    pub deferredMappingCudaArraySupported: ::core::ffi::c_int,
5196    pub ipcEventSupported: ::core::ffi::c_int,
5197    pub clusterLaunch: ::core::ffi::c_int,
5198    pub unifiedFunctionPointers: ::core::ffi::c_int,
5199    pub deviceNumaConfig: ::core::ffi::c_int,
5200    pub deviceNumaId: ::core::ffi::c_int,
5201    pub mpsEnabled: ::core::ffi::c_int,
5202    pub hostNumaId: ::core::ffi::c_int,
5203    pub gpuPciDeviceID: ::core::ffi::c_uint,
5204    pub gpuPciSubsystemID: ::core::ffi::c_uint,
5205    pub hostNumaMultinodeIpcSupported: ::core::ffi::c_int,
5206    pub reserved: [::core::ffi::c_int; 56usize],
5207}
5208#[cfg(any(
5209    feature = "cuda-12020",
5210    feature = "cuda-12030",
5211    feature = "cuda-12040",
5212    feature = "cuda-12050",
5213    feature = "cuda-12060",
5214    feature = "cuda-12080",
5215    feature = "cuda-12090",
5216    feature = "cuda-13000"
5217))]
5218#[repr(C)]
5219#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5220pub struct cudaEventRecordNodeParams {
5221    pub event: cudaEvent_t,
5222}
5223#[cfg(any(
5224    feature = "cuda-12020",
5225    feature = "cuda-12030",
5226    feature = "cuda-12040",
5227    feature = "cuda-12050",
5228    feature = "cuda-12060",
5229    feature = "cuda-12080",
5230    feature = "cuda-12090",
5231    feature = "cuda-13000"
5232))]
5233#[repr(C)]
5234#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5235pub struct cudaEventWaitNodeParams {
5236    pub event: cudaEvent_t,
5237}
5238#[repr(C)]
5239#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5240pub struct cudaExtent {
5241    pub width: usize,
5242    pub height: usize,
5243    pub depth: usize,
5244}
5245#[cfg(any(
5246    feature = "cuda-11040",
5247    feature = "cuda-11050",
5248    feature = "cuda-11060",
5249    feature = "cuda-11070",
5250    feature = "cuda-11080",
5251    feature = "cuda-12000",
5252    feature = "cuda-12010",
5253    feature = "cuda-12020",
5254    feature = "cuda-12030",
5255    feature = "cuda-12040",
5256    feature = "cuda-12050",
5257    feature = "cuda-12060",
5258    feature = "cuda-12080",
5259    feature = "cuda-12090"
5260))]
5261#[repr(C)]
5262#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5263pub struct cudaExternalMemoryBufferDesc {
5264    pub offset: ::core::ffi::c_ulonglong,
5265    pub size: ::core::ffi::c_ulonglong,
5266    pub flags: ::core::ffi::c_uint,
5267}
5268#[cfg(any(feature = "cuda-13000"))]
5269#[repr(C)]
5270#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5271pub struct cudaExternalMemoryBufferDesc {
5272    pub offset: ::core::ffi::c_ulonglong,
5273    pub size: ::core::ffi::c_ulonglong,
5274    pub flags: ::core::ffi::c_uint,
5275    pub reserved: [::core::ffi::c_uint; 16usize],
5276}
5277#[cfg(any(
5278    feature = "cuda-11040",
5279    feature = "cuda-11050",
5280    feature = "cuda-11060",
5281    feature = "cuda-11070",
5282    feature = "cuda-11080",
5283    feature = "cuda-12000",
5284    feature = "cuda-12010",
5285    feature = "cuda-12020",
5286    feature = "cuda-12030",
5287    feature = "cuda-12040",
5288    feature = "cuda-12050",
5289    feature = "cuda-12060",
5290    feature = "cuda-12080",
5291    feature = "cuda-12090"
5292))]
5293#[repr(C)]
5294#[derive(Copy, Clone)]
5295pub struct cudaExternalMemoryHandleDesc {
5296    pub type_: cudaExternalMemoryHandleType,
5297    pub handle: cudaExternalMemoryHandleDesc__bindgen_ty_1,
5298    pub size: ::core::ffi::c_ulonglong,
5299    pub flags: ::core::ffi::c_uint,
5300}
5301#[cfg(any(feature = "cuda-13000"))]
5302#[repr(C)]
5303#[derive(Copy, Clone)]
5304pub struct cudaExternalMemoryHandleDesc {
5305    pub type_: cudaExternalMemoryHandleType,
5306    pub handle: cudaExternalMemoryHandleDesc__bindgen_ty_1,
5307    pub size: ::core::ffi::c_ulonglong,
5308    pub flags: ::core::ffi::c_uint,
5309    pub reserved: [::core::ffi::c_uint; 16usize],
5310}
5311#[repr(C)]
5312#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5313pub struct cudaExternalMemoryHandleDesc__bindgen_ty_1__bindgen_ty_1 {
5314    pub handle: *mut ::core::ffi::c_void,
5315    pub name: *const ::core::ffi::c_void,
5316}
5317#[cfg(any(
5318    feature = "cuda-11040",
5319    feature = "cuda-11050",
5320    feature = "cuda-11060",
5321    feature = "cuda-11070",
5322    feature = "cuda-11080",
5323    feature = "cuda-12000",
5324    feature = "cuda-12010",
5325    feature = "cuda-12020",
5326    feature = "cuda-12030",
5327    feature = "cuda-12040",
5328    feature = "cuda-12050",
5329    feature = "cuda-12060",
5330    feature = "cuda-12080",
5331    feature = "cuda-12090"
5332))]
5333#[repr(C)]
5334#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5335pub struct cudaExternalMemoryMipmappedArrayDesc {
5336    pub offset: ::core::ffi::c_ulonglong,
5337    pub formatDesc: cudaChannelFormatDesc,
5338    pub extent: cudaExtent,
5339    pub flags: ::core::ffi::c_uint,
5340    pub numLevels: ::core::ffi::c_uint,
5341}
5342#[cfg(any(feature = "cuda-13000"))]
5343#[repr(C)]
5344#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5345pub struct cudaExternalMemoryMipmappedArrayDesc {
5346    pub offset: ::core::ffi::c_ulonglong,
5347    pub formatDesc: cudaChannelFormatDesc,
5348    pub extent: cudaExtent,
5349    pub flags: ::core::ffi::c_uint,
5350    pub numLevels: ::core::ffi::c_uint,
5351    pub reserved: [::core::ffi::c_uint; 16usize],
5352}
5353#[cfg(any(
5354    feature = "cuda-11040",
5355    feature = "cuda-11050",
5356    feature = "cuda-11060",
5357    feature = "cuda-11070",
5358    feature = "cuda-11080",
5359    feature = "cuda-12000",
5360    feature = "cuda-12010",
5361    feature = "cuda-12020",
5362    feature = "cuda-12030",
5363    feature = "cuda-12040",
5364    feature = "cuda-12050",
5365    feature = "cuda-12060",
5366    feature = "cuda-12080",
5367    feature = "cuda-12090"
5368))]
5369#[repr(C)]
5370#[derive(Copy, Clone)]
5371pub struct cudaExternalSemaphoreHandleDesc {
5372    pub type_: cudaExternalSemaphoreHandleType,
5373    pub handle: cudaExternalSemaphoreHandleDesc__bindgen_ty_1,
5374    pub flags: ::core::ffi::c_uint,
5375}
5376#[cfg(any(feature = "cuda-13000"))]
5377#[repr(C)]
5378#[derive(Copy, Clone)]
5379pub struct cudaExternalSemaphoreHandleDesc {
5380    pub type_: cudaExternalSemaphoreHandleType,
5381    pub handle: cudaExternalSemaphoreHandleDesc__bindgen_ty_1,
5382    pub flags: ::core::ffi::c_uint,
5383    pub reserved: [::core::ffi::c_uint; 16usize],
5384}
5385#[repr(C)]
5386#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5387pub struct cudaExternalSemaphoreHandleDesc__bindgen_ty_1__bindgen_ty_1 {
5388    pub handle: *mut ::core::ffi::c_void,
5389    pub name: *const ::core::ffi::c_void,
5390}
5391#[repr(C)]
5392#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5393pub struct cudaExternalSemaphoreSignalNodeParams {
5394    pub extSemArray: *mut cudaExternalSemaphore_t,
5395    pub paramsArray: *const cudaExternalSemaphoreSignalParams,
5396    pub numExtSems: ::core::ffi::c_uint,
5397}
5398#[cfg(any(
5399    feature = "cuda-12020",
5400    feature = "cuda-12030",
5401    feature = "cuda-12040",
5402    feature = "cuda-12050",
5403    feature = "cuda-12060",
5404    feature = "cuda-12080",
5405    feature = "cuda-12090",
5406    feature = "cuda-13000"
5407))]
5408#[repr(C)]
5409#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5410pub struct cudaExternalSemaphoreSignalNodeParamsV2 {
5411    pub extSemArray: *mut cudaExternalSemaphore_t,
5412    pub paramsArray: *const cudaExternalSemaphoreSignalParams,
5413    pub numExtSems: ::core::ffi::c_uint,
5414}
5415#[repr(C)]
5416#[derive(Copy, Clone)]
5417pub struct cudaExternalSemaphoreSignalParams {
5418    pub params: cudaExternalSemaphoreSignalParams__bindgen_ty_1,
5419    pub flags: ::core::ffi::c_uint,
5420    pub reserved: [::core::ffi::c_uint; 16usize],
5421}
5422#[repr(C)]
5423#[derive(Copy, Clone)]
5424pub struct cudaExternalSemaphoreSignalParams__bindgen_ty_1 {
5425    pub fence: cudaExternalSemaphoreSignalParams__bindgen_ty_1__bindgen_ty_1,
5426    pub nvSciSync: cudaExternalSemaphoreSignalParams__bindgen_ty_1__bindgen_ty_2,
5427    pub keyedMutex: cudaExternalSemaphoreSignalParams__bindgen_ty_1__bindgen_ty_3,
5428    pub reserved: [::core::ffi::c_uint; 12usize],
5429}
5430#[repr(C)]
5431#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5432pub struct cudaExternalSemaphoreSignalParams__bindgen_ty_1__bindgen_ty_1 {
5433    pub value: ::core::ffi::c_ulonglong,
5434}
5435#[repr(C)]
5436#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5437pub struct cudaExternalSemaphoreSignalParams__bindgen_ty_1__bindgen_ty_3 {
5438    pub key: ::core::ffi::c_ulonglong,
5439}
5440#[cfg(any(
5441    feature = "cuda-11050",
5442    feature = "cuda-11060",
5443    feature = "cuda-11070",
5444    feature = "cuda-11080",
5445    feature = "cuda-12000",
5446    feature = "cuda-12010",
5447    feature = "cuda-12020",
5448    feature = "cuda-12030",
5449    feature = "cuda-12040",
5450    feature = "cuda-12050",
5451    feature = "cuda-12060",
5452    feature = "cuda-12080",
5453    feature = "cuda-12090"
5454))]
5455#[repr(C)]
5456#[derive(Copy, Clone)]
5457pub struct cudaExternalSemaphoreSignalParams_v1 {
5458    pub params: cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1,
5459    pub flags: ::core::ffi::c_uint,
5460}
5461#[cfg(any(
5462    feature = "cuda-11050",
5463    feature = "cuda-11060",
5464    feature = "cuda-11070",
5465    feature = "cuda-11080",
5466    feature = "cuda-12000",
5467    feature = "cuda-12010",
5468    feature = "cuda-12020",
5469    feature = "cuda-12030",
5470    feature = "cuda-12040",
5471    feature = "cuda-12050",
5472    feature = "cuda-12060",
5473    feature = "cuda-12080",
5474    feature = "cuda-12090"
5475))]
5476#[repr(C)]
5477#[derive(Copy, Clone)]
5478pub struct cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1 {
5479    pub fence: cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1__bindgen_ty_1,
5480    pub nvSciSync: cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1__bindgen_ty_2,
5481    pub keyedMutex: cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1__bindgen_ty_3,
5482}
5483#[cfg(any(
5484    feature = "cuda-11050",
5485    feature = "cuda-11060",
5486    feature = "cuda-11070",
5487    feature = "cuda-11080",
5488    feature = "cuda-12000",
5489    feature = "cuda-12010",
5490    feature = "cuda-12020",
5491    feature = "cuda-12030",
5492    feature = "cuda-12040",
5493    feature = "cuda-12050",
5494    feature = "cuda-12060",
5495    feature = "cuda-12080",
5496    feature = "cuda-12090"
5497))]
5498#[repr(C)]
5499#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5500pub struct cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1__bindgen_ty_1 {
5501    pub value: ::core::ffi::c_ulonglong,
5502}
5503#[cfg(any(
5504    feature = "cuda-11050",
5505    feature = "cuda-11060",
5506    feature = "cuda-11070",
5507    feature = "cuda-11080",
5508    feature = "cuda-12000",
5509    feature = "cuda-12010",
5510    feature = "cuda-12020",
5511    feature = "cuda-12030",
5512    feature = "cuda-12040",
5513    feature = "cuda-12050",
5514    feature = "cuda-12060",
5515    feature = "cuda-12080",
5516    feature = "cuda-12090"
5517))]
5518#[repr(C)]
5519#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5520pub struct cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1__bindgen_ty_3 {
5521    pub key: ::core::ffi::c_ulonglong,
5522}
5523#[repr(C)]
5524#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5525pub struct cudaExternalSemaphoreWaitNodeParams {
5526    pub extSemArray: *mut cudaExternalSemaphore_t,
5527    pub paramsArray: *const cudaExternalSemaphoreWaitParams,
5528    pub numExtSems: ::core::ffi::c_uint,
5529}
5530#[cfg(any(
5531    feature = "cuda-12020",
5532    feature = "cuda-12030",
5533    feature = "cuda-12040",
5534    feature = "cuda-12050",
5535    feature = "cuda-12060",
5536    feature = "cuda-12080",
5537    feature = "cuda-12090",
5538    feature = "cuda-13000"
5539))]
5540#[repr(C)]
5541#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5542pub struct cudaExternalSemaphoreWaitNodeParamsV2 {
5543    pub extSemArray: *mut cudaExternalSemaphore_t,
5544    pub paramsArray: *const cudaExternalSemaphoreWaitParams,
5545    pub numExtSems: ::core::ffi::c_uint,
5546}
5547#[repr(C)]
5548#[derive(Copy, Clone)]
5549pub struct cudaExternalSemaphoreWaitParams {
5550    pub params: cudaExternalSemaphoreWaitParams__bindgen_ty_1,
5551    pub flags: ::core::ffi::c_uint,
5552    pub reserved: [::core::ffi::c_uint; 16usize],
5553}
5554#[repr(C)]
5555#[derive(Copy, Clone)]
5556pub struct cudaExternalSemaphoreWaitParams__bindgen_ty_1 {
5557    pub fence: cudaExternalSemaphoreWaitParams__bindgen_ty_1__bindgen_ty_1,
5558    pub nvSciSync: cudaExternalSemaphoreWaitParams__bindgen_ty_1__bindgen_ty_2,
5559    pub keyedMutex: cudaExternalSemaphoreWaitParams__bindgen_ty_1__bindgen_ty_3,
5560    pub reserved: [::core::ffi::c_uint; 10usize],
5561}
5562#[repr(C)]
5563#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5564pub struct cudaExternalSemaphoreWaitParams__bindgen_ty_1__bindgen_ty_1 {
5565    pub value: ::core::ffi::c_ulonglong,
5566}
5567#[repr(C)]
5568#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5569pub struct cudaExternalSemaphoreWaitParams__bindgen_ty_1__bindgen_ty_3 {
5570    pub key: ::core::ffi::c_ulonglong,
5571    pub timeoutMs: ::core::ffi::c_uint,
5572}
5573#[cfg(any(
5574    feature = "cuda-11050",
5575    feature = "cuda-11060",
5576    feature = "cuda-11070",
5577    feature = "cuda-11080",
5578    feature = "cuda-12000",
5579    feature = "cuda-12010",
5580    feature = "cuda-12020",
5581    feature = "cuda-12030",
5582    feature = "cuda-12040",
5583    feature = "cuda-12050",
5584    feature = "cuda-12060",
5585    feature = "cuda-12080",
5586    feature = "cuda-12090"
5587))]
5588#[repr(C)]
5589#[derive(Copy, Clone)]
5590pub struct cudaExternalSemaphoreWaitParams_v1 {
5591    pub params: cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1,
5592    pub flags: ::core::ffi::c_uint,
5593}
5594#[cfg(any(
5595    feature = "cuda-11050",
5596    feature = "cuda-11060",
5597    feature = "cuda-11070",
5598    feature = "cuda-11080",
5599    feature = "cuda-12000",
5600    feature = "cuda-12010",
5601    feature = "cuda-12020",
5602    feature = "cuda-12030",
5603    feature = "cuda-12040",
5604    feature = "cuda-12050",
5605    feature = "cuda-12060",
5606    feature = "cuda-12080",
5607    feature = "cuda-12090"
5608))]
5609#[repr(C)]
5610#[derive(Copy, Clone)]
5611pub struct cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1 {
5612    pub fence: cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1__bindgen_ty_1,
5613    pub nvSciSync: cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1__bindgen_ty_2,
5614    pub keyedMutex: cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1__bindgen_ty_3,
5615}
5616#[cfg(any(
5617    feature = "cuda-11050",
5618    feature = "cuda-11060",
5619    feature = "cuda-11070",
5620    feature = "cuda-11080",
5621    feature = "cuda-12000",
5622    feature = "cuda-12010",
5623    feature = "cuda-12020",
5624    feature = "cuda-12030",
5625    feature = "cuda-12040",
5626    feature = "cuda-12050",
5627    feature = "cuda-12060",
5628    feature = "cuda-12080",
5629    feature = "cuda-12090"
5630))]
5631#[repr(C)]
5632#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5633pub struct cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1__bindgen_ty_1 {
5634    pub value: ::core::ffi::c_ulonglong,
5635}
5636#[cfg(any(
5637    feature = "cuda-11050",
5638    feature = "cuda-11060",
5639    feature = "cuda-11070",
5640    feature = "cuda-11080",
5641    feature = "cuda-12000",
5642    feature = "cuda-12010",
5643    feature = "cuda-12020",
5644    feature = "cuda-12030",
5645    feature = "cuda-12040",
5646    feature = "cuda-12050",
5647    feature = "cuda-12060",
5648    feature = "cuda-12080",
5649    feature = "cuda-12090"
5650))]
5651#[repr(C)]
5652#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5653pub struct cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1__bindgen_ty_3 {
5654    pub key: ::core::ffi::c_ulonglong,
5655    pub timeoutMs: ::core::ffi::c_uint,
5656}
5657#[cfg(any(
5658    feature = "cuda-11040",
5659    feature = "cuda-11050",
5660    feature = "cuda-11060",
5661    feature = "cuda-11070",
5662    feature = "cuda-11080"
5663))]
5664#[repr(C)]
5665#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5666pub struct cudaFuncAttributes {
5667    pub sharedSizeBytes: usize,
5668    pub constSizeBytes: usize,
5669    pub localSizeBytes: usize,
5670    pub maxThreadsPerBlock: ::core::ffi::c_int,
5671    pub numRegs: ::core::ffi::c_int,
5672    pub ptxVersion: ::core::ffi::c_int,
5673    pub binaryVersion: ::core::ffi::c_int,
5674    pub cacheModeCA: ::core::ffi::c_int,
5675    pub maxDynamicSharedSizeBytes: ::core::ffi::c_int,
5676    pub preferredShmemCarveout: ::core::ffi::c_int,
5677}
5678#[cfg(any(
5679    feature = "cuda-12000",
5680    feature = "cuda-12010",
5681    feature = "cuda-12020",
5682    feature = "cuda-12030",
5683    feature = "cuda-12040",
5684    feature = "cuda-12050",
5685    feature = "cuda-12060",
5686    feature = "cuda-12080",
5687    feature = "cuda-12090",
5688    feature = "cuda-13000"
5689))]
5690#[repr(C)]
5691#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5692pub struct cudaFuncAttributes {
5693    pub sharedSizeBytes: usize,
5694    pub constSizeBytes: usize,
5695    pub localSizeBytes: usize,
5696    pub maxThreadsPerBlock: ::core::ffi::c_int,
5697    pub numRegs: ::core::ffi::c_int,
5698    pub ptxVersion: ::core::ffi::c_int,
5699    pub binaryVersion: ::core::ffi::c_int,
5700    pub cacheModeCA: ::core::ffi::c_int,
5701    pub maxDynamicSharedSizeBytes: ::core::ffi::c_int,
5702    pub preferredShmemCarveout: ::core::ffi::c_int,
5703    pub clusterDimMustBeSet: ::core::ffi::c_int,
5704    pub requiredClusterWidth: ::core::ffi::c_int,
5705    pub requiredClusterHeight: ::core::ffi::c_int,
5706    pub requiredClusterDepth: ::core::ffi::c_int,
5707    pub clusterSchedulingPolicyPreference: ::core::ffi::c_int,
5708    pub nonPortableClusterSizeAllowed: ::core::ffi::c_int,
5709    pub reserved: [::core::ffi::c_int; 16usize],
5710}
5711#[cfg(any(
5712    feature = "cuda-12030",
5713    feature = "cuda-12040",
5714    feature = "cuda-12050",
5715    feature = "cuda-12060",
5716    feature = "cuda-12080",
5717    feature = "cuda-12090",
5718    feature = "cuda-13000"
5719))]
5720#[repr(C)]
5721#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5722pub struct cudaGraphEdgeData_st {
5723    pub from_port: ::core::ffi::c_uchar,
5724    pub to_port: ::core::ffi::c_uchar,
5725    pub type_: ::core::ffi::c_uchar,
5726    pub reserved: [::core::ffi::c_uchar; 5usize],
5727}
5728#[cfg(any(
5729    feature = "cuda-12000",
5730    feature = "cuda-12010",
5731    feature = "cuda-12020",
5732    feature = "cuda-12030",
5733    feature = "cuda-12040",
5734    feature = "cuda-12050",
5735    feature = "cuda-12060",
5736    feature = "cuda-12080",
5737    feature = "cuda-12090",
5738    feature = "cuda-13000"
5739))]
5740#[repr(C)]
5741#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5742pub struct cudaGraphExecUpdateResultInfo_st {
5743    pub result: cudaGraphExecUpdateResult,
5744    pub errorNode: cudaGraphNode_t,
5745    pub errorFromNode: cudaGraphNode_t,
5746}
5747#[cfg(any(
5748    feature = "cuda-12000",
5749    feature = "cuda-12010",
5750    feature = "cuda-12020",
5751    feature = "cuda-12030",
5752    feature = "cuda-12040",
5753    feature = "cuda-12050",
5754    feature = "cuda-12060",
5755    feature = "cuda-12080",
5756    feature = "cuda-12090",
5757    feature = "cuda-13000"
5758))]
5759#[repr(C)]
5760#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5761pub struct cudaGraphInstantiateParams_st {
5762    pub flags: ::core::ffi::c_ulonglong,
5763    pub uploadStream: cudaStream_t,
5764    pub errNode_out: cudaGraphNode_t,
5765    pub result_out: cudaGraphInstantiateResult,
5766}
5767#[cfg(any(
5768    feature = "cuda-12040",
5769    feature = "cuda-12050",
5770    feature = "cuda-12060",
5771    feature = "cuda-12080",
5772    feature = "cuda-12090",
5773    feature = "cuda-13000"
5774))]
5775#[repr(C)]
5776#[derive(Copy, Clone)]
5777pub struct cudaGraphKernelNodeUpdate {
5778    pub node: cudaGraphDeviceNode_t,
5779    pub field: cudaGraphKernelNodeField,
5780    pub updateData: cudaGraphKernelNodeUpdate__bindgen_ty_1,
5781}
5782#[cfg(any(
5783    feature = "cuda-12040",
5784    feature = "cuda-12050",
5785    feature = "cuda-12060",
5786    feature = "cuda-12080",
5787    feature = "cuda-12090",
5788    feature = "cuda-13000"
5789))]
5790#[repr(C)]
5791#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5792pub struct cudaGraphKernelNodeUpdate__bindgen_ty_1__bindgen_ty_1 {
5793    pub pValue: *const ::core::ffi::c_void,
5794    pub offset: usize,
5795    pub size: usize,
5796}
5797#[cfg(any(
5798    feature = "cuda-12020",
5799    feature = "cuda-12030",
5800    feature = "cuda-12040",
5801    feature = "cuda-12050",
5802    feature = "cuda-12060",
5803    feature = "cuda-12080",
5804    feature = "cuda-12090",
5805    feature = "cuda-13000"
5806))]
5807#[repr(C)]
5808#[derive(Copy, Clone)]
5809pub struct cudaGraphNodeParams {
5810    pub type_: cudaGraphNodeType,
5811    pub reserved0: [::core::ffi::c_int; 3usize],
5812    pub __bindgen_anon_1: cudaGraphNodeParams__bindgen_ty_1,
5813    pub reserved2: ::core::ffi::c_longlong,
5814}
5815#[repr(C)]
5816#[derive(Debug, Copy, Clone)]
5817pub struct cudaGraphicsResource {
5818    _unused: [u8; 0],
5819}
5820#[repr(C)]
5821#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5822pub struct cudaHostNodeParams {
5823    pub fn_: cudaHostFn_t,
5824    pub userData: *mut ::core::ffi::c_void,
5825}
5826#[cfg(any(
5827    feature = "cuda-12020",
5828    feature = "cuda-12030",
5829    feature = "cuda-12040",
5830    feature = "cuda-12050",
5831    feature = "cuda-12060",
5832    feature = "cuda-12080",
5833    feature = "cuda-12090",
5834    feature = "cuda-13000"
5835))]
5836#[repr(C)]
5837#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5838pub struct cudaHostNodeParamsV2 {
5839    pub fn_: cudaHostFn_t,
5840    pub userData: *mut ::core::ffi::c_void,
5841}
5842#[repr(C)]
5843#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5844pub struct cudaIpcEventHandle_st {
5845    pub reserved: [::core::ffi::c_char; 64usize],
5846}
5847#[repr(C)]
5848#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5849pub struct cudaIpcMemHandle_st {
5850    pub reserved: [::core::ffi::c_char; 64usize],
5851}
5852#[repr(C)]
5853#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5854pub struct cudaKernelNodeParams {
5855    pub func: *mut ::core::ffi::c_void,
5856    pub gridDim: dim3,
5857    pub blockDim: dim3,
5858    pub sharedMemBytes: ::core::ffi::c_uint,
5859    pub kernelParams: *mut *mut ::core::ffi::c_void,
5860    pub extra: *mut *mut ::core::ffi::c_void,
5861}
5862#[cfg(any(
5863    feature = "cuda-12020",
5864    feature = "cuda-12030",
5865    feature = "cuda-12040",
5866    feature = "cuda-12050",
5867    feature = "cuda-12060",
5868    feature = "cuda-12080",
5869    feature = "cuda-12090",
5870    feature = "cuda-13000"
5871))]
5872#[repr(C)]
5873#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5874pub struct cudaKernelNodeParamsV2 {
5875    pub func: *mut ::core::ffi::c_void,
5876    pub gridDim: dim3,
5877    pub blockDim: dim3,
5878    pub sharedMemBytes: ::core::ffi::c_uint,
5879    pub kernelParams: *mut *mut ::core::ffi::c_void,
5880    pub extra: *mut *mut ::core::ffi::c_void,
5881}
5882#[cfg(any(
5883    feature = "cuda-11080",
5884    feature = "cuda-12000",
5885    feature = "cuda-12010",
5886    feature = "cuda-12020",
5887    feature = "cuda-12030",
5888    feature = "cuda-12040",
5889    feature = "cuda-12050",
5890    feature = "cuda-12060",
5891    feature = "cuda-12080",
5892    feature = "cuda-12090",
5893    feature = "cuda-13000"
5894))]
5895#[repr(C)]
5896#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5897pub struct cudaLaunchAttributeValue__bindgen_ty_1 {
5898    pub x: ::core::ffi::c_uint,
5899    pub y: ::core::ffi::c_uint,
5900    pub z: ::core::ffi::c_uint,
5901}
5902#[cfg(any(
5903    feature = "cuda-11080",
5904    feature = "cuda-12000",
5905    feature = "cuda-12010",
5906    feature = "cuda-12020",
5907    feature = "cuda-12030",
5908    feature = "cuda-12040",
5909    feature = "cuda-12050",
5910    feature = "cuda-12060",
5911    feature = "cuda-12080",
5912    feature = "cuda-12090",
5913    feature = "cuda-13000"
5914))]
5915#[repr(C)]
5916#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5917pub struct cudaLaunchAttributeValue__bindgen_ty_2 {
5918    pub event: cudaEvent_t,
5919    pub flags: ::core::ffi::c_int,
5920    pub triggerAtBlockStart: ::core::ffi::c_int,
5921}
5922#[cfg(any(
5923    feature = "cuda-12030",
5924    feature = "cuda-12040",
5925    feature = "cuda-12050",
5926    feature = "cuda-12060"
5927))]
5928#[repr(C)]
5929#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5930pub struct cudaLaunchAttributeValue__bindgen_ty_3 {
5931    pub event: cudaEvent_t,
5932    pub flags: ::core::ffi::c_int,
5933}
5934#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5935#[repr(C)]
5936#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5937pub struct cudaLaunchAttributeValue__bindgen_ty_3 {
5938    pub x: ::core::ffi::c_uint,
5939    pub y: ::core::ffi::c_uint,
5940    pub z: ::core::ffi::c_uint,
5941}
5942#[cfg(any(feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060"))]
5943#[repr(C)]
5944#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5945pub struct cudaLaunchAttributeValue__bindgen_ty_4 {
5946    pub deviceUpdatable: ::core::ffi::c_int,
5947    pub devNode: cudaGraphDeviceNode_t,
5948}
5949#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5950#[repr(C)]
5951#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5952pub struct cudaLaunchAttributeValue__bindgen_ty_4 {
5953    pub event: cudaEvent_t,
5954    pub flags: ::core::ffi::c_int,
5955}
5956#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5957#[repr(C)]
5958#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5959pub struct cudaLaunchAttributeValue__bindgen_ty_5 {
5960    pub deviceUpdatable: ::core::ffi::c_int,
5961    pub devNode: cudaGraphDeviceNode_t,
5962}
5963#[cfg(any(
5964    feature = "cuda-11080",
5965    feature = "cuda-12000",
5966    feature = "cuda-12010",
5967    feature = "cuda-12020",
5968    feature = "cuda-12030",
5969    feature = "cuda-12040",
5970    feature = "cuda-12050",
5971    feature = "cuda-12060",
5972    feature = "cuda-12080",
5973    feature = "cuda-12090",
5974    feature = "cuda-13000"
5975))]
5976#[repr(C)]
5977#[derive(Copy, Clone)]
5978pub struct cudaLaunchAttribute_st {
5979    pub id: cudaLaunchAttributeID,
5980    pub pad: [::core::ffi::c_char; 4usize],
5981    pub val: cudaLaunchAttributeValue,
5982}
5983#[cfg(any(
5984    feature = "cuda-11080",
5985    feature = "cuda-12000",
5986    feature = "cuda-12010",
5987    feature = "cuda-12020",
5988    feature = "cuda-12030",
5989    feature = "cuda-12040",
5990    feature = "cuda-12050",
5991    feature = "cuda-12060",
5992    feature = "cuda-12080",
5993    feature = "cuda-12090",
5994    feature = "cuda-13000"
5995))]
5996#[repr(C)]
5997#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5998pub struct cudaLaunchConfig_st {
5999    pub gridDim: dim3,
6000    pub blockDim: dim3,
6001    pub dynamicSmemBytes: usize,
6002    pub stream: cudaStream_t,
6003    pub attrs: *mut cudaLaunchAttribute,
6004    pub numAttrs: ::core::ffi::c_uint,
6005}
6006#[cfg(any(
6007    feature = "cuda-12000",
6008    feature = "cuda-12010",
6009    feature = "cuda-12020",
6010    feature = "cuda-12030",
6011    feature = "cuda-12040",
6012    feature = "cuda-12050",
6013    feature = "cuda-12060",
6014    feature = "cuda-12080",
6015    feature = "cuda-12090",
6016    feature = "cuda-13000"
6017))]
6018#[repr(C)]
6019#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6020pub struct cudaLaunchMemSyncDomainMap_st {
6021    pub default_: ::core::ffi::c_uchar,
6022    pub remote: ::core::ffi::c_uchar,
6023}
6024#[cfg(any(
6025    feature = "cuda-11040",
6026    feature = "cuda-11050",
6027    feature = "cuda-11060",
6028    feature = "cuda-11070",
6029    feature = "cuda-11080",
6030    feature = "cuda-12000",
6031    feature = "cuda-12010",
6032    feature = "cuda-12020",
6033    feature = "cuda-12030",
6034    feature = "cuda-12040",
6035    feature = "cuda-12050",
6036    feature = "cuda-12060",
6037    feature = "cuda-12080",
6038    feature = "cuda-12090"
6039))]
6040#[repr(C)]
6041#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6042pub struct cudaLaunchParams {
6043    pub func: *mut ::core::ffi::c_void,
6044    pub gridDim: dim3,
6045    pub blockDim: dim3,
6046    pub args: *mut *mut ::core::ffi::c_void,
6047    pub sharedMem: usize,
6048    pub stream: cudaStream_t,
6049}
6050#[repr(C)]
6051#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6052pub struct cudaMemAccessDesc {
6053    pub location: cudaMemLocation,
6054    pub flags: cudaMemAccessFlags,
6055}
6056#[repr(C)]
6057#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6058pub struct cudaMemAllocNodeParams {
6059    pub poolProps: cudaMemPoolProps,
6060    pub accessDescs: *const cudaMemAccessDesc,
6061    pub accessDescCount: usize,
6062    pub bytesize: usize,
6063    pub dptr: *mut ::core::ffi::c_void,
6064}
6065#[cfg(any(
6066    feature = "cuda-12020",
6067    feature = "cuda-12030",
6068    feature = "cuda-12040",
6069    feature = "cuda-12050",
6070    feature = "cuda-12060",
6071    feature = "cuda-12080",
6072    feature = "cuda-12090",
6073    feature = "cuda-13000"
6074))]
6075#[repr(C)]
6076#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6077pub struct cudaMemAllocNodeParamsV2 {
6078    pub poolProps: cudaMemPoolProps,
6079    pub accessDescs: *const cudaMemAccessDesc,
6080    pub accessDescCount: usize,
6081    pub bytesize: usize,
6082    pub dptr: *mut ::core::ffi::c_void,
6083}
6084#[cfg(any(
6085    feature = "cuda-12030",
6086    feature = "cuda-12040",
6087    feature = "cuda-12050",
6088    feature = "cuda-12060",
6089    feature = "cuda-12080",
6090    feature = "cuda-12090",
6091    feature = "cuda-13000"
6092))]
6093#[repr(C)]
6094#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6095pub struct cudaMemFabricHandle_st {
6096    pub reserved: [::core::ffi::c_char; 64usize],
6097}
6098#[cfg(any(
6099    feature = "cuda-12020",
6100    feature = "cuda-12030",
6101    feature = "cuda-12040",
6102    feature = "cuda-12050",
6103    feature = "cuda-12060",
6104    feature = "cuda-12080",
6105    feature = "cuda-12090",
6106    feature = "cuda-13000"
6107))]
6108#[repr(C)]
6109#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6110pub struct cudaMemFreeNodeParams {
6111    pub dptr: *mut ::core::ffi::c_void,
6112}
6113#[repr(C)]
6114#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6115pub struct cudaMemLocation {
6116    pub type_: cudaMemLocationType,
6117    pub id: ::core::ffi::c_int,
6118}
6119#[cfg(any(
6120    feature = "cuda-11040",
6121    feature = "cuda-11050",
6122    feature = "cuda-11060",
6123    feature = "cuda-11070",
6124    feature = "cuda-11080",
6125    feature = "cuda-12000",
6126    feature = "cuda-12010"
6127))]
6128#[repr(C)]
6129#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6130pub struct cudaMemPoolProps {
6131    pub allocType: cudaMemAllocationType,
6132    pub handleTypes: cudaMemAllocationHandleType,
6133    pub location: cudaMemLocation,
6134    pub win32SecurityAttributes: *mut ::core::ffi::c_void,
6135    pub reserved: [::core::ffi::c_uchar; 64usize],
6136}
6137#[cfg(any(
6138    feature = "cuda-12020",
6139    feature = "cuda-12030",
6140    feature = "cuda-12040",
6141    feature = "cuda-12050"
6142))]
6143#[repr(C)]
6144#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6145pub struct cudaMemPoolProps {
6146    pub allocType: cudaMemAllocationType,
6147    pub handleTypes: cudaMemAllocationHandleType,
6148    pub location: cudaMemLocation,
6149    pub win32SecurityAttributes: *mut ::core::ffi::c_void,
6150    pub maxSize: usize,
6151    pub reserved: [::core::ffi::c_uchar; 56usize],
6152}
6153#[cfg(any(
6154    feature = "cuda-12060",
6155    feature = "cuda-12080",
6156    feature = "cuda-12090",
6157    feature = "cuda-13000"
6158))]
6159#[repr(C)]
6160#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6161pub struct cudaMemPoolProps {
6162    pub allocType: cudaMemAllocationType,
6163    pub handleTypes: cudaMemAllocationHandleType,
6164    pub location: cudaMemLocation,
6165    pub win32SecurityAttributes: *mut ::core::ffi::c_void,
6166    pub maxSize: usize,
6167    pub usage: ::core::ffi::c_ushort,
6168    pub reserved: [::core::ffi::c_uchar; 54usize],
6169}
6170#[repr(C)]
6171#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6172pub struct cudaMemPoolPtrExportData {
6173    pub reserved: [::core::ffi::c_uchar; 64usize],
6174}
6175#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
6176#[repr(C)]
6177#[derive(Copy, Clone)]
6178pub struct cudaMemcpy3DBatchOp {
6179    pub src: cudaMemcpy3DOperand,
6180    pub dst: cudaMemcpy3DOperand,
6181    pub extent: cudaExtent,
6182    pub srcAccessOrder: cudaMemcpySrcAccessOrder,
6183    pub flags: ::core::ffi::c_uint,
6184}
6185#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
6186#[repr(C)]
6187#[derive(Copy, Clone)]
6188pub struct cudaMemcpy3DOperand {
6189    pub type_: cudaMemcpy3DOperandType,
6190    pub op: cudaMemcpy3DOperand__bindgen_ty_1,
6191}
6192#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
6193#[repr(C)]
6194#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6195pub struct cudaMemcpy3DOperand__bindgen_ty_1__bindgen_ty_1 {
6196    pub ptr: *mut ::core::ffi::c_void,
6197    pub rowLength: usize,
6198    pub layerHeight: usize,
6199    pub locHint: cudaMemLocation,
6200}
6201#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
6202#[repr(C)]
6203#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6204pub struct cudaMemcpy3DOperand__bindgen_ty_1__bindgen_ty_2 {
6205    pub array: cudaArray_t,
6206    pub offset: cudaOffset3D,
6207}
6208#[repr(C)]
6209#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6210pub struct cudaMemcpy3DParms {
6211    pub srcArray: cudaArray_t,
6212    pub srcPos: cudaPos,
6213    pub srcPtr: cudaPitchedPtr,
6214    pub dstArray: cudaArray_t,
6215    pub dstPos: cudaPos,
6216    pub dstPtr: cudaPitchedPtr,
6217    pub extent: cudaExtent,
6218    pub kind: cudaMemcpyKind,
6219}
6220#[repr(C)]
6221#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6222pub struct cudaMemcpy3DPeerParms {
6223    pub srcArray: cudaArray_t,
6224    pub srcPos: cudaPos,
6225    pub srcPtr: cudaPitchedPtr,
6226    pub srcDevice: ::core::ffi::c_int,
6227    pub dstArray: cudaArray_t,
6228    pub dstPos: cudaPos,
6229    pub dstPtr: cudaPitchedPtr,
6230    pub dstDevice: ::core::ffi::c_int,
6231    pub extent: cudaExtent,
6232}
6233#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
6234#[repr(C)]
6235#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6236pub struct cudaMemcpyAttributes {
6237    pub srcAccessOrder: cudaMemcpySrcAccessOrder,
6238    pub srcLocHint: cudaMemLocation,
6239    pub dstLocHint: cudaMemLocation,
6240    pub flags: ::core::ffi::c_uint,
6241}
6242#[cfg(any(
6243    feature = "cuda-12020",
6244    feature = "cuda-12030",
6245    feature = "cuda-12040",
6246    feature = "cuda-12050",
6247    feature = "cuda-12060",
6248    feature = "cuda-12080",
6249    feature = "cuda-12090",
6250    feature = "cuda-13000"
6251))]
6252#[repr(C)]
6253#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6254pub struct cudaMemcpyNodeParams {
6255    pub flags: ::core::ffi::c_int,
6256    pub reserved: [::core::ffi::c_int; 3usize],
6257    pub copyParams: cudaMemcpy3DParms,
6258}
6259#[repr(C)]
6260#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6261pub struct cudaMemsetParams {
6262    pub dst: *mut ::core::ffi::c_void,
6263    pub pitch: usize,
6264    pub value: ::core::ffi::c_uint,
6265    pub elementSize: ::core::ffi::c_uint,
6266    pub width: usize,
6267    pub height: usize,
6268}
6269#[cfg(any(
6270    feature = "cuda-12020",
6271    feature = "cuda-12030",
6272    feature = "cuda-12040",
6273    feature = "cuda-12050",
6274    feature = "cuda-12060",
6275    feature = "cuda-12080",
6276    feature = "cuda-12090",
6277    feature = "cuda-13000"
6278))]
6279#[repr(C)]
6280#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6281pub struct cudaMemsetParamsV2 {
6282    pub dst: *mut ::core::ffi::c_void,
6283    pub pitch: usize,
6284    pub value: ::core::ffi::c_uint,
6285    pub elementSize: ::core::ffi::c_uint,
6286    pub width: usize,
6287    pub height: usize,
6288}
6289#[repr(C)]
6290#[derive(Debug, Copy, Clone)]
6291pub struct cudaMipmappedArray {
6292    _unused: [u8; 0],
6293}
6294#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
6295#[repr(C)]
6296#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6297pub struct cudaOffset3D {
6298    pub x: usize,
6299    pub y: usize,
6300    pub z: usize,
6301}
6302#[repr(C)]
6303#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6304pub struct cudaPitchedPtr {
6305    pub ptr: *mut ::core::ffi::c_void,
6306    pub pitch: usize,
6307    pub xsize: usize,
6308    pub ysize: usize,
6309}
6310#[cfg(any(
6311    feature = "cuda-11040",
6312    feature = "cuda-11050",
6313    feature = "cuda-11060",
6314    feature = "cuda-11070",
6315    feature = "cuda-11080",
6316    feature = "cuda-12000",
6317    feature = "cuda-12010",
6318    feature = "cuda-12020",
6319    feature = "cuda-12030",
6320    feature = "cuda-12040",
6321    feature = "cuda-12050",
6322    feature = "cuda-12060",
6323    feature = "cuda-12080",
6324    feature = "cuda-12090"
6325))]
6326#[repr(C)]
6327#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6328pub struct cudaPointerAttributes {
6329    pub type_: cudaMemoryType,
6330    pub device: ::core::ffi::c_int,
6331    pub devicePointer: *mut ::core::ffi::c_void,
6332    pub hostPointer: *mut ::core::ffi::c_void,
6333}
6334#[cfg(any(feature = "cuda-13000"))]
6335#[repr(C)]
6336#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6337pub struct cudaPointerAttributes {
6338    pub type_: cudaMemoryType,
6339    pub device: ::core::ffi::c_int,
6340    pub devicePointer: *mut ::core::ffi::c_void,
6341    pub hostPointer: *mut ::core::ffi::c_void,
6342    pub reserved: [::core::ffi::c_long; 8usize],
6343}
6344#[repr(C)]
6345#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6346pub struct cudaPos {
6347    pub x: usize,
6348    pub y: usize,
6349    pub z: usize,
6350}
6351#[cfg(any(
6352    feature = "cuda-11040",
6353    feature = "cuda-11050",
6354    feature = "cuda-11060",
6355    feature = "cuda-11070",
6356    feature = "cuda-11080",
6357    feature = "cuda-12000",
6358    feature = "cuda-12010",
6359    feature = "cuda-12020",
6360    feature = "cuda-12030",
6361    feature = "cuda-12040",
6362    feature = "cuda-12050",
6363    feature = "cuda-12060",
6364    feature = "cuda-12080",
6365    feature = "cuda-12090"
6366))]
6367#[repr(C)]
6368#[derive(Copy, Clone)]
6369pub struct cudaResourceDesc {
6370    pub resType: cudaResourceType,
6371    pub res: cudaResourceDesc__bindgen_ty_1,
6372}
6373#[cfg(any(feature = "cuda-13000"))]
6374#[repr(C)]
6375#[derive(Copy, Clone)]
6376pub struct cudaResourceDesc {
6377    pub resType: cudaResourceType,
6378    pub res: cudaResourceDesc__bindgen_ty_1,
6379    pub flags: ::core::ffi::c_uint,
6380}
6381#[repr(C)]
6382#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6383pub struct cudaResourceDesc__bindgen_ty_1__bindgen_ty_1 {
6384    pub array: cudaArray_t,
6385}
6386#[repr(C)]
6387#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6388pub struct cudaResourceDesc__bindgen_ty_1__bindgen_ty_2 {
6389    pub mipmap: cudaMipmappedArray_t,
6390}
6391#[repr(C)]
6392#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6393pub struct cudaResourceDesc__bindgen_ty_1__bindgen_ty_3 {
6394    pub devPtr: *mut ::core::ffi::c_void,
6395    pub desc: cudaChannelFormatDesc,
6396    pub sizeInBytes: usize,
6397}
6398#[repr(C)]
6399#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6400pub struct cudaResourceDesc__bindgen_ty_1__bindgen_ty_4 {
6401    pub devPtr: *mut ::core::ffi::c_void,
6402    pub desc: cudaChannelFormatDesc,
6403    pub width: usize,
6404    pub height: usize,
6405    pub pitchInBytes: usize,
6406}
6407#[cfg(any(feature = "cuda-13000"))]
6408#[repr(C)]
6409#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6410pub struct cudaResourceDesc__bindgen_ty_1__bindgen_ty_5 {
6411    pub reserved: [::core::ffi::c_int; 32usize],
6412}
6413#[cfg(any(
6414    feature = "cuda-11040",
6415    feature = "cuda-11050",
6416    feature = "cuda-11060",
6417    feature = "cuda-11070",
6418    feature = "cuda-11080",
6419    feature = "cuda-12000",
6420    feature = "cuda-12010",
6421    feature = "cuda-12020",
6422    feature = "cuda-12030",
6423    feature = "cuda-12040",
6424    feature = "cuda-12050",
6425    feature = "cuda-12060",
6426    feature = "cuda-12080",
6427    feature = "cuda-12090"
6428))]
6429#[repr(C)]
6430#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6431pub struct cudaResourceViewDesc {
6432    pub format: cudaResourceViewFormat,
6433    pub width: usize,
6434    pub height: usize,
6435    pub depth: usize,
6436    pub firstMipmapLevel: ::core::ffi::c_uint,
6437    pub lastMipmapLevel: ::core::ffi::c_uint,
6438    pub firstLayer: ::core::ffi::c_uint,
6439    pub lastLayer: ::core::ffi::c_uint,
6440}
6441#[cfg(any(feature = "cuda-13000"))]
6442#[repr(C)]
6443#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6444pub struct cudaResourceViewDesc {
6445    pub format: cudaResourceViewFormat,
6446    pub width: usize,
6447    pub height: usize,
6448    pub depth: usize,
6449    pub firstMipmapLevel: ::core::ffi::c_uint,
6450    pub lastMipmapLevel: ::core::ffi::c_uint,
6451    pub firstLayer: ::core::ffi::c_uint,
6452    pub lastLayer: ::core::ffi::c_uint,
6453    pub reserved: [::core::ffi::c_uint; 16usize],
6454}
6455#[cfg(any(feature = "cuda-11040", feature = "cuda-11050"))]
6456#[repr(C)]
6457#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
6458pub struct cudaTextureDesc {
6459    pub addressMode: [cudaTextureAddressMode; 3usize],
6460    pub filterMode: cudaTextureFilterMode,
6461    pub readMode: cudaTextureReadMode,
6462    pub sRGB: ::core::ffi::c_int,
6463    pub borderColor: [f32; 4usize],
6464    pub normalizedCoords: ::core::ffi::c_int,
6465    pub maxAnisotropy: ::core::ffi::c_uint,
6466    pub mipmapFilterMode: cudaTextureFilterMode,
6467    pub mipmapLevelBias: f32,
6468    pub minMipmapLevelClamp: f32,
6469    pub maxMipmapLevelClamp: f32,
6470    pub disableTrilinearOptimization: ::core::ffi::c_int,
6471}
6472#[cfg(any(feature = "cuda-11060", feature = "cuda-11070"))]
6473#[repr(C)]
6474#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
6475pub struct cudaTextureDesc {
6476    pub addressMode: [cudaTextureAddressMode; 3usize],
6477    pub filterMode: cudaTextureFilterMode,
6478    pub readMode: cudaTextureReadMode,
6479    pub sRGB: ::core::ffi::c_int,
6480    pub borderColor: [f32; 4usize],
6481    pub normalizedCoords: ::core::ffi::c_int,
6482    pub maxAnisotropy: ::core::ffi::c_uint,
6483    pub mipmapFilterMode: cudaTextureFilterMode,
6484    pub mipmapLevelBias: f32,
6485    pub minMipmapLevelClamp: f32,
6486    pub maxMipmapLevelClamp: f32,
6487    pub disableTrilinearOptimization: ::core::ffi::c_int,
6488    pub seamlessCubemap: ::core::ffi::c_int,
6489}
6490#[cfg(any(feature = "cuda-11080"))]
6491#[repr(C)]
6492#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
6493pub struct cudaTextureDesc {
6494    pub addressMode: [cudaTextureAddressMode; 3usize],
6495    pub filterMode: cudaTextureFilterMode,
6496    pub readMode: cudaTextureReadMode,
6497    pub sRGB: ::core::ffi::c_int,
6498    pub borderColor: [f32; 4usize],
6499    pub normalizedCoords: ::core::ffi::c_int,
6500    pub maxAnisotropy: ::core::ffi::c_uint,
6501    pub mipmapFilterMode: cudaTextureFilterMode,
6502    pub mipmapLevelBias: f32,
6503    pub minMipmapLevelClamp: f32,
6504    pub maxMipmapLevelClamp: f32,
6505    pub disableTrilinearOptimization: ::core::ffi::c_int,
6506}
6507#[cfg(any(
6508    feature = "cuda-12000",
6509    feature = "cuda-12010",
6510    feature = "cuda-12020",
6511    feature = "cuda-12030",
6512    feature = "cuda-12040",
6513    feature = "cuda-12050",
6514    feature = "cuda-12060",
6515    feature = "cuda-12080",
6516    feature = "cuda-12090",
6517    feature = "cuda-13000"
6518))]
6519#[repr(C)]
6520#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
6521pub struct cudaTextureDesc {
6522    pub addressMode: [cudaTextureAddressMode; 3usize],
6523    pub filterMode: cudaTextureFilterMode,
6524    pub readMode: cudaTextureReadMode,
6525    pub sRGB: ::core::ffi::c_int,
6526    pub borderColor: [f32; 4usize],
6527    pub normalizedCoords: ::core::ffi::c_int,
6528    pub maxAnisotropy: ::core::ffi::c_uint,
6529    pub mipmapFilterMode: cudaTextureFilterMode,
6530    pub mipmapLevelBias: f32,
6531    pub minMipmapLevelClamp: f32,
6532    pub maxMipmapLevelClamp: f32,
6533    pub disableTrilinearOptimization: ::core::ffi::c_int,
6534    pub seamlessCubemap: ::core::ffi::c_int,
6535}
6536#[cfg(any(feature = "cuda-11080"))]
6537#[repr(C)]
6538#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
6539pub struct cudaTextureDesc_v2 {
6540    pub addressMode: [cudaTextureAddressMode; 3usize],
6541    pub filterMode: cudaTextureFilterMode,
6542    pub readMode: cudaTextureReadMode,
6543    pub sRGB: ::core::ffi::c_int,
6544    pub borderColor: [f32; 4usize],
6545    pub normalizedCoords: ::core::ffi::c_int,
6546    pub maxAnisotropy: ::core::ffi::c_uint,
6547    pub mipmapFilterMode: cudaTextureFilterMode,
6548    pub mipmapLevelBias: f32,
6549    pub minMipmapLevelClamp: f32,
6550    pub maxMipmapLevelClamp: f32,
6551    pub disableTrilinearOptimization: ::core::ffi::c_int,
6552    pub seamlessCubemap: ::core::ffi::c_int,
6553}
6554#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
6555#[repr(C)]
6556#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6557pub struct cudalibraryHostUniversalFunctionAndDataTable {
6558    pub functionTable: *mut ::core::ffi::c_void,
6559    pub functionWindowSize: usize,
6560    pub dataTable: *mut ::core::ffi::c_void,
6561    pub dataWindowSize: usize,
6562}
6563#[repr(C)]
6564#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6565pub struct dim3 {
6566    pub x: ::core::ffi::c_uint,
6567    pub y: ::core::ffi::c_uint,
6568    pub z: ::core::ffi::c_uint,
6569}
6570#[cfg(any(
6571    feature = "cuda-11040",
6572    feature = "cuda-11050",
6573    feature = "cuda-11060",
6574    feature = "cuda-11070",
6575    feature = "cuda-11080"
6576))]
6577#[repr(C)]
6578#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6579pub struct surfaceReference {
6580    pub channelDesc: cudaChannelFormatDesc,
6581}
6582#[cfg(any(
6583    feature = "cuda-11040",
6584    feature = "cuda-11050",
6585    feature = "cuda-11060",
6586    feature = "cuda-11070",
6587    feature = "cuda-11080"
6588))]
6589#[repr(C)]
6590#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
6591pub struct textureReference {
6592    pub normalized: ::core::ffi::c_int,
6593    pub filterMode: cudaTextureFilterMode,
6594    pub addressMode: [cudaTextureAddressMode; 3usize],
6595    pub channelDesc: cudaChannelFormatDesc,
6596    pub sRGB: ::core::ffi::c_int,
6597    pub maxAnisotropy: ::core::ffi::c_uint,
6598    pub mipmapFilterMode: cudaTextureFilterMode,
6599    pub mipmapLevelBias: f32,
6600    pub minMipmapLevelClamp: f32,
6601    pub maxMipmapLevelClamp: f32,
6602    pub disableTrilinearOptimization: ::core::ffi::c_int,
6603    pub __cudaReserved: [::core::ffi::c_int; 14usize],
6604}
6605#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
6606impl cudaDataType_t {
6607    pub const CUDA_R_8F_UE4M3: cudaDataType_t = cudaDataType_t::CUDA_R_8F_E4M3;
6608}
6609#[cfg(any(
6610    feature = "cuda-11050",
6611    feature = "cuda-11060",
6612    feature = "cuda-11070",
6613    feature = "cuda-11080",
6614    feature = "cuda-12000",
6615    feature = "cuda-12010",
6616    feature = "cuda-12020",
6617    feature = "cuda-12030",
6618    feature = "cuda-12040",
6619    feature = "cuda-12050",
6620    feature = "cuda-12060",
6621    feature = "cuda-12080",
6622    feature = "cuda-12090"
6623))]
6624impl cudaDeviceAttr {
6625    pub const cudaDevAttrMaxTimelineSemaphoreInteropSupported: cudaDeviceAttr =
6626        cudaDeviceAttr::cudaDevAttrTimelineSemaphoreInteropSupported;
6627}
6628#[cfg(any(feature = "cuda-13000"))]
6629impl cudaMemLocationType {
6630    pub const cudaMemLocationTypeNone: cudaMemLocationType =
6631        cudaMemLocationType::cudaMemLocationTypeInvalid;
6632}
6633impl Default for cudaAccessPolicyWindow {
6634    fn default() -> Self {
6635        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6636        unsafe {
6637            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6638            s.assume_init()
6639        }
6640    }
6641}
6642#[cfg(any(
6643    feature = "cuda-12040",
6644    feature = "cuda-12050",
6645    feature = "cuda-12060",
6646    feature = "cuda-12080",
6647    feature = "cuda-12090",
6648    feature = "cuda-13000"
6649))]
6650impl Default for cudaAsyncNotificationInfo {
6651    fn default() -> Self {
6652        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6653        unsafe {
6654            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6655            s.assume_init()
6656        }
6657    }
6658}
6659#[cfg(any(
6660    feature = "cuda-12040",
6661    feature = "cuda-12050",
6662    feature = "cuda-12060",
6663    feature = "cuda-12080",
6664    feature = "cuda-12090",
6665    feature = "cuda-13000"
6666))]
6667impl Default for cudaAsyncNotificationInfo__bindgen_ty_1 {
6668    fn default() -> Self {
6669        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6670        unsafe {
6671            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6672            s.assume_init()
6673        }
6674    }
6675}
6676impl Default for cudaChannelFormatDesc {
6677    fn default() -> Self {
6678        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6679        unsafe {
6680            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6681            s.assume_init()
6682        }
6683    }
6684}
6685#[cfg(any(
6686    feature = "cuda-12020",
6687    feature = "cuda-12030",
6688    feature = "cuda-12040",
6689    feature = "cuda-12050",
6690    feature = "cuda-12060",
6691    feature = "cuda-12080",
6692    feature = "cuda-12090",
6693    feature = "cuda-13000"
6694))]
6695impl Default for cudaChildGraphNodeParams {
6696    fn default() -> Self {
6697        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6698        unsafe {
6699            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6700            s.assume_init()
6701        }
6702    }
6703}
6704#[cfg(any(
6705    feature = "cuda-12030",
6706    feature = "cuda-12040",
6707    feature = "cuda-12050",
6708    feature = "cuda-12060",
6709    feature = "cuda-12080",
6710    feature = "cuda-12090",
6711    feature = "cuda-13000"
6712))]
6713impl Default for cudaConditionalNodeParams {
6714    fn default() -> Self {
6715        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6716        unsafe {
6717            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6718            s.assume_init()
6719        }
6720    }
6721}
6722impl Default for cudaDeviceProp {
6723    fn default() -> Self {
6724        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6725        unsafe {
6726            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6727            s.assume_init()
6728        }
6729    }
6730}
6731#[cfg(any(
6732    feature = "cuda-12020",
6733    feature = "cuda-12030",
6734    feature = "cuda-12040",
6735    feature = "cuda-12050",
6736    feature = "cuda-12060",
6737    feature = "cuda-12080",
6738    feature = "cuda-12090",
6739    feature = "cuda-13000"
6740))]
6741impl Default for cudaEventRecordNodeParams {
6742    fn default() -> Self {
6743        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6744        unsafe {
6745            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6746            s.assume_init()
6747        }
6748    }
6749}
6750#[cfg(any(
6751    feature = "cuda-12020",
6752    feature = "cuda-12030",
6753    feature = "cuda-12040",
6754    feature = "cuda-12050",
6755    feature = "cuda-12060",
6756    feature = "cuda-12080",
6757    feature = "cuda-12090",
6758    feature = "cuda-13000"
6759))]
6760impl Default for cudaEventWaitNodeParams {
6761    fn default() -> Self {
6762        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6763        unsafe {
6764            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6765            s.assume_init()
6766        }
6767    }
6768}
6769impl Default for cudaExternalMemoryHandleDesc {
6770    fn default() -> Self {
6771        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6772        unsafe {
6773            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6774            s.assume_init()
6775        }
6776    }
6777}
6778impl Default for cudaExternalMemoryHandleDesc__bindgen_ty_1 {
6779    fn default() -> Self {
6780        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6781        unsafe {
6782            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6783            s.assume_init()
6784        }
6785    }
6786}
6787impl Default for cudaExternalMemoryHandleDesc__bindgen_ty_1__bindgen_ty_1 {
6788    fn default() -> Self {
6789        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6790        unsafe {
6791            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6792            s.assume_init()
6793        }
6794    }
6795}
6796impl Default for cudaExternalMemoryMipmappedArrayDesc {
6797    fn default() -> Self {
6798        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6799        unsafe {
6800            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6801            s.assume_init()
6802        }
6803    }
6804}
6805impl Default for cudaExternalSemaphoreHandleDesc {
6806    fn default() -> Self {
6807        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6808        unsafe {
6809            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6810            s.assume_init()
6811        }
6812    }
6813}
6814impl Default for cudaExternalSemaphoreHandleDesc__bindgen_ty_1 {
6815    fn default() -> Self {
6816        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6817        unsafe {
6818            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6819            s.assume_init()
6820        }
6821    }
6822}
6823impl Default for cudaExternalSemaphoreHandleDesc__bindgen_ty_1__bindgen_ty_1 {
6824    fn default() -> Self {
6825        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6826        unsafe {
6827            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6828            s.assume_init()
6829        }
6830    }
6831}
6832impl Default for cudaExternalSemaphoreSignalNodeParams {
6833    fn default() -> Self {
6834        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6835        unsafe {
6836            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6837            s.assume_init()
6838        }
6839    }
6840}
6841#[cfg(any(
6842    feature = "cuda-12020",
6843    feature = "cuda-12030",
6844    feature = "cuda-12040",
6845    feature = "cuda-12050",
6846    feature = "cuda-12060",
6847    feature = "cuda-12080",
6848    feature = "cuda-12090",
6849    feature = "cuda-13000"
6850))]
6851impl Default for cudaExternalSemaphoreSignalNodeParamsV2 {
6852    fn default() -> Self {
6853        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6854        unsafe {
6855            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6856            s.assume_init()
6857        }
6858    }
6859}
6860impl Default for cudaExternalSemaphoreSignalParams {
6861    fn default() -> Self {
6862        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6863        unsafe {
6864            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6865            s.assume_init()
6866        }
6867    }
6868}
6869impl Default for cudaExternalSemaphoreSignalParams__bindgen_ty_1 {
6870    fn default() -> Self {
6871        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6872        unsafe {
6873            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6874            s.assume_init()
6875        }
6876    }
6877}
6878impl Default for cudaExternalSemaphoreSignalParams__bindgen_ty_1__bindgen_ty_2 {
6879    fn default() -> Self {
6880        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6881        unsafe {
6882            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6883            s.assume_init()
6884        }
6885    }
6886}
6887#[cfg(any(
6888    feature = "cuda-11050",
6889    feature = "cuda-11060",
6890    feature = "cuda-11070",
6891    feature = "cuda-11080",
6892    feature = "cuda-12000",
6893    feature = "cuda-12010",
6894    feature = "cuda-12020",
6895    feature = "cuda-12030",
6896    feature = "cuda-12040",
6897    feature = "cuda-12050",
6898    feature = "cuda-12060",
6899    feature = "cuda-12080",
6900    feature = "cuda-12090"
6901))]
6902impl Default for cudaExternalSemaphoreSignalParams_v1 {
6903    fn default() -> Self {
6904        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6905        unsafe {
6906            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6907            s.assume_init()
6908        }
6909    }
6910}
6911#[cfg(any(
6912    feature = "cuda-11050",
6913    feature = "cuda-11060",
6914    feature = "cuda-11070",
6915    feature = "cuda-11080",
6916    feature = "cuda-12000",
6917    feature = "cuda-12010",
6918    feature = "cuda-12020",
6919    feature = "cuda-12030",
6920    feature = "cuda-12040",
6921    feature = "cuda-12050",
6922    feature = "cuda-12060",
6923    feature = "cuda-12080",
6924    feature = "cuda-12090"
6925))]
6926impl Default for cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1 {
6927    fn default() -> Self {
6928        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6929        unsafe {
6930            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6931            s.assume_init()
6932        }
6933    }
6934}
6935#[cfg(any(
6936    feature = "cuda-11050",
6937    feature = "cuda-11060",
6938    feature = "cuda-11070",
6939    feature = "cuda-11080",
6940    feature = "cuda-12000",
6941    feature = "cuda-12010",
6942    feature = "cuda-12020",
6943    feature = "cuda-12030",
6944    feature = "cuda-12040",
6945    feature = "cuda-12050",
6946    feature = "cuda-12060",
6947    feature = "cuda-12080",
6948    feature = "cuda-12090"
6949))]
6950impl Default for cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1__bindgen_ty_2 {
6951    fn default() -> Self {
6952        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6953        unsafe {
6954            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6955            s.assume_init()
6956        }
6957    }
6958}
6959impl Default for cudaExternalSemaphoreWaitNodeParams {
6960    fn default() -> Self {
6961        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6962        unsafe {
6963            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6964            s.assume_init()
6965        }
6966    }
6967}
6968#[cfg(any(
6969    feature = "cuda-12020",
6970    feature = "cuda-12030",
6971    feature = "cuda-12040",
6972    feature = "cuda-12050",
6973    feature = "cuda-12060",
6974    feature = "cuda-12080",
6975    feature = "cuda-12090",
6976    feature = "cuda-13000"
6977))]
6978impl Default for cudaExternalSemaphoreWaitNodeParamsV2 {
6979    fn default() -> Self {
6980        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6981        unsafe {
6982            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6983            s.assume_init()
6984        }
6985    }
6986}
6987impl Default for cudaExternalSemaphoreWaitParams {
6988    fn default() -> Self {
6989        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6990        unsafe {
6991            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6992            s.assume_init()
6993        }
6994    }
6995}
6996impl Default for cudaExternalSemaphoreWaitParams__bindgen_ty_1 {
6997    fn default() -> Self {
6998        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
6999        unsafe {
7000            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7001            s.assume_init()
7002        }
7003    }
7004}
7005impl Default for cudaExternalSemaphoreWaitParams__bindgen_ty_1__bindgen_ty_2 {
7006    fn default() -> Self {
7007        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7008        unsafe {
7009            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7010            s.assume_init()
7011        }
7012    }
7013}
7014#[cfg(any(
7015    feature = "cuda-11050",
7016    feature = "cuda-11060",
7017    feature = "cuda-11070",
7018    feature = "cuda-11080",
7019    feature = "cuda-12000",
7020    feature = "cuda-12010",
7021    feature = "cuda-12020",
7022    feature = "cuda-12030",
7023    feature = "cuda-12040",
7024    feature = "cuda-12050",
7025    feature = "cuda-12060",
7026    feature = "cuda-12080",
7027    feature = "cuda-12090"
7028))]
7029impl Default for cudaExternalSemaphoreWaitParams_v1 {
7030    fn default() -> Self {
7031        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7032        unsafe {
7033            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7034            s.assume_init()
7035        }
7036    }
7037}
7038#[cfg(any(
7039    feature = "cuda-11050",
7040    feature = "cuda-11060",
7041    feature = "cuda-11070",
7042    feature = "cuda-11080",
7043    feature = "cuda-12000",
7044    feature = "cuda-12010",
7045    feature = "cuda-12020",
7046    feature = "cuda-12030",
7047    feature = "cuda-12040",
7048    feature = "cuda-12050",
7049    feature = "cuda-12060",
7050    feature = "cuda-12080",
7051    feature = "cuda-12090"
7052))]
7053impl Default for cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1 {
7054    fn default() -> Self {
7055        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7056        unsafe {
7057            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7058            s.assume_init()
7059        }
7060    }
7061}
7062#[cfg(any(
7063    feature = "cuda-11050",
7064    feature = "cuda-11060",
7065    feature = "cuda-11070",
7066    feature = "cuda-11080",
7067    feature = "cuda-12000",
7068    feature = "cuda-12010",
7069    feature = "cuda-12020",
7070    feature = "cuda-12030",
7071    feature = "cuda-12040",
7072    feature = "cuda-12050",
7073    feature = "cuda-12060",
7074    feature = "cuda-12080",
7075    feature = "cuda-12090"
7076))]
7077impl Default for cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1__bindgen_ty_2 {
7078    fn default() -> Self {
7079        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7080        unsafe {
7081            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7082            s.assume_init()
7083        }
7084    }
7085}
7086#[cfg(any(
7087    feature = "cuda-12000",
7088    feature = "cuda-12010",
7089    feature = "cuda-12020",
7090    feature = "cuda-12030",
7091    feature = "cuda-12040",
7092    feature = "cuda-12050",
7093    feature = "cuda-12060",
7094    feature = "cuda-12080",
7095    feature = "cuda-12090",
7096    feature = "cuda-13000"
7097))]
7098impl Default for cudaGraphExecUpdateResultInfo_st {
7099    fn default() -> Self {
7100        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7101        unsafe {
7102            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7103            s.assume_init()
7104        }
7105    }
7106}
7107#[cfg(any(
7108    feature = "cuda-12000",
7109    feature = "cuda-12010",
7110    feature = "cuda-12020",
7111    feature = "cuda-12030",
7112    feature = "cuda-12040",
7113    feature = "cuda-12050",
7114    feature = "cuda-12060",
7115    feature = "cuda-12080",
7116    feature = "cuda-12090",
7117    feature = "cuda-13000"
7118))]
7119impl Default for cudaGraphInstantiateParams_st {
7120    fn default() -> Self {
7121        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7122        unsafe {
7123            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7124            s.assume_init()
7125        }
7126    }
7127}
7128#[cfg(any(
7129    feature = "cuda-12040",
7130    feature = "cuda-12050",
7131    feature = "cuda-12060",
7132    feature = "cuda-12080",
7133    feature = "cuda-12090",
7134    feature = "cuda-13000"
7135))]
7136impl Default for cudaGraphKernelNodeUpdate {
7137    fn default() -> Self {
7138        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7139        unsafe {
7140            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7141            s.assume_init()
7142        }
7143    }
7144}
7145#[cfg(any(
7146    feature = "cuda-12040",
7147    feature = "cuda-12050",
7148    feature = "cuda-12060",
7149    feature = "cuda-12080",
7150    feature = "cuda-12090",
7151    feature = "cuda-13000"
7152))]
7153impl Default for cudaGraphKernelNodeUpdate__bindgen_ty_1 {
7154    fn default() -> Self {
7155        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7156        unsafe {
7157            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7158            s.assume_init()
7159        }
7160    }
7161}
7162#[cfg(any(
7163    feature = "cuda-12040",
7164    feature = "cuda-12050",
7165    feature = "cuda-12060",
7166    feature = "cuda-12080",
7167    feature = "cuda-12090",
7168    feature = "cuda-13000"
7169))]
7170impl Default for cudaGraphKernelNodeUpdate__bindgen_ty_1__bindgen_ty_1 {
7171    fn default() -> Self {
7172        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7173        unsafe {
7174            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7175            s.assume_init()
7176        }
7177    }
7178}
7179#[cfg(any(
7180    feature = "cuda-12020",
7181    feature = "cuda-12030",
7182    feature = "cuda-12040",
7183    feature = "cuda-12050",
7184    feature = "cuda-12060",
7185    feature = "cuda-12080",
7186    feature = "cuda-12090",
7187    feature = "cuda-13000"
7188))]
7189impl Default for cudaGraphNodeParams {
7190    fn default() -> Self {
7191        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7192        unsafe {
7193            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7194            s.assume_init()
7195        }
7196    }
7197}
7198#[cfg(any(
7199    feature = "cuda-12020",
7200    feature = "cuda-12030",
7201    feature = "cuda-12040",
7202    feature = "cuda-12050",
7203    feature = "cuda-12060",
7204    feature = "cuda-12080",
7205    feature = "cuda-12090",
7206    feature = "cuda-13000"
7207))]
7208impl Default for cudaGraphNodeParams__bindgen_ty_1 {
7209    fn default() -> Self {
7210        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7211        unsafe {
7212            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7213            s.assume_init()
7214        }
7215    }
7216}
7217impl Default for cudaHostNodeParams {
7218    fn default() -> Self {
7219        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7220        unsafe {
7221            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7222            s.assume_init()
7223        }
7224    }
7225}
7226#[cfg(any(
7227    feature = "cuda-12020",
7228    feature = "cuda-12030",
7229    feature = "cuda-12040",
7230    feature = "cuda-12050",
7231    feature = "cuda-12060",
7232    feature = "cuda-12080",
7233    feature = "cuda-12090",
7234    feature = "cuda-13000"
7235))]
7236impl Default for cudaHostNodeParamsV2 {
7237    fn default() -> Self {
7238        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7239        unsafe {
7240            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7241            s.assume_init()
7242        }
7243    }
7244}
7245impl Default for cudaIpcEventHandle_st {
7246    fn default() -> Self {
7247        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7248        unsafe {
7249            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7250            s.assume_init()
7251        }
7252    }
7253}
7254impl Default for cudaIpcMemHandle_st {
7255    fn default() -> Self {
7256        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7257        unsafe {
7258            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7259            s.assume_init()
7260        }
7261    }
7262}
7263#[cfg(any(
7264    feature = "cuda-11040",
7265    feature = "cuda-11050",
7266    feature = "cuda-11060",
7267    feature = "cuda-11070"
7268))]
7269impl Default for cudaKernelNodeAttrValue {
7270    fn default() -> Self {
7271        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7272        unsafe {
7273            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7274            s.assume_init()
7275        }
7276    }
7277}
7278impl Default for cudaKernelNodeParams {
7279    fn default() -> Self {
7280        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7281        unsafe {
7282            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7283            s.assume_init()
7284        }
7285    }
7286}
7287#[cfg(any(
7288    feature = "cuda-12020",
7289    feature = "cuda-12030",
7290    feature = "cuda-12040",
7291    feature = "cuda-12050",
7292    feature = "cuda-12060",
7293    feature = "cuda-12080",
7294    feature = "cuda-12090",
7295    feature = "cuda-13000"
7296))]
7297impl Default for cudaKernelNodeParamsV2 {
7298    fn default() -> Self {
7299        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7300        unsafe {
7301            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7302            s.assume_init()
7303        }
7304    }
7305}
7306#[cfg(any(
7307    feature = "cuda-11080",
7308    feature = "cuda-12000",
7309    feature = "cuda-12010",
7310    feature = "cuda-12020",
7311    feature = "cuda-12030",
7312    feature = "cuda-12040",
7313    feature = "cuda-12050",
7314    feature = "cuda-12060",
7315    feature = "cuda-12080",
7316    feature = "cuda-12090",
7317    feature = "cuda-13000"
7318))]
7319impl Default for cudaLaunchAttributeValue {
7320    fn default() -> Self {
7321        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7322        unsafe {
7323            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7324            s.assume_init()
7325        }
7326    }
7327}
7328#[cfg(any(
7329    feature = "cuda-11080",
7330    feature = "cuda-12000",
7331    feature = "cuda-12010",
7332    feature = "cuda-12020",
7333    feature = "cuda-12030",
7334    feature = "cuda-12040",
7335    feature = "cuda-12050",
7336    feature = "cuda-12060",
7337    feature = "cuda-12080",
7338    feature = "cuda-12090",
7339    feature = "cuda-13000"
7340))]
7341impl Default for cudaLaunchAttributeValue__bindgen_ty_2 {
7342    fn default() -> Self {
7343        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7344        unsafe {
7345            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7346            s.assume_init()
7347        }
7348    }
7349}
7350#[cfg(any(
7351    feature = "cuda-12030",
7352    feature = "cuda-12040",
7353    feature = "cuda-12050",
7354    feature = "cuda-12060"
7355))]
7356impl Default for cudaLaunchAttributeValue__bindgen_ty_3 {
7357    fn default() -> Self {
7358        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7359        unsafe {
7360            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7361            s.assume_init()
7362        }
7363    }
7364}
7365#[cfg(any(
7366    feature = "cuda-12040",
7367    feature = "cuda-12050",
7368    feature = "cuda-12060",
7369    feature = "cuda-12080",
7370    feature = "cuda-12090",
7371    feature = "cuda-13000"
7372))]
7373impl Default for cudaLaunchAttributeValue__bindgen_ty_4 {
7374    fn default() -> Self {
7375        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7376        unsafe {
7377            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7378            s.assume_init()
7379        }
7380    }
7381}
7382#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7383impl Default for cudaLaunchAttributeValue__bindgen_ty_5 {
7384    fn default() -> Self {
7385        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7386        unsafe {
7387            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7388            s.assume_init()
7389        }
7390    }
7391}
7392#[cfg(any(
7393    feature = "cuda-11080",
7394    feature = "cuda-12000",
7395    feature = "cuda-12010",
7396    feature = "cuda-12020",
7397    feature = "cuda-12030",
7398    feature = "cuda-12040",
7399    feature = "cuda-12050",
7400    feature = "cuda-12060",
7401    feature = "cuda-12080",
7402    feature = "cuda-12090",
7403    feature = "cuda-13000"
7404))]
7405impl Default for cudaLaunchAttribute_st {
7406    fn default() -> Self {
7407        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7408        unsafe {
7409            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7410            s.assume_init()
7411        }
7412    }
7413}
7414#[cfg(any(
7415    feature = "cuda-11080",
7416    feature = "cuda-12000",
7417    feature = "cuda-12010",
7418    feature = "cuda-12020",
7419    feature = "cuda-12030",
7420    feature = "cuda-12040",
7421    feature = "cuda-12050",
7422    feature = "cuda-12060",
7423    feature = "cuda-12080",
7424    feature = "cuda-12090",
7425    feature = "cuda-13000"
7426))]
7427impl Default for cudaLaunchConfig_st {
7428    fn default() -> Self {
7429        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7430        unsafe {
7431            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7432            s.assume_init()
7433        }
7434    }
7435}
7436#[cfg(any(
7437    feature = "cuda-11040",
7438    feature = "cuda-11050",
7439    feature = "cuda-11060",
7440    feature = "cuda-11070",
7441    feature = "cuda-11080",
7442    feature = "cuda-12000",
7443    feature = "cuda-12010",
7444    feature = "cuda-12020",
7445    feature = "cuda-12030",
7446    feature = "cuda-12040",
7447    feature = "cuda-12050",
7448    feature = "cuda-12060",
7449    feature = "cuda-12080",
7450    feature = "cuda-12090"
7451))]
7452impl Default for cudaLaunchParams {
7453    fn default() -> Self {
7454        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7455        unsafe {
7456            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7457            s.assume_init()
7458        }
7459    }
7460}
7461impl Default for cudaMemAccessDesc {
7462    fn default() -> Self {
7463        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7464        unsafe {
7465            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7466            s.assume_init()
7467        }
7468    }
7469}
7470impl Default for cudaMemAllocNodeParams {
7471    fn default() -> Self {
7472        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7473        unsafe {
7474            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7475            s.assume_init()
7476        }
7477    }
7478}
7479#[cfg(any(
7480    feature = "cuda-12020",
7481    feature = "cuda-12030",
7482    feature = "cuda-12040",
7483    feature = "cuda-12050",
7484    feature = "cuda-12060",
7485    feature = "cuda-12080",
7486    feature = "cuda-12090",
7487    feature = "cuda-13000"
7488))]
7489impl Default for cudaMemAllocNodeParamsV2 {
7490    fn default() -> Self {
7491        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7492        unsafe {
7493            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7494            s.assume_init()
7495        }
7496    }
7497}
7498#[cfg(any(
7499    feature = "cuda-12030",
7500    feature = "cuda-12040",
7501    feature = "cuda-12050",
7502    feature = "cuda-12060",
7503    feature = "cuda-12080",
7504    feature = "cuda-12090",
7505    feature = "cuda-13000"
7506))]
7507impl Default for cudaMemFabricHandle_st {
7508    fn default() -> Self {
7509        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7510        unsafe {
7511            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7512            s.assume_init()
7513        }
7514    }
7515}
7516#[cfg(any(
7517    feature = "cuda-12020",
7518    feature = "cuda-12030",
7519    feature = "cuda-12040",
7520    feature = "cuda-12050",
7521    feature = "cuda-12060",
7522    feature = "cuda-12080",
7523    feature = "cuda-12090",
7524    feature = "cuda-13000"
7525))]
7526impl Default for cudaMemFreeNodeParams {
7527    fn default() -> Self {
7528        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7529        unsafe {
7530            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7531            s.assume_init()
7532        }
7533    }
7534}
7535impl Default for cudaMemLocation {
7536    fn default() -> Self {
7537        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7538        unsafe {
7539            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7540            s.assume_init()
7541        }
7542    }
7543}
7544impl Default for cudaMemPoolProps {
7545    fn default() -> Self {
7546        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7547        unsafe {
7548            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7549            s.assume_init()
7550        }
7551    }
7552}
7553impl Default for cudaMemPoolPtrExportData {
7554    fn default() -> Self {
7555        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7556        unsafe {
7557            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7558            s.assume_init()
7559        }
7560    }
7561}
7562#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7563impl Default for cudaMemcpy3DBatchOp {
7564    fn default() -> Self {
7565        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7566        unsafe {
7567            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7568            s.assume_init()
7569        }
7570    }
7571}
7572#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7573impl Default for cudaMemcpy3DOperand {
7574    fn default() -> Self {
7575        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7576        unsafe {
7577            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7578            s.assume_init()
7579        }
7580    }
7581}
7582#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7583impl Default for cudaMemcpy3DOperand__bindgen_ty_1 {
7584    fn default() -> Self {
7585        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7586        unsafe {
7587            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7588            s.assume_init()
7589        }
7590    }
7591}
7592#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7593impl Default for cudaMemcpy3DOperand__bindgen_ty_1__bindgen_ty_1 {
7594    fn default() -> Self {
7595        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7596        unsafe {
7597            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7598            s.assume_init()
7599        }
7600    }
7601}
7602#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7603impl Default for cudaMemcpy3DOperand__bindgen_ty_1__bindgen_ty_2 {
7604    fn default() -> Self {
7605        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7606        unsafe {
7607            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7608            s.assume_init()
7609        }
7610    }
7611}
7612impl Default for cudaMemcpy3DParms {
7613    fn default() -> Self {
7614        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7615        unsafe {
7616            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7617            s.assume_init()
7618        }
7619    }
7620}
7621impl Default for cudaMemcpy3DPeerParms {
7622    fn default() -> Self {
7623        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7624        unsafe {
7625            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7626            s.assume_init()
7627        }
7628    }
7629}
7630#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7631impl Default for cudaMemcpyAttributes {
7632    fn default() -> Self {
7633        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7634        unsafe {
7635            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7636            s.assume_init()
7637        }
7638    }
7639}
7640#[cfg(any(
7641    feature = "cuda-12020",
7642    feature = "cuda-12030",
7643    feature = "cuda-12040",
7644    feature = "cuda-12050",
7645    feature = "cuda-12060",
7646    feature = "cuda-12080",
7647    feature = "cuda-12090",
7648    feature = "cuda-13000"
7649))]
7650impl Default for cudaMemcpyNodeParams {
7651    fn default() -> Self {
7652        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7653        unsafe {
7654            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7655            s.assume_init()
7656        }
7657    }
7658}
7659impl Default for cudaMemsetParams {
7660    fn default() -> Self {
7661        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7662        unsafe {
7663            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7664            s.assume_init()
7665        }
7666    }
7667}
7668#[cfg(any(
7669    feature = "cuda-12020",
7670    feature = "cuda-12030",
7671    feature = "cuda-12040",
7672    feature = "cuda-12050",
7673    feature = "cuda-12060",
7674    feature = "cuda-12080",
7675    feature = "cuda-12090",
7676    feature = "cuda-13000"
7677))]
7678impl Default for cudaMemsetParamsV2 {
7679    fn default() -> Self {
7680        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7681        unsafe {
7682            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7683            s.assume_init()
7684        }
7685    }
7686}
7687impl Default for cudaPitchedPtr {
7688    fn default() -> Self {
7689        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7690        unsafe {
7691            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7692            s.assume_init()
7693        }
7694    }
7695}
7696impl Default for cudaPointerAttributes {
7697    fn default() -> Self {
7698        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7699        unsafe {
7700            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7701            s.assume_init()
7702        }
7703    }
7704}
7705impl Default for cudaResourceDesc {
7706    fn default() -> Self {
7707        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7708        unsafe {
7709            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7710            s.assume_init()
7711        }
7712    }
7713}
7714impl Default for cudaResourceDesc__bindgen_ty_1 {
7715    fn default() -> Self {
7716        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7717        unsafe {
7718            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7719            s.assume_init()
7720        }
7721    }
7722}
7723impl Default for cudaResourceDesc__bindgen_ty_1__bindgen_ty_1 {
7724    fn default() -> Self {
7725        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7726        unsafe {
7727            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7728            s.assume_init()
7729        }
7730    }
7731}
7732impl Default for cudaResourceDesc__bindgen_ty_1__bindgen_ty_2 {
7733    fn default() -> Self {
7734        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7735        unsafe {
7736            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7737            s.assume_init()
7738        }
7739    }
7740}
7741impl Default for cudaResourceDesc__bindgen_ty_1__bindgen_ty_3 {
7742    fn default() -> Self {
7743        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7744        unsafe {
7745            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7746            s.assume_init()
7747        }
7748    }
7749}
7750impl Default for cudaResourceDesc__bindgen_ty_1__bindgen_ty_4 {
7751    fn default() -> Self {
7752        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7753        unsafe {
7754            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7755            s.assume_init()
7756        }
7757    }
7758}
7759impl Default for cudaResourceViewDesc {
7760    fn default() -> Self {
7761        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7762        unsafe {
7763            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7764            s.assume_init()
7765        }
7766    }
7767}
7768#[cfg(any(
7769    feature = "cuda-11040",
7770    feature = "cuda-11050",
7771    feature = "cuda-11060",
7772    feature = "cuda-11070"
7773))]
7774impl Default for cudaStreamAttrValue {
7775    fn default() -> Self {
7776        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7777        unsafe {
7778            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7779            s.assume_init()
7780        }
7781    }
7782}
7783impl Default for cudaTextureDesc {
7784    fn default() -> Self {
7785        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7786        unsafe {
7787            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7788            s.assume_init()
7789        }
7790    }
7791}
7792#[cfg(any(feature = "cuda-11080"))]
7793impl Default for cudaTextureDesc_v2 {
7794    fn default() -> Self {
7795        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7796        unsafe {
7797            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7798            s.assume_init()
7799        }
7800    }
7801}
7802#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7803impl Default for cudalibraryHostUniversalFunctionAndDataTable {
7804    fn default() -> Self {
7805        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7806        unsafe {
7807            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7808            s.assume_init()
7809        }
7810    }
7811}
7812#[cfg(any(
7813    feature = "cuda-11040",
7814    feature = "cuda-11050",
7815    feature = "cuda-11060",
7816    feature = "cuda-11070",
7817    feature = "cuda-11080"
7818))]
7819impl Default for surfaceReference {
7820    fn default() -> Self {
7821        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7822        unsafe {
7823            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7824            s.assume_init()
7825        }
7826    }
7827}
7828#[cfg(any(
7829    feature = "cuda-11040",
7830    feature = "cuda-11050",
7831    feature = "cuda-11060",
7832    feature = "cuda-11070",
7833    feature = "cuda-11080"
7834))]
7835impl Default for textureReference {
7836    fn default() -> Self {
7837        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7838        unsafe {
7839            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7840            s.assume_init()
7841        }
7842    }
7843}
7844#[cfg(any(
7845    feature = "cuda-12040",
7846    feature = "cuda-12050",
7847    feature = "cuda-12060",
7848    feature = "cuda-12080",
7849    feature = "cuda-12090",
7850    feature = "cuda-13000"
7851))]
7852#[repr(C)]
7853#[derive(Copy, Clone)]
7854pub union cudaAsyncNotificationInfo__bindgen_ty_1 {
7855    pub overBudget: cudaAsyncNotificationInfo__bindgen_ty_1__bindgen_ty_1,
7856}
7857#[repr(C)]
7858#[derive(Copy, Clone)]
7859pub union cudaExternalMemoryHandleDesc__bindgen_ty_1 {
7860    pub fd: ::core::ffi::c_int,
7861    pub win32: cudaExternalMemoryHandleDesc__bindgen_ty_1__bindgen_ty_1,
7862    pub nvSciBufObject: *const ::core::ffi::c_void,
7863}
7864#[repr(C)]
7865#[derive(Copy, Clone)]
7866pub union cudaExternalSemaphoreHandleDesc__bindgen_ty_1 {
7867    pub fd: ::core::ffi::c_int,
7868    pub win32: cudaExternalSemaphoreHandleDesc__bindgen_ty_1__bindgen_ty_1,
7869    pub nvSciSyncObj: *const ::core::ffi::c_void,
7870}
7871#[repr(C)]
7872#[derive(Copy, Clone)]
7873pub union cudaExternalSemaphoreSignalParams__bindgen_ty_1__bindgen_ty_2 {
7874    pub fence: *mut ::core::ffi::c_void,
7875    pub reserved: ::core::ffi::c_ulonglong,
7876}
7877#[cfg(any(
7878    feature = "cuda-11050",
7879    feature = "cuda-11060",
7880    feature = "cuda-11070",
7881    feature = "cuda-11080",
7882    feature = "cuda-12000",
7883    feature = "cuda-12010",
7884    feature = "cuda-12020",
7885    feature = "cuda-12030",
7886    feature = "cuda-12040",
7887    feature = "cuda-12050",
7888    feature = "cuda-12060",
7889    feature = "cuda-12080",
7890    feature = "cuda-12090"
7891))]
7892#[repr(C)]
7893#[derive(Copy, Clone)]
7894pub union cudaExternalSemaphoreSignalParams_v1__bindgen_ty_1__bindgen_ty_2 {
7895    pub fence: *mut ::core::ffi::c_void,
7896    pub reserved: ::core::ffi::c_ulonglong,
7897}
7898#[repr(C)]
7899#[derive(Copy, Clone)]
7900pub union cudaExternalSemaphoreWaitParams__bindgen_ty_1__bindgen_ty_2 {
7901    pub fence: *mut ::core::ffi::c_void,
7902    pub reserved: ::core::ffi::c_ulonglong,
7903}
7904#[cfg(any(
7905    feature = "cuda-11050",
7906    feature = "cuda-11060",
7907    feature = "cuda-11070",
7908    feature = "cuda-11080",
7909    feature = "cuda-12000",
7910    feature = "cuda-12010",
7911    feature = "cuda-12020",
7912    feature = "cuda-12030",
7913    feature = "cuda-12040",
7914    feature = "cuda-12050",
7915    feature = "cuda-12060",
7916    feature = "cuda-12080",
7917    feature = "cuda-12090"
7918))]
7919#[repr(C)]
7920#[derive(Copy, Clone)]
7921pub union cudaExternalSemaphoreWaitParams_v1__bindgen_ty_1__bindgen_ty_2 {
7922    pub fence: *mut ::core::ffi::c_void,
7923    pub reserved: ::core::ffi::c_ulonglong,
7924}
7925#[cfg(any(
7926    feature = "cuda-12040",
7927    feature = "cuda-12050",
7928    feature = "cuda-12060",
7929    feature = "cuda-12080",
7930    feature = "cuda-12090",
7931    feature = "cuda-13000"
7932))]
7933#[repr(C)]
7934#[derive(Copy, Clone)]
7935pub union cudaGraphKernelNodeUpdate__bindgen_ty_1 {
7936    pub gridDim: dim3,
7937    pub param: cudaGraphKernelNodeUpdate__bindgen_ty_1__bindgen_ty_1,
7938    pub isEnabled: ::core::ffi::c_uint,
7939}
7940#[cfg(any(feature = "cuda-12020"))]
7941#[repr(C)]
7942#[derive(Copy, Clone)]
7943pub union cudaGraphNodeParams__bindgen_ty_1 {
7944    pub reserved1: [::core::ffi::c_longlong; 29usize],
7945    pub kernel: cudaKernelNodeParamsV2,
7946    pub memcpy: cudaMemcpyNodeParams,
7947    pub memset: cudaMemsetParamsV2,
7948    pub host: cudaHostNodeParamsV2,
7949    pub graph: cudaChildGraphNodeParams,
7950    pub eventWait: cudaEventWaitNodeParams,
7951    pub eventRecord: cudaEventRecordNodeParams,
7952    pub extSemSignal: cudaExternalSemaphoreSignalNodeParamsV2,
7953    pub extSemWait: cudaExternalSemaphoreWaitNodeParamsV2,
7954    pub alloc: cudaMemAllocNodeParamsV2,
7955    pub free: cudaMemFreeNodeParams,
7956}
7957#[cfg(any(
7958    feature = "cuda-12030",
7959    feature = "cuda-12040",
7960    feature = "cuda-12050",
7961    feature = "cuda-12060",
7962    feature = "cuda-12080",
7963    feature = "cuda-12090",
7964    feature = "cuda-13000"
7965))]
7966#[repr(C)]
7967#[derive(Copy, Clone)]
7968pub union cudaGraphNodeParams__bindgen_ty_1 {
7969    pub reserved1: [::core::ffi::c_longlong; 29usize],
7970    pub kernel: cudaKernelNodeParamsV2,
7971    pub memcpy: cudaMemcpyNodeParams,
7972    pub memset: cudaMemsetParamsV2,
7973    pub host: cudaHostNodeParamsV2,
7974    pub graph: cudaChildGraphNodeParams,
7975    pub eventWait: cudaEventWaitNodeParams,
7976    pub eventRecord: cudaEventRecordNodeParams,
7977    pub extSemSignal: cudaExternalSemaphoreSignalNodeParamsV2,
7978    pub extSemWait: cudaExternalSemaphoreWaitNodeParamsV2,
7979    pub alloc: cudaMemAllocNodeParamsV2,
7980    pub free: cudaMemFreeNodeParams,
7981    pub conditional: cudaConditionalNodeParams,
7982}
7983#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
7984#[repr(C)]
7985#[derive(Copy, Clone)]
7986pub union cudaKernelNodeAttrValue {
7987    pub accessPolicyWindow: cudaAccessPolicyWindow,
7988    pub cooperative: ::core::ffi::c_int,
7989}
7990#[cfg(any(feature = "cuda-11070"))]
7991#[repr(C)]
7992#[derive(Copy, Clone)]
7993pub union cudaKernelNodeAttrValue {
7994    pub accessPolicyWindow: cudaAccessPolicyWindow,
7995    pub cooperative: ::core::ffi::c_int,
7996    pub priority: ::core::ffi::c_int,
7997}
7998#[cfg(any(feature = "cuda-11080"))]
7999#[repr(C)]
8000#[derive(Copy, Clone)]
8001pub union cudaLaunchAttributeValue {
8002    pub pad: [::core::ffi::c_char; 64usize],
8003    pub accessPolicyWindow: cudaAccessPolicyWindow,
8004    pub cooperative: ::core::ffi::c_int,
8005    pub syncPolicy: cudaSynchronizationPolicy,
8006    pub clusterDim: cudaLaunchAttributeValue__bindgen_ty_1,
8007    pub clusterSchedulingPolicyPreference: cudaClusterSchedulingPolicy,
8008    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8009    pub programmaticEvent: cudaLaunchAttributeValue__bindgen_ty_2,
8010    pub priority: ::core::ffi::c_int,
8011}
8012#[cfg(any(feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020"))]
8013#[repr(C)]
8014#[derive(Copy, Clone)]
8015pub union cudaLaunchAttributeValue {
8016    pub pad: [::core::ffi::c_char; 64usize],
8017    pub accessPolicyWindow: cudaAccessPolicyWindow,
8018    pub cooperative: ::core::ffi::c_int,
8019    pub syncPolicy: cudaSynchronizationPolicy,
8020    pub clusterDim: cudaLaunchAttributeValue__bindgen_ty_1,
8021    pub clusterSchedulingPolicyPreference: cudaClusterSchedulingPolicy,
8022    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8023    pub programmaticEvent: cudaLaunchAttributeValue__bindgen_ty_2,
8024    pub priority: ::core::ffi::c_int,
8025    pub memSyncDomainMap: cudaLaunchMemSyncDomainMap,
8026    pub memSyncDomain: cudaLaunchMemSyncDomain,
8027}
8028#[cfg(any(feature = "cuda-12030"))]
8029#[repr(C)]
8030#[derive(Copy, Clone)]
8031pub union cudaLaunchAttributeValue {
8032    pub pad: [::core::ffi::c_char; 64usize],
8033    pub accessPolicyWindow: cudaAccessPolicyWindow,
8034    pub cooperative: ::core::ffi::c_int,
8035    pub syncPolicy: cudaSynchronizationPolicy,
8036    pub clusterDim: cudaLaunchAttributeValue__bindgen_ty_1,
8037    pub clusterSchedulingPolicyPreference: cudaClusterSchedulingPolicy,
8038    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8039    pub programmaticEvent: cudaLaunchAttributeValue__bindgen_ty_2,
8040    pub priority: ::core::ffi::c_int,
8041    pub memSyncDomainMap: cudaLaunchMemSyncDomainMap,
8042    pub memSyncDomain: cudaLaunchMemSyncDomain,
8043    pub launchCompletionEvent: cudaLaunchAttributeValue__bindgen_ty_3,
8044}
8045#[cfg(any(feature = "cuda-12040"))]
8046#[repr(C)]
8047#[derive(Copy, Clone)]
8048pub union cudaLaunchAttributeValue {
8049    pub pad: [::core::ffi::c_char; 64usize],
8050    pub accessPolicyWindow: cudaAccessPolicyWindow,
8051    pub cooperative: ::core::ffi::c_int,
8052    pub syncPolicy: cudaSynchronizationPolicy,
8053    pub clusterDim: cudaLaunchAttributeValue__bindgen_ty_1,
8054    pub clusterSchedulingPolicyPreference: cudaClusterSchedulingPolicy,
8055    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8056    pub programmaticEvent: cudaLaunchAttributeValue__bindgen_ty_2,
8057    pub priority: ::core::ffi::c_int,
8058    pub memSyncDomainMap: cudaLaunchMemSyncDomainMap,
8059    pub memSyncDomain: cudaLaunchMemSyncDomain,
8060    pub launchCompletionEvent: cudaLaunchAttributeValue__bindgen_ty_3,
8061    pub deviceUpdatableKernelNode: cudaLaunchAttributeValue__bindgen_ty_4,
8062}
8063#[cfg(any(feature = "cuda-12050", feature = "cuda-12060"))]
8064#[repr(C)]
8065#[derive(Copy, Clone)]
8066pub union cudaLaunchAttributeValue {
8067    pub pad: [::core::ffi::c_char; 64usize],
8068    pub accessPolicyWindow: cudaAccessPolicyWindow,
8069    pub cooperative: ::core::ffi::c_int,
8070    pub syncPolicy: cudaSynchronizationPolicy,
8071    pub clusterDim: cudaLaunchAttributeValue__bindgen_ty_1,
8072    pub clusterSchedulingPolicyPreference: cudaClusterSchedulingPolicy,
8073    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8074    pub programmaticEvent: cudaLaunchAttributeValue__bindgen_ty_2,
8075    pub priority: ::core::ffi::c_int,
8076    pub memSyncDomainMap: cudaLaunchMemSyncDomainMap,
8077    pub memSyncDomain: cudaLaunchMemSyncDomain,
8078    pub launchCompletionEvent: cudaLaunchAttributeValue__bindgen_ty_3,
8079    pub deviceUpdatableKernelNode: cudaLaunchAttributeValue__bindgen_ty_4,
8080    pub sharedMemCarveout: ::core::ffi::c_uint,
8081}
8082#[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
8083#[repr(C)]
8084#[derive(Copy, Clone)]
8085pub union cudaLaunchAttributeValue {
8086    pub pad: [::core::ffi::c_char; 64usize],
8087    pub accessPolicyWindow: cudaAccessPolicyWindow,
8088    pub cooperative: ::core::ffi::c_int,
8089    pub syncPolicy: cudaSynchronizationPolicy,
8090    pub clusterDim: cudaLaunchAttributeValue__bindgen_ty_1,
8091    pub clusterSchedulingPolicyPreference: cudaClusterSchedulingPolicy,
8092    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8093    pub programmaticEvent: cudaLaunchAttributeValue__bindgen_ty_2,
8094    pub priority: ::core::ffi::c_int,
8095    pub memSyncDomainMap: cudaLaunchMemSyncDomainMap,
8096    pub memSyncDomain: cudaLaunchMemSyncDomain,
8097    pub preferredClusterDim: cudaLaunchAttributeValue__bindgen_ty_3,
8098    pub launchCompletionEvent: cudaLaunchAttributeValue__bindgen_ty_4,
8099    pub deviceUpdatableKernelNode: cudaLaunchAttributeValue__bindgen_ty_5,
8100    pub sharedMemCarveout: ::core::ffi::c_uint,
8101}
8102#[cfg(any(feature = "cuda-13000"))]
8103#[repr(C)]
8104#[derive(Copy, Clone)]
8105pub union cudaLaunchAttributeValue {
8106    pub pad: [::core::ffi::c_char; 64usize],
8107    pub accessPolicyWindow: cudaAccessPolicyWindow,
8108    pub cooperative: ::core::ffi::c_int,
8109    pub syncPolicy: cudaSynchronizationPolicy,
8110    pub clusterDim: cudaLaunchAttributeValue__bindgen_ty_1,
8111    pub clusterSchedulingPolicyPreference: cudaClusterSchedulingPolicy,
8112    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8113    pub programmaticEvent: cudaLaunchAttributeValue__bindgen_ty_2,
8114    pub priority: ::core::ffi::c_int,
8115    pub memSyncDomainMap: cudaLaunchMemSyncDomainMap,
8116    pub memSyncDomain: cudaLaunchMemSyncDomain,
8117    pub preferredClusterDim: cudaLaunchAttributeValue__bindgen_ty_3,
8118    pub launchCompletionEvent: cudaLaunchAttributeValue__bindgen_ty_4,
8119    pub deviceUpdatableKernelNode: cudaLaunchAttributeValue__bindgen_ty_5,
8120    pub sharedMemCarveout: ::core::ffi::c_uint,
8121    pub nvlinkUtilCentricScheduling: ::core::ffi::c_uint,
8122}
8123#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
8124#[repr(C)]
8125#[derive(Copy, Clone)]
8126pub union cudaMemcpy3DOperand__bindgen_ty_1 {
8127    pub ptr: cudaMemcpy3DOperand__bindgen_ty_1__bindgen_ty_1,
8128    pub array: cudaMemcpy3DOperand__bindgen_ty_1__bindgen_ty_2,
8129}
8130#[cfg(any(
8131    feature = "cuda-11040",
8132    feature = "cuda-11050",
8133    feature = "cuda-11060",
8134    feature = "cuda-11070",
8135    feature = "cuda-11080",
8136    feature = "cuda-12000",
8137    feature = "cuda-12010",
8138    feature = "cuda-12020",
8139    feature = "cuda-12030",
8140    feature = "cuda-12040",
8141    feature = "cuda-12050",
8142    feature = "cuda-12060",
8143    feature = "cuda-12080",
8144    feature = "cuda-12090"
8145))]
8146#[repr(C)]
8147#[derive(Copy, Clone)]
8148pub union cudaResourceDesc__bindgen_ty_1 {
8149    pub array: cudaResourceDesc__bindgen_ty_1__bindgen_ty_1,
8150    pub mipmap: cudaResourceDesc__bindgen_ty_1__bindgen_ty_2,
8151    pub linear: cudaResourceDesc__bindgen_ty_1__bindgen_ty_3,
8152    pub pitch2D: cudaResourceDesc__bindgen_ty_1__bindgen_ty_4,
8153}
8154#[cfg(any(feature = "cuda-13000"))]
8155#[repr(C)]
8156#[derive(Copy, Clone)]
8157pub union cudaResourceDesc__bindgen_ty_1 {
8158    pub array: cudaResourceDesc__bindgen_ty_1__bindgen_ty_1,
8159    pub mipmap: cudaResourceDesc__bindgen_ty_1__bindgen_ty_2,
8160    pub linear: cudaResourceDesc__bindgen_ty_1__bindgen_ty_3,
8161    pub pitch2D: cudaResourceDesc__bindgen_ty_1__bindgen_ty_4,
8162    pub reserved: cudaResourceDesc__bindgen_ty_1__bindgen_ty_5,
8163}
8164#[cfg(any(
8165    feature = "cuda-11040",
8166    feature = "cuda-11050",
8167    feature = "cuda-11060",
8168    feature = "cuda-11070"
8169))]
8170#[repr(C)]
8171#[derive(Copy, Clone)]
8172pub union cudaStreamAttrValue {
8173    pub accessPolicyWindow: cudaAccessPolicyWindow,
8174    pub syncPolicy: cudaSynchronizationPolicy,
8175}
8176#[cfg(not(feature = "dynamic-loading"))]
8177extern "C" {
8178    pub fn cudaArrayGetInfo(
8179        desc: *mut cudaChannelFormatDesc,
8180        extent: *mut cudaExtent,
8181        flags: *mut ::core::ffi::c_uint,
8182        array: cudaArray_t,
8183    ) -> cudaError_t;
8184    #[cfg(any(
8185        feature = "cuda-11060",
8186        feature = "cuda-11070",
8187        feature = "cuda-11080",
8188        feature = "cuda-12000",
8189        feature = "cuda-12010",
8190        feature = "cuda-12020",
8191        feature = "cuda-12030",
8192        feature = "cuda-12040",
8193        feature = "cuda-12050",
8194        feature = "cuda-12060",
8195        feature = "cuda-12080",
8196        feature = "cuda-12090",
8197        feature = "cuda-13000"
8198    ))]
8199    pub fn cudaArrayGetMemoryRequirements(
8200        memoryRequirements: *mut cudaArrayMemoryRequirements,
8201        array: cudaArray_t,
8202        device: ::core::ffi::c_int,
8203    ) -> cudaError_t;
8204    pub fn cudaArrayGetPlane(
8205        pPlaneArray: *mut cudaArray_t,
8206        hArray: cudaArray_t,
8207        planeIdx: ::core::ffi::c_uint,
8208    ) -> cudaError_t;
8209    pub fn cudaArrayGetSparseProperties(
8210        sparseProperties: *mut cudaArraySparseProperties,
8211        array: cudaArray_t,
8212    ) -> cudaError_t;
8213    #[cfg(any(
8214        feature = "cuda-11040",
8215        feature = "cuda-11050",
8216        feature = "cuda-11060",
8217        feature = "cuda-11070",
8218        feature = "cuda-11080"
8219    ))]
8220    pub fn cudaBindSurfaceToArray(
8221        surfref: *const surfaceReference,
8222        array: cudaArray_const_t,
8223        desc: *const cudaChannelFormatDesc,
8224    ) -> cudaError_t;
8225    #[cfg(any(
8226        feature = "cuda-11040",
8227        feature = "cuda-11050",
8228        feature = "cuda-11060",
8229        feature = "cuda-11070",
8230        feature = "cuda-11080"
8231    ))]
8232    pub fn cudaBindTexture(
8233        offset: *mut usize,
8234        texref: *const textureReference,
8235        devPtr: *const ::core::ffi::c_void,
8236        desc: *const cudaChannelFormatDesc,
8237        size: usize,
8238    ) -> cudaError_t;
8239    #[cfg(any(
8240        feature = "cuda-11040",
8241        feature = "cuda-11050",
8242        feature = "cuda-11060",
8243        feature = "cuda-11070",
8244        feature = "cuda-11080"
8245    ))]
8246    pub fn cudaBindTexture2D(
8247        offset: *mut usize,
8248        texref: *const textureReference,
8249        devPtr: *const ::core::ffi::c_void,
8250        desc: *const cudaChannelFormatDesc,
8251        width: usize,
8252        height: usize,
8253        pitch: usize,
8254    ) -> cudaError_t;
8255    #[cfg(any(
8256        feature = "cuda-11040",
8257        feature = "cuda-11050",
8258        feature = "cuda-11060",
8259        feature = "cuda-11070",
8260        feature = "cuda-11080"
8261    ))]
8262    pub fn cudaBindTextureToArray(
8263        texref: *const textureReference,
8264        array: cudaArray_const_t,
8265        desc: *const cudaChannelFormatDesc,
8266    ) -> cudaError_t;
8267    #[cfg(any(
8268        feature = "cuda-11040",
8269        feature = "cuda-11050",
8270        feature = "cuda-11060",
8271        feature = "cuda-11070",
8272        feature = "cuda-11080"
8273    ))]
8274    pub fn cudaBindTextureToMipmappedArray(
8275        texref: *const textureReference,
8276        mipmappedArray: cudaMipmappedArray_const_t,
8277        desc: *const cudaChannelFormatDesc,
8278    ) -> cudaError_t;
8279    pub fn cudaChooseDevice(
8280        device: *mut ::core::ffi::c_int,
8281        prop: *const cudaDeviceProp,
8282    ) -> cudaError_t;
8283    pub fn cudaCreateChannelDesc(
8284        x: ::core::ffi::c_int,
8285        y: ::core::ffi::c_int,
8286        z: ::core::ffi::c_int,
8287        w: ::core::ffi::c_int,
8288        f: cudaChannelFormatKind,
8289    ) -> cudaChannelFormatDesc;
8290    pub fn cudaCreateSurfaceObject(
8291        pSurfObject: *mut cudaSurfaceObject_t,
8292        pResDesc: *const cudaResourceDesc,
8293    ) -> cudaError_t;
8294    pub fn cudaCreateTextureObject(
8295        pTexObject: *mut cudaTextureObject_t,
8296        pResDesc: *const cudaResourceDesc,
8297        pTexDesc: *const cudaTextureDesc,
8298        pResViewDesc: *const cudaResourceViewDesc,
8299    ) -> cudaError_t;
8300    #[cfg(any(feature = "cuda-11080"))]
8301    pub fn cudaCreateTextureObject_v2(
8302        pTexObject: *mut cudaTextureObject_t,
8303        pResDesc: *const cudaResourceDesc,
8304        pTexDesc: *const cudaTextureDesc_v2,
8305        pResViewDesc: *const cudaResourceViewDesc,
8306    ) -> cudaError_t;
8307    pub fn cudaCtxResetPersistingL2Cache() -> cudaError_t;
8308    pub fn cudaDestroyExternalMemory(extMem: cudaExternalMemory_t) -> cudaError_t;
8309    pub fn cudaDestroyExternalSemaphore(extSem: cudaExternalSemaphore_t) -> cudaError_t;
8310    pub fn cudaDestroySurfaceObject(surfObject: cudaSurfaceObject_t) -> cudaError_t;
8311    pub fn cudaDestroyTextureObject(texObject: cudaTextureObject_t) -> cudaError_t;
8312    pub fn cudaDeviceCanAccessPeer(
8313        canAccessPeer: *mut ::core::ffi::c_int,
8314        device: ::core::ffi::c_int,
8315        peerDevice: ::core::ffi::c_int,
8316    ) -> cudaError_t;
8317    pub fn cudaDeviceDisablePeerAccess(peerDevice: ::core::ffi::c_int) -> cudaError_t;
8318    pub fn cudaDeviceEnablePeerAccess(
8319        peerDevice: ::core::ffi::c_int,
8320        flags: ::core::ffi::c_uint,
8321    ) -> cudaError_t;
8322    pub fn cudaDeviceFlushGPUDirectRDMAWrites(
8323        target: cudaFlushGPUDirectRDMAWritesTarget,
8324        scope: cudaFlushGPUDirectRDMAWritesScope,
8325    ) -> cudaError_t;
8326    pub fn cudaDeviceGetAttribute(
8327        value: *mut ::core::ffi::c_int,
8328        attr: cudaDeviceAttr,
8329        device: ::core::ffi::c_int,
8330    ) -> cudaError_t;
8331    pub fn cudaDeviceGetByPCIBusId(
8332        device: *mut ::core::ffi::c_int,
8333        pciBusId: *const ::core::ffi::c_char,
8334    ) -> cudaError_t;
8335    pub fn cudaDeviceGetCacheConfig(pCacheConfig: *mut cudaFuncCache) -> cudaError_t;
8336    pub fn cudaDeviceGetDefaultMemPool(
8337        memPool: *mut cudaMemPool_t,
8338        device: ::core::ffi::c_int,
8339    ) -> cudaError_t;
8340    pub fn cudaDeviceGetGraphMemAttribute(
8341        device: ::core::ffi::c_int,
8342        attr: cudaGraphMemAttributeType,
8343        value: *mut ::core::ffi::c_void,
8344    ) -> cudaError_t;
8345    #[cfg(any(feature = "cuda-13000"))]
8346    pub fn cudaDeviceGetHostAtomicCapabilities(
8347        capabilities: *mut ::core::ffi::c_uint,
8348        operations: *const cudaAtomicOperation,
8349        count: ::core::ffi::c_uint,
8350        device: ::core::ffi::c_int,
8351    ) -> cudaError_t;
8352    pub fn cudaDeviceGetLimit(pValue: *mut usize, limit: cudaLimit) -> cudaError_t;
8353    pub fn cudaDeviceGetMemPool(
8354        memPool: *mut cudaMemPool_t,
8355        device: ::core::ffi::c_int,
8356    ) -> cudaError_t;
8357    #[cfg(any(feature = "cuda-13000"))]
8358    pub fn cudaDeviceGetP2PAtomicCapabilities(
8359        capabilities: *mut ::core::ffi::c_uint,
8360        operations: *const cudaAtomicOperation,
8361        count: ::core::ffi::c_uint,
8362        srcDevice: ::core::ffi::c_int,
8363        dstDevice: ::core::ffi::c_int,
8364    ) -> cudaError_t;
8365    pub fn cudaDeviceGetP2PAttribute(
8366        value: *mut ::core::ffi::c_int,
8367        attr: cudaDeviceP2PAttr,
8368        srcDevice: ::core::ffi::c_int,
8369        dstDevice: ::core::ffi::c_int,
8370    ) -> cudaError_t;
8371    pub fn cudaDeviceGetPCIBusId(
8372        pciBusId: *mut ::core::ffi::c_char,
8373        len: ::core::ffi::c_int,
8374        device: ::core::ffi::c_int,
8375    ) -> cudaError_t;
8376    pub fn cudaDeviceGetSharedMemConfig(pConfig: *mut cudaSharedMemConfig) -> cudaError_t;
8377    pub fn cudaDeviceGetStreamPriorityRange(
8378        leastPriority: *mut ::core::ffi::c_int,
8379        greatestPriority: *mut ::core::ffi::c_int,
8380    ) -> cudaError_t;
8381    pub fn cudaDeviceGetTexture1DLinearMaxWidth(
8382        maxWidthInElements: *mut usize,
8383        fmtDesc: *const cudaChannelFormatDesc,
8384        device: ::core::ffi::c_int,
8385    ) -> cudaError_t;
8386    pub fn cudaDeviceGraphMemTrim(device: ::core::ffi::c_int) -> cudaError_t;
8387    #[cfg(any(
8388        feature = "cuda-12040",
8389        feature = "cuda-12050",
8390        feature = "cuda-12060",
8391        feature = "cuda-12080",
8392        feature = "cuda-12090",
8393        feature = "cuda-13000"
8394    ))]
8395    pub fn cudaDeviceRegisterAsyncNotification(
8396        device: ::core::ffi::c_int,
8397        callbackFunc: cudaAsyncCallback,
8398        userData: *mut ::core::ffi::c_void,
8399        callback: *mut cudaAsyncCallbackHandle_t,
8400    ) -> cudaError_t;
8401    pub fn cudaDeviceReset() -> cudaError_t;
8402    pub fn cudaDeviceSetCacheConfig(cacheConfig: cudaFuncCache) -> cudaError_t;
8403    pub fn cudaDeviceSetGraphMemAttribute(
8404        device: ::core::ffi::c_int,
8405        attr: cudaGraphMemAttributeType,
8406        value: *mut ::core::ffi::c_void,
8407    ) -> cudaError_t;
8408    pub fn cudaDeviceSetLimit(limit: cudaLimit, value: usize) -> cudaError_t;
8409    pub fn cudaDeviceSetMemPool(device: ::core::ffi::c_int, memPool: cudaMemPool_t) -> cudaError_t;
8410    pub fn cudaDeviceSetSharedMemConfig(config: cudaSharedMemConfig) -> cudaError_t;
8411    pub fn cudaDeviceSynchronize() -> cudaError_t;
8412    #[cfg(any(
8413        feature = "cuda-12040",
8414        feature = "cuda-12050",
8415        feature = "cuda-12060",
8416        feature = "cuda-12080",
8417        feature = "cuda-12090",
8418        feature = "cuda-13000"
8419    ))]
8420    pub fn cudaDeviceUnregisterAsyncNotification(
8421        device: ::core::ffi::c_int,
8422        callback: cudaAsyncCallbackHandle_t,
8423    ) -> cudaError_t;
8424    pub fn cudaDriverGetVersion(driverVersion: *mut ::core::ffi::c_int) -> cudaError_t;
8425    pub fn cudaEventCreate(event: *mut cudaEvent_t) -> cudaError_t;
8426    pub fn cudaEventCreateWithFlags(
8427        event: *mut cudaEvent_t,
8428        flags: ::core::ffi::c_uint,
8429    ) -> cudaError_t;
8430    pub fn cudaEventDestroy(event: cudaEvent_t) -> cudaError_t;
8431    pub fn cudaEventElapsedTime(ms: *mut f32, start: cudaEvent_t, end: cudaEvent_t) -> cudaError_t;
8432    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
8433    pub fn cudaEventElapsedTime_v2(
8434        ms: *mut f32,
8435        start: cudaEvent_t,
8436        end: cudaEvent_t,
8437    ) -> cudaError_t;
8438    pub fn cudaEventQuery(event: cudaEvent_t) -> cudaError_t;
8439    pub fn cudaEventRecord(event: cudaEvent_t, stream: cudaStream_t) -> cudaError_t;
8440    pub fn cudaEventRecordWithFlags(
8441        event: cudaEvent_t,
8442        stream: cudaStream_t,
8443        flags: ::core::ffi::c_uint,
8444    ) -> cudaError_t;
8445    pub fn cudaEventSynchronize(event: cudaEvent_t) -> cudaError_t;
8446    pub fn cudaExternalMemoryGetMappedBuffer(
8447        devPtr: *mut *mut ::core::ffi::c_void,
8448        extMem: cudaExternalMemory_t,
8449        bufferDesc: *const cudaExternalMemoryBufferDesc,
8450    ) -> cudaError_t;
8451    pub fn cudaExternalMemoryGetMappedMipmappedArray(
8452        mipmap: *mut cudaMipmappedArray_t,
8453        extMem: cudaExternalMemory_t,
8454        mipmapDesc: *const cudaExternalMemoryMipmappedArrayDesc,
8455    ) -> cudaError_t;
8456    pub fn cudaFree(devPtr: *mut ::core::ffi::c_void) -> cudaError_t;
8457    pub fn cudaFreeArray(array: cudaArray_t) -> cudaError_t;
8458    pub fn cudaFreeAsync(devPtr: *mut ::core::ffi::c_void, hStream: cudaStream_t) -> cudaError_t;
8459    pub fn cudaFreeHost(ptr: *mut ::core::ffi::c_void) -> cudaError_t;
8460    pub fn cudaFreeMipmappedArray(mipmappedArray: cudaMipmappedArray_t) -> cudaError_t;
8461    pub fn cudaFuncGetAttributes(
8462        attr: *mut cudaFuncAttributes,
8463        func: *const ::core::ffi::c_void,
8464    ) -> cudaError_t;
8465    #[cfg(any(
8466        feature = "cuda-12030",
8467        feature = "cuda-12040",
8468        feature = "cuda-12050",
8469        feature = "cuda-12060",
8470        feature = "cuda-12080",
8471        feature = "cuda-12090",
8472        feature = "cuda-13000"
8473    ))]
8474    pub fn cudaFuncGetName(
8475        name: *mut *const ::core::ffi::c_char,
8476        func: *const ::core::ffi::c_void,
8477    ) -> cudaError_t;
8478    #[cfg(any(
8479        feature = "cuda-12040",
8480        feature = "cuda-12050",
8481        feature = "cuda-12060",
8482        feature = "cuda-12080",
8483        feature = "cuda-12090",
8484        feature = "cuda-13000"
8485    ))]
8486    pub fn cudaFuncGetParamInfo(
8487        func: *const ::core::ffi::c_void,
8488        paramIndex: usize,
8489        paramOffset: *mut usize,
8490        paramSize: *mut usize,
8491    ) -> cudaError_t;
8492    pub fn cudaFuncSetAttribute(
8493        func: *const ::core::ffi::c_void,
8494        attr: cudaFuncAttribute,
8495        value: ::core::ffi::c_int,
8496    ) -> cudaError_t;
8497    pub fn cudaFuncSetCacheConfig(
8498        func: *const ::core::ffi::c_void,
8499        cacheConfig: cudaFuncCache,
8500    ) -> cudaError_t;
8501    pub fn cudaFuncSetSharedMemConfig(
8502        func: *const ::core::ffi::c_void,
8503        config: cudaSharedMemConfig,
8504    ) -> cudaError_t;
8505    pub fn cudaGetChannelDesc(
8506        desc: *mut cudaChannelFormatDesc,
8507        array: cudaArray_const_t,
8508    ) -> cudaError_t;
8509    pub fn cudaGetDevice(device: *mut ::core::ffi::c_int) -> cudaError_t;
8510    pub fn cudaGetDeviceCount(count: *mut ::core::ffi::c_int) -> cudaError_t;
8511    pub fn cudaGetDeviceFlags(flags: *mut ::core::ffi::c_uint) -> cudaError_t;
8512    #[cfg(any(
8513        feature = "cuda-11040",
8514        feature = "cuda-11050",
8515        feature = "cuda-11060",
8516        feature = "cuda-11070",
8517        feature = "cuda-11080",
8518        feature = "cuda-13000"
8519    ))]
8520    pub fn cudaGetDeviceProperties(
8521        prop: *mut cudaDeviceProp,
8522        device: ::core::ffi::c_int,
8523    ) -> cudaError_t;
8524    #[cfg(any(
8525        feature = "cuda-12000",
8526        feature = "cuda-12010",
8527        feature = "cuda-12020",
8528        feature = "cuda-12030",
8529        feature = "cuda-12040",
8530        feature = "cuda-12050",
8531        feature = "cuda-12060",
8532        feature = "cuda-12080",
8533        feature = "cuda-12090"
8534    ))]
8535    pub fn cudaGetDeviceProperties_v2(
8536        prop: *mut cudaDeviceProp,
8537        device: ::core::ffi::c_int,
8538    ) -> cudaError_t;
8539    #[cfg(any(
8540        feature = "cuda-11040",
8541        feature = "cuda-11050",
8542        feature = "cuda-11060",
8543        feature = "cuda-11070",
8544        feature = "cuda-11080"
8545    ))]
8546    pub fn cudaGetDriverEntryPoint(
8547        symbol: *const ::core::ffi::c_char,
8548        funcPtr: *mut *mut ::core::ffi::c_void,
8549        flags: ::core::ffi::c_ulonglong,
8550    ) -> cudaError_t;
8551    #[cfg(any(
8552        feature = "cuda-12000",
8553        feature = "cuda-12010",
8554        feature = "cuda-12020",
8555        feature = "cuda-12030",
8556        feature = "cuda-12040",
8557        feature = "cuda-12050",
8558        feature = "cuda-12060",
8559        feature = "cuda-12080",
8560        feature = "cuda-12090",
8561        feature = "cuda-13000"
8562    ))]
8563    pub fn cudaGetDriverEntryPoint(
8564        symbol: *const ::core::ffi::c_char,
8565        funcPtr: *mut *mut ::core::ffi::c_void,
8566        flags: ::core::ffi::c_ulonglong,
8567        driverStatus: *mut cudaDriverEntryPointQueryResult,
8568    ) -> cudaError_t;
8569    #[cfg(any(
8570        feature = "cuda-12050",
8571        feature = "cuda-12060",
8572        feature = "cuda-12080",
8573        feature = "cuda-12090",
8574        feature = "cuda-13000"
8575    ))]
8576    pub fn cudaGetDriverEntryPointByVersion(
8577        symbol: *const ::core::ffi::c_char,
8578        funcPtr: *mut *mut ::core::ffi::c_void,
8579        cudaVersion: ::core::ffi::c_uint,
8580        flags: ::core::ffi::c_ulonglong,
8581        driverStatus: *mut cudaDriverEntryPointQueryResult,
8582    ) -> cudaError_t;
8583    pub fn cudaGetErrorName(error: cudaError_t) -> *const ::core::ffi::c_char;
8584    pub fn cudaGetErrorString(error: cudaError_t) -> *const ::core::ffi::c_char;
8585    pub fn cudaGetExportTable(
8586        ppExportTable: *mut *const ::core::ffi::c_void,
8587        pExportTableId: *const cudaUUID_t,
8588    ) -> cudaError_t;
8589    pub fn cudaGetFuncBySymbol(
8590        functionPtr: *mut cudaFunction_t,
8591        symbolPtr: *const ::core::ffi::c_void,
8592    ) -> cudaError_t;
8593    #[cfg(any(
8594        feature = "cuda-12010",
8595        feature = "cuda-12020",
8596        feature = "cuda-12030",
8597        feature = "cuda-12040",
8598        feature = "cuda-12050",
8599        feature = "cuda-12060",
8600        feature = "cuda-12080",
8601        feature = "cuda-12090",
8602        feature = "cuda-13000"
8603    ))]
8604    pub fn cudaGetKernel(
8605        kernelPtr: *mut cudaKernel_t,
8606        entryFuncAddr: *const ::core::ffi::c_void,
8607    ) -> cudaError_t;
8608    pub fn cudaGetLastError() -> cudaError_t;
8609    pub fn cudaGetMipmappedArrayLevel(
8610        levelArray: *mut cudaArray_t,
8611        mipmappedArray: cudaMipmappedArray_const_t,
8612        level: ::core::ffi::c_uint,
8613    ) -> cudaError_t;
8614    pub fn cudaGetSurfaceObjectResourceDesc(
8615        pResDesc: *mut cudaResourceDesc,
8616        surfObject: cudaSurfaceObject_t,
8617    ) -> cudaError_t;
8618    #[cfg(any(
8619        feature = "cuda-11040",
8620        feature = "cuda-11050",
8621        feature = "cuda-11060",
8622        feature = "cuda-11070",
8623        feature = "cuda-11080"
8624    ))]
8625    pub fn cudaGetSurfaceReference(
8626        surfref: *mut *const surfaceReference,
8627        symbol: *const ::core::ffi::c_void,
8628    ) -> cudaError_t;
8629    pub fn cudaGetSymbolAddress(
8630        devPtr: *mut *mut ::core::ffi::c_void,
8631        symbol: *const ::core::ffi::c_void,
8632    ) -> cudaError_t;
8633    pub fn cudaGetSymbolSize(size: *mut usize, symbol: *const ::core::ffi::c_void) -> cudaError_t;
8634    #[cfg(any(
8635        feature = "cuda-11040",
8636        feature = "cuda-11050",
8637        feature = "cuda-11060",
8638        feature = "cuda-11070",
8639        feature = "cuda-11080"
8640    ))]
8641    pub fn cudaGetTextureAlignmentOffset(
8642        offset: *mut usize,
8643        texref: *const textureReference,
8644    ) -> cudaError_t;
8645    pub fn cudaGetTextureObjectResourceDesc(
8646        pResDesc: *mut cudaResourceDesc,
8647        texObject: cudaTextureObject_t,
8648    ) -> cudaError_t;
8649    pub fn cudaGetTextureObjectResourceViewDesc(
8650        pResViewDesc: *mut cudaResourceViewDesc,
8651        texObject: cudaTextureObject_t,
8652    ) -> cudaError_t;
8653    pub fn cudaGetTextureObjectTextureDesc(
8654        pTexDesc: *mut cudaTextureDesc,
8655        texObject: cudaTextureObject_t,
8656    ) -> cudaError_t;
8657    #[cfg(any(feature = "cuda-11080"))]
8658    pub fn cudaGetTextureObjectTextureDesc_v2(
8659        pTexDesc: *mut cudaTextureDesc_v2,
8660        texObject: cudaTextureObject_t,
8661    ) -> cudaError_t;
8662    #[cfg(any(
8663        feature = "cuda-11040",
8664        feature = "cuda-11050",
8665        feature = "cuda-11060",
8666        feature = "cuda-11070",
8667        feature = "cuda-11080"
8668    ))]
8669    pub fn cudaGetTextureReference(
8670        texref: *mut *const textureReference,
8671        symbol: *const ::core::ffi::c_void,
8672    ) -> cudaError_t;
8673    pub fn cudaGraphAddChildGraphNode(
8674        pGraphNode: *mut cudaGraphNode_t,
8675        graph: cudaGraph_t,
8676        pDependencies: *const cudaGraphNode_t,
8677        numDependencies: usize,
8678        childGraph: cudaGraph_t,
8679    ) -> cudaError_t;
8680    #[cfg(any(
8681        feature = "cuda-11040",
8682        feature = "cuda-11050",
8683        feature = "cuda-11060",
8684        feature = "cuda-11070",
8685        feature = "cuda-11080",
8686        feature = "cuda-12000",
8687        feature = "cuda-12010",
8688        feature = "cuda-12020",
8689        feature = "cuda-12030",
8690        feature = "cuda-12040",
8691        feature = "cuda-12050",
8692        feature = "cuda-12060",
8693        feature = "cuda-12080",
8694        feature = "cuda-12090"
8695    ))]
8696    pub fn cudaGraphAddDependencies(
8697        graph: cudaGraph_t,
8698        from: *const cudaGraphNode_t,
8699        to: *const cudaGraphNode_t,
8700        numDependencies: usize,
8701    ) -> cudaError_t;
8702    #[cfg(any(feature = "cuda-13000"))]
8703    pub fn cudaGraphAddDependencies(
8704        graph: cudaGraph_t,
8705        from: *const cudaGraphNode_t,
8706        to: *const cudaGraphNode_t,
8707        edgeData: *const cudaGraphEdgeData,
8708        numDependencies: usize,
8709    ) -> cudaError_t;
8710    #[cfg(any(
8711        feature = "cuda-12030",
8712        feature = "cuda-12040",
8713        feature = "cuda-12050",
8714        feature = "cuda-12060",
8715        feature = "cuda-12080",
8716        feature = "cuda-12090"
8717    ))]
8718    pub fn cudaGraphAddDependencies_v2(
8719        graph: cudaGraph_t,
8720        from: *const cudaGraphNode_t,
8721        to: *const cudaGraphNode_t,
8722        edgeData: *const cudaGraphEdgeData,
8723        numDependencies: usize,
8724    ) -> cudaError_t;
8725    pub fn cudaGraphAddEmptyNode(
8726        pGraphNode: *mut cudaGraphNode_t,
8727        graph: cudaGraph_t,
8728        pDependencies: *const cudaGraphNode_t,
8729        numDependencies: usize,
8730    ) -> cudaError_t;
8731    pub fn cudaGraphAddEventRecordNode(
8732        pGraphNode: *mut cudaGraphNode_t,
8733        graph: cudaGraph_t,
8734        pDependencies: *const cudaGraphNode_t,
8735        numDependencies: usize,
8736        event: cudaEvent_t,
8737    ) -> cudaError_t;
8738    pub fn cudaGraphAddEventWaitNode(
8739        pGraphNode: *mut cudaGraphNode_t,
8740        graph: cudaGraph_t,
8741        pDependencies: *const cudaGraphNode_t,
8742        numDependencies: usize,
8743        event: cudaEvent_t,
8744    ) -> cudaError_t;
8745    pub fn cudaGraphAddExternalSemaphoresSignalNode(
8746        pGraphNode: *mut cudaGraphNode_t,
8747        graph: cudaGraph_t,
8748        pDependencies: *const cudaGraphNode_t,
8749        numDependencies: usize,
8750        nodeParams: *const cudaExternalSemaphoreSignalNodeParams,
8751    ) -> cudaError_t;
8752    pub fn cudaGraphAddExternalSemaphoresWaitNode(
8753        pGraphNode: *mut cudaGraphNode_t,
8754        graph: cudaGraph_t,
8755        pDependencies: *const cudaGraphNode_t,
8756        numDependencies: usize,
8757        nodeParams: *const cudaExternalSemaphoreWaitNodeParams,
8758    ) -> cudaError_t;
8759    pub fn cudaGraphAddHostNode(
8760        pGraphNode: *mut cudaGraphNode_t,
8761        graph: cudaGraph_t,
8762        pDependencies: *const cudaGraphNode_t,
8763        numDependencies: usize,
8764        pNodeParams: *const cudaHostNodeParams,
8765    ) -> cudaError_t;
8766    pub fn cudaGraphAddKernelNode(
8767        pGraphNode: *mut cudaGraphNode_t,
8768        graph: cudaGraph_t,
8769        pDependencies: *const cudaGraphNode_t,
8770        numDependencies: usize,
8771        pNodeParams: *const cudaKernelNodeParams,
8772    ) -> cudaError_t;
8773    pub fn cudaGraphAddMemAllocNode(
8774        pGraphNode: *mut cudaGraphNode_t,
8775        graph: cudaGraph_t,
8776        pDependencies: *const cudaGraphNode_t,
8777        numDependencies: usize,
8778        nodeParams: *mut cudaMemAllocNodeParams,
8779    ) -> cudaError_t;
8780    pub fn cudaGraphAddMemFreeNode(
8781        pGraphNode: *mut cudaGraphNode_t,
8782        graph: cudaGraph_t,
8783        pDependencies: *const cudaGraphNode_t,
8784        numDependencies: usize,
8785        dptr: *mut ::core::ffi::c_void,
8786    ) -> cudaError_t;
8787    pub fn cudaGraphAddMemcpyNode(
8788        pGraphNode: *mut cudaGraphNode_t,
8789        graph: cudaGraph_t,
8790        pDependencies: *const cudaGraphNode_t,
8791        numDependencies: usize,
8792        pCopyParams: *const cudaMemcpy3DParms,
8793    ) -> cudaError_t;
8794    pub fn cudaGraphAddMemcpyNode1D(
8795        pGraphNode: *mut cudaGraphNode_t,
8796        graph: cudaGraph_t,
8797        pDependencies: *const cudaGraphNode_t,
8798        numDependencies: usize,
8799        dst: *mut ::core::ffi::c_void,
8800        src: *const ::core::ffi::c_void,
8801        count: usize,
8802        kind: cudaMemcpyKind,
8803    ) -> cudaError_t;
8804    pub fn cudaGraphAddMemcpyNodeFromSymbol(
8805        pGraphNode: *mut cudaGraphNode_t,
8806        graph: cudaGraph_t,
8807        pDependencies: *const cudaGraphNode_t,
8808        numDependencies: usize,
8809        dst: *mut ::core::ffi::c_void,
8810        symbol: *const ::core::ffi::c_void,
8811        count: usize,
8812        offset: usize,
8813        kind: cudaMemcpyKind,
8814    ) -> cudaError_t;
8815    pub fn cudaGraphAddMemcpyNodeToSymbol(
8816        pGraphNode: *mut cudaGraphNode_t,
8817        graph: cudaGraph_t,
8818        pDependencies: *const cudaGraphNode_t,
8819        numDependencies: usize,
8820        symbol: *const ::core::ffi::c_void,
8821        src: *const ::core::ffi::c_void,
8822        count: usize,
8823        offset: usize,
8824        kind: cudaMemcpyKind,
8825    ) -> cudaError_t;
8826    pub fn cudaGraphAddMemsetNode(
8827        pGraphNode: *mut cudaGraphNode_t,
8828        graph: cudaGraph_t,
8829        pDependencies: *const cudaGraphNode_t,
8830        numDependencies: usize,
8831        pMemsetParams: *const cudaMemsetParams,
8832    ) -> cudaError_t;
8833    #[cfg(any(
8834        feature = "cuda-12020",
8835        feature = "cuda-12030",
8836        feature = "cuda-12040",
8837        feature = "cuda-12050",
8838        feature = "cuda-12060",
8839        feature = "cuda-12080",
8840        feature = "cuda-12090"
8841    ))]
8842    pub fn cudaGraphAddNode(
8843        pGraphNode: *mut cudaGraphNode_t,
8844        graph: cudaGraph_t,
8845        pDependencies: *const cudaGraphNode_t,
8846        numDependencies: usize,
8847        nodeParams: *mut cudaGraphNodeParams,
8848    ) -> cudaError_t;
8849    #[cfg(any(feature = "cuda-13000"))]
8850    pub fn cudaGraphAddNode(
8851        pGraphNode: *mut cudaGraphNode_t,
8852        graph: cudaGraph_t,
8853        pDependencies: *const cudaGraphNode_t,
8854        dependencyData: *const cudaGraphEdgeData,
8855        numDependencies: usize,
8856        nodeParams: *mut cudaGraphNodeParams,
8857    ) -> cudaError_t;
8858    #[cfg(any(
8859        feature = "cuda-12030",
8860        feature = "cuda-12040",
8861        feature = "cuda-12050",
8862        feature = "cuda-12060",
8863        feature = "cuda-12080",
8864        feature = "cuda-12090"
8865    ))]
8866    pub fn cudaGraphAddNode_v2(
8867        pGraphNode: *mut cudaGraphNode_t,
8868        graph: cudaGraph_t,
8869        pDependencies: *const cudaGraphNode_t,
8870        dependencyData: *const cudaGraphEdgeData,
8871        numDependencies: usize,
8872        nodeParams: *mut cudaGraphNodeParams,
8873    ) -> cudaError_t;
8874    pub fn cudaGraphChildGraphNodeGetGraph(
8875        node: cudaGraphNode_t,
8876        pGraph: *mut cudaGraph_t,
8877    ) -> cudaError_t;
8878    pub fn cudaGraphClone(pGraphClone: *mut cudaGraph_t, originalGraph: cudaGraph_t)
8879        -> cudaError_t;
8880    #[cfg(any(
8881        feature = "cuda-12030",
8882        feature = "cuda-12040",
8883        feature = "cuda-12050",
8884        feature = "cuda-12060",
8885        feature = "cuda-12080",
8886        feature = "cuda-12090",
8887        feature = "cuda-13000"
8888    ))]
8889    pub fn cudaGraphConditionalHandleCreate(
8890        pHandle_out: *mut cudaGraphConditionalHandle,
8891        graph: cudaGraph_t,
8892        defaultLaunchValue: ::core::ffi::c_uint,
8893        flags: ::core::ffi::c_uint,
8894    ) -> cudaError_t;
8895    pub fn cudaGraphCreate(pGraph: *mut cudaGraph_t, flags: ::core::ffi::c_uint) -> cudaError_t;
8896    pub fn cudaGraphDebugDotPrint(
8897        graph: cudaGraph_t,
8898        path: *const ::core::ffi::c_char,
8899        flags: ::core::ffi::c_uint,
8900    ) -> cudaError_t;
8901    pub fn cudaGraphDestroy(graph: cudaGraph_t) -> cudaError_t;
8902    pub fn cudaGraphDestroyNode(node: cudaGraphNode_t) -> cudaError_t;
8903    pub fn cudaGraphEventRecordNodeGetEvent(
8904        node: cudaGraphNode_t,
8905        event_out: *mut cudaEvent_t,
8906    ) -> cudaError_t;
8907    pub fn cudaGraphEventRecordNodeSetEvent(
8908        node: cudaGraphNode_t,
8909        event: cudaEvent_t,
8910    ) -> cudaError_t;
8911    pub fn cudaGraphEventWaitNodeGetEvent(
8912        node: cudaGraphNode_t,
8913        event_out: *mut cudaEvent_t,
8914    ) -> cudaError_t;
8915    pub fn cudaGraphEventWaitNodeSetEvent(node: cudaGraphNode_t, event: cudaEvent_t)
8916        -> cudaError_t;
8917    pub fn cudaGraphExecChildGraphNodeSetParams(
8918        hGraphExec: cudaGraphExec_t,
8919        node: cudaGraphNode_t,
8920        childGraph: cudaGraph_t,
8921    ) -> cudaError_t;
8922    pub fn cudaGraphExecDestroy(graphExec: cudaGraphExec_t) -> cudaError_t;
8923    pub fn cudaGraphExecEventRecordNodeSetEvent(
8924        hGraphExec: cudaGraphExec_t,
8925        hNode: cudaGraphNode_t,
8926        event: cudaEvent_t,
8927    ) -> cudaError_t;
8928    pub fn cudaGraphExecEventWaitNodeSetEvent(
8929        hGraphExec: cudaGraphExec_t,
8930        hNode: cudaGraphNode_t,
8931        event: cudaEvent_t,
8932    ) -> cudaError_t;
8933    pub fn cudaGraphExecExternalSemaphoresSignalNodeSetParams(
8934        hGraphExec: cudaGraphExec_t,
8935        hNode: cudaGraphNode_t,
8936        nodeParams: *const cudaExternalSemaphoreSignalNodeParams,
8937    ) -> cudaError_t;
8938    pub fn cudaGraphExecExternalSemaphoresWaitNodeSetParams(
8939        hGraphExec: cudaGraphExec_t,
8940        hNode: cudaGraphNode_t,
8941        nodeParams: *const cudaExternalSemaphoreWaitNodeParams,
8942    ) -> cudaError_t;
8943    #[cfg(any(
8944        feature = "cuda-12000",
8945        feature = "cuda-12010",
8946        feature = "cuda-12020",
8947        feature = "cuda-12030",
8948        feature = "cuda-12040",
8949        feature = "cuda-12050",
8950        feature = "cuda-12060",
8951        feature = "cuda-12080",
8952        feature = "cuda-12090",
8953        feature = "cuda-13000"
8954    ))]
8955    pub fn cudaGraphExecGetFlags(
8956        graphExec: cudaGraphExec_t,
8957        flags: *mut ::core::ffi::c_ulonglong,
8958    ) -> cudaError_t;
8959    pub fn cudaGraphExecHostNodeSetParams(
8960        hGraphExec: cudaGraphExec_t,
8961        node: cudaGraphNode_t,
8962        pNodeParams: *const cudaHostNodeParams,
8963    ) -> cudaError_t;
8964    pub fn cudaGraphExecKernelNodeSetParams(
8965        hGraphExec: cudaGraphExec_t,
8966        node: cudaGraphNode_t,
8967        pNodeParams: *const cudaKernelNodeParams,
8968    ) -> cudaError_t;
8969    pub fn cudaGraphExecMemcpyNodeSetParams(
8970        hGraphExec: cudaGraphExec_t,
8971        node: cudaGraphNode_t,
8972        pNodeParams: *const cudaMemcpy3DParms,
8973    ) -> cudaError_t;
8974    pub fn cudaGraphExecMemcpyNodeSetParams1D(
8975        hGraphExec: cudaGraphExec_t,
8976        node: cudaGraphNode_t,
8977        dst: *mut ::core::ffi::c_void,
8978        src: *const ::core::ffi::c_void,
8979        count: usize,
8980        kind: cudaMemcpyKind,
8981    ) -> cudaError_t;
8982    pub fn cudaGraphExecMemcpyNodeSetParamsFromSymbol(
8983        hGraphExec: cudaGraphExec_t,
8984        node: cudaGraphNode_t,
8985        dst: *mut ::core::ffi::c_void,
8986        symbol: *const ::core::ffi::c_void,
8987        count: usize,
8988        offset: usize,
8989        kind: cudaMemcpyKind,
8990    ) -> cudaError_t;
8991    pub fn cudaGraphExecMemcpyNodeSetParamsToSymbol(
8992        hGraphExec: cudaGraphExec_t,
8993        node: cudaGraphNode_t,
8994        symbol: *const ::core::ffi::c_void,
8995        src: *const ::core::ffi::c_void,
8996        count: usize,
8997        offset: usize,
8998        kind: cudaMemcpyKind,
8999    ) -> cudaError_t;
9000    pub fn cudaGraphExecMemsetNodeSetParams(
9001        hGraphExec: cudaGraphExec_t,
9002        node: cudaGraphNode_t,
9003        pNodeParams: *const cudaMemsetParams,
9004    ) -> cudaError_t;
9005    #[cfg(any(
9006        feature = "cuda-12020",
9007        feature = "cuda-12030",
9008        feature = "cuda-12040",
9009        feature = "cuda-12050",
9010        feature = "cuda-12060",
9011        feature = "cuda-12080",
9012        feature = "cuda-12090",
9013        feature = "cuda-13000"
9014    ))]
9015    pub fn cudaGraphExecNodeSetParams(
9016        graphExec: cudaGraphExec_t,
9017        node: cudaGraphNode_t,
9018        nodeParams: *mut cudaGraphNodeParams,
9019    ) -> cudaError_t;
9020    #[cfg(any(
9021        feature = "cuda-11040",
9022        feature = "cuda-11050",
9023        feature = "cuda-11060",
9024        feature = "cuda-11070",
9025        feature = "cuda-11080"
9026    ))]
9027    pub fn cudaGraphExecUpdate(
9028        hGraphExec: cudaGraphExec_t,
9029        hGraph: cudaGraph_t,
9030        hErrorNode_out: *mut cudaGraphNode_t,
9031        updateResult_out: *mut cudaGraphExecUpdateResult,
9032    ) -> cudaError_t;
9033    #[cfg(any(
9034        feature = "cuda-12000",
9035        feature = "cuda-12010",
9036        feature = "cuda-12020",
9037        feature = "cuda-12030",
9038        feature = "cuda-12040",
9039        feature = "cuda-12050",
9040        feature = "cuda-12060",
9041        feature = "cuda-12080",
9042        feature = "cuda-12090",
9043        feature = "cuda-13000"
9044    ))]
9045    pub fn cudaGraphExecUpdate(
9046        hGraphExec: cudaGraphExec_t,
9047        hGraph: cudaGraph_t,
9048        resultInfo: *mut cudaGraphExecUpdateResultInfo,
9049    ) -> cudaError_t;
9050    pub fn cudaGraphExternalSemaphoresSignalNodeGetParams(
9051        hNode: cudaGraphNode_t,
9052        params_out: *mut cudaExternalSemaphoreSignalNodeParams,
9053    ) -> cudaError_t;
9054    pub fn cudaGraphExternalSemaphoresSignalNodeSetParams(
9055        hNode: cudaGraphNode_t,
9056        nodeParams: *const cudaExternalSemaphoreSignalNodeParams,
9057    ) -> cudaError_t;
9058    pub fn cudaGraphExternalSemaphoresWaitNodeGetParams(
9059        hNode: cudaGraphNode_t,
9060        params_out: *mut cudaExternalSemaphoreWaitNodeParams,
9061    ) -> cudaError_t;
9062    pub fn cudaGraphExternalSemaphoresWaitNodeSetParams(
9063        hNode: cudaGraphNode_t,
9064        nodeParams: *const cudaExternalSemaphoreWaitNodeParams,
9065    ) -> cudaError_t;
9066    #[cfg(any(
9067        feature = "cuda-11040",
9068        feature = "cuda-11050",
9069        feature = "cuda-11060",
9070        feature = "cuda-11070",
9071        feature = "cuda-11080",
9072        feature = "cuda-12000",
9073        feature = "cuda-12010",
9074        feature = "cuda-12020",
9075        feature = "cuda-12030",
9076        feature = "cuda-12040",
9077        feature = "cuda-12050",
9078        feature = "cuda-12060",
9079        feature = "cuda-12080",
9080        feature = "cuda-12090"
9081    ))]
9082    pub fn cudaGraphGetEdges(
9083        graph: cudaGraph_t,
9084        from: *mut cudaGraphNode_t,
9085        to: *mut cudaGraphNode_t,
9086        numEdges: *mut usize,
9087    ) -> cudaError_t;
9088    #[cfg(any(feature = "cuda-13000"))]
9089    pub fn cudaGraphGetEdges(
9090        graph: cudaGraph_t,
9091        from: *mut cudaGraphNode_t,
9092        to: *mut cudaGraphNode_t,
9093        edgeData: *mut cudaGraphEdgeData,
9094        numEdges: *mut usize,
9095    ) -> cudaError_t;
9096    #[cfg(any(
9097        feature = "cuda-12030",
9098        feature = "cuda-12040",
9099        feature = "cuda-12050",
9100        feature = "cuda-12060",
9101        feature = "cuda-12080",
9102        feature = "cuda-12090"
9103    ))]
9104    pub fn cudaGraphGetEdges_v2(
9105        graph: cudaGraph_t,
9106        from: *mut cudaGraphNode_t,
9107        to: *mut cudaGraphNode_t,
9108        edgeData: *mut cudaGraphEdgeData,
9109        numEdges: *mut usize,
9110    ) -> cudaError_t;
9111    pub fn cudaGraphGetNodes(
9112        graph: cudaGraph_t,
9113        nodes: *mut cudaGraphNode_t,
9114        numNodes: *mut usize,
9115    ) -> cudaError_t;
9116    pub fn cudaGraphGetRootNodes(
9117        graph: cudaGraph_t,
9118        pRootNodes: *mut cudaGraphNode_t,
9119        pNumRootNodes: *mut usize,
9120    ) -> cudaError_t;
9121    pub fn cudaGraphHostNodeGetParams(
9122        node: cudaGraphNode_t,
9123        pNodeParams: *mut cudaHostNodeParams,
9124    ) -> cudaError_t;
9125    pub fn cudaGraphHostNodeSetParams(
9126        node: cudaGraphNode_t,
9127        pNodeParams: *const cudaHostNodeParams,
9128    ) -> cudaError_t;
9129    #[cfg(any(
9130        feature = "cuda-11040",
9131        feature = "cuda-11050",
9132        feature = "cuda-11060",
9133        feature = "cuda-11070",
9134        feature = "cuda-11080"
9135    ))]
9136    pub fn cudaGraphInstantiate(
9137        pGraphExec: *mut cudaGraphExec_t,
9138        graph: cudaGraph_t,
9139        pErrorNode: *mut cudaGraphNode_t,
9140        pLogBuffer: *mut ::core::ffi::c_char,
9141        bufferSize: usize,
9142    ) -> cudaError_t;
9143    #[cfg(any(
9144        feature = "cuda-12000",
9145        feature = "cuda-12010",
9146        feature = "cuda-12020",
9147        feature = "cuda-12030",
9148        feature = "cuda-12040",
9149        feature = "cuda-12050",
9150        feature = "cuda-12060",
9151        feature = "cuda-12080",
9152        feature = "cuda-12090",
9153        feature = "cuda-13000"
9154    ))]
9155    pub fn cudaGraphInstantiate(
9156        pGraphExec: *mut cudaGraphExec_t,
9157        graph: cudaGraph_t,
9158        flags: ::core::ffi::c_ulonglong,
9159    ) -> cudaError_t;
9160    pub fn cudaGraphInstantiateWithFlags(
9161        pGraphExec: *mut cudaGraphExec_t,
9162        graph: cudaGraph_t,
9163        flags: ::core::ffi::c_ulonglong,
9164    ) -> cudaError_t;
9165    #[cfg(any(
9166        feature = "cuda-12000",
9167        feature = "cuda-12010",
9168        feature = "cuda-12020",
9169        feature = "cuda-12030",
9170        feature = "cuda-12040",
9171        feature = "cuda-12050",
9172        feature = "cuda-12060",
9173        feature = "cuda-12080",
9174        feature = "cuda-12090",
9175        feature = "cuda-13000"
9176    ))]
9177    pub fn cudaGraphInstantiateWithParams(
9178        pGraphExec: *mut cudaGraphExec_t,
9179        graph: cudaGraph_t,
9180        instantiateParams: *mut cudaGraphInstantiateParams,
9181    ) -> cudaError_t;
9182    #[cfg(any(
9183        feature = "cuda-11040",
9184        feature = "cuda-11050",
9185        feature = "cuda-11060",
9186        feature = "cuda-11070",
9187        feature = "cuda-11080",
9188        feature = "cuda-12000",
9189        feature = "cuda-12010",
9190        feature = "cuda-12020",
9191        feature = "cuda-12030",
9192        feature = "cuda-12040",
9193        feature = "cuda-12050",
9194        feature = "cuda-12060",
9195        feature = "cuda-12080",
9196        feature = "cuda-12090"
9197    ))]
9198    pub fn cudaGraphKernelNodeCopyAttributes(
9199        hSrc: cudaGraphNode_t,
9200        hDst: cudaGraphNode_t,
9201    ) -> cudaError_t;
9202    #[cfg(any(feature = "cuda-13000"))]
9203    pub fn cudaGraphKernelNodeCopyAttributes(
9204        hDst: cudaGraphNode_t,
9205        hSrc: cudaGraphNode_t,
9206    ) -> cudaError_t;
9207    #[cfg(any(
9208        feature = "cuda-11040",
9209        feature = "cuda-11050",
9210        feature = "cuda-11060",
9211        feature = "cuda-11070"
9212    ))]
9213    pub fn cudaGraphKernelNodeGetAttribute(
9214        hNode: cudaGraphNode_t,
9215        attr: cudaKernelNodeAttrID,
9216        value_out: *mut cudaKernelNodeAttrValue,
9217    ) -> cudaError_t;
9218    #[cfg(any(
9219        feature = "cuda-11080",
9220        feature = "cuda-12000",
9221        feature = "cuda-12010",
9222        feature = "cuda-12020",
9223        feature = "cuda-12030",
9224        feature = "cuda-12040",
9225        feature = "cuda-12050",
9226        feature = "cuda-12060",
9227        feature = "cuda-12080",
9228        feature = "cuda-12090",
9229        feature = "cuda-13000"
9230    ))]
9231    pub fn cudaGraphKernelNodeGetAttribute(
9232        hNode: cudaGraphNode_t,
9233        attr: cudaLaunchAttributeID,
9234        value_out: *mut cudaLaunchAttributeValue,
9235    ) -> cudaError_t;
9236    pub fn cudaGraphKernelNodeGetParams(
9237        node: cudaGraphNode_t,
9238        pNodeParams: *mut cudaKernelNodeParams,
9239    ) -> cudaError_t;
9240    #[cfg(any(
9241        feature = "cuda-11040",
9242        feature = "cuda-11050",
9243        feature = "cuda-11060",
9244        feature = "cuda-11070"
9245    ))]
9246    pub fn cudaGraphKernelNodeSetAttribute(
9247        hNode: cudaGraphNode_t,
9248        attr: cudaKernelNodeAttrID,
9249        value: *const cudaKernelNodeAttrValue,
9250    ) -> cudaError_t;
9251    #[cfg(any(
9252        feature = "cuda-11080",
9253        feature = "cuda-12000",
9254        feature = "cuda-12010",
9255        feature = "cuda-12020",
9256        feature = "cuda-12030",
9257        feature = "cuda-12040",
9258        feature = "cuda-12050",
9259        feature = "cuda-12060",
9260        feature = "cuda-12080",
9261        feature = "cuda-12090",
9262        feature = "cuda-13000"
9263    ))]
9264    pub fn cudaGraphKernelNodeSetAttribute(
9265        hNode: cudaGraphNode_t,
9266        attr: cudaLaunchAttributeID,
9267        value: *const cudaLaunchAttributeValue,
9268    ) -> cudaError_t;
9269    pub fn cudaGraphKernelNodeSetParams(
9270        node: cudaGraphNode_t,
9271        pNodeParams: *const cudaKernelNodeParams,
9272    ) -> cudaError_t;
9273    pub fn cudaGraphLaunch(graphExec: cudaGraphExec_t, stream: cudaStream_t) -> cudaError_t;
9274    pub fn cudaGraphMemAllocNodeGetParams(
9275        node: cudaGraphNode_t,
9276        params_out: *mut cudaMemAllocNodeParams,
9277    ) -> cudaError_t;
9278    pub fn cudaGraphMemFreeNodeGetParams(
9279        node: cudaGraphNode_t,
9280        dptr_out: *mut ::core::ffi::c_void,
9281    ) -> cudaError_t;
9282    pub fn cudaGraphMemcpyNodeGetParams(
9283        node: cudaGraphNode_t,
9284        pNodeParams: *mut cudaMemcpy3DParms,
9285    ) -> cudaError_t;
9286    pub fn cudaGraphMemcpyNodeSetParams(
9287        node: cudaGraphNode_t,
9288        pNodeParams: *const cudaMemcpy3DParms,
9289    ) -> cudaError_t;
9290    pub fn cudaGraphMemcpyNodeSetParams1D(
9291        node: cudaGraphNode_t,
9292        dst: *mut ::core::ffi::c_void,
9293        src: *const ::core::ffi::c_void,
9294        count: usize,
9295        kind: cudaMemcpyKind,
9296    ) -> cudaError_t;
9297    pub fn cudaGraphMemcpyNodeSetParamsFromSymbol(
9298        node: cudaGraphNode_t,
9299        dst: *mut ::core::ffi::c_void,
9300        symbol: *const ::core::ffi::c_void,
9301        count: usize,
9302        offset: usize,
9303        kind: cudaMemcpyKind,
9304    ) -> cudaError_t;
9305    pub fn cudaGraphMemcpyNodeSetParamsToSymbol(
9306        node: cudaGraphNode_t,
9307        symbol: *const ::core::ffi::c_void,
9308        src: *const ::core::ffi::c_void,
9309        count: usize,
9310        offset: usize,
9311        kind: cudaMemcpyKind,
9312    ) -> cudaError_t;
9313    pub fn cudaGraphMemsetNodeGetParams(
9314        node: cudaGraphNode_t,
9315        pNodeParams: *mut cudaMemsetParams,
9316    ) -> cudaError_t;
9317    pub fn cudaGraphMemsetNodeSetParams(
9318        node: cudaGraphNode_t,
9319        pNodeParams: *const cudaMemsetParams,
9320    ) -> cudaError_t;
9321    pub fn cudaGraphNodeFindInClone(
9322        pNode: *mut cudaGraphNode_t,
9323        originalNode: cudaGraphNode_t,
9324        clonedGraph: cudaGraph_t,
9325    ) -> cudaError_t;
9326    #[cfg(any(
9327        feature = "cuda-11040",
9328        feature = "cuda-11050",
9329        feature = "cuda-11060",
9330        feature = "cuda-11070",
9331        feature = "cuda-11080",
9332        feature = "cuda-12000",
9333        feature = "cuda-12010",
9334        feature = "cuda-12020",
9335        feature = "cuda-12030",
9336        feature = "cuda-12040",
9337        feature = "cuda-12050",
9338        feature = "cuda-12060",
9339        feature = "cuda-12080",
9340        feature = "cuda-12090"
9341    ))]
9342    pub fn cudaGraphNodeGetDependencies(
9343        node: cudaGraphNode_t,
9344        pDependencies: *mut cudaGraphNode_t,
9345        pNumDependencies: *mut usize,
9346    ) -> cudaError_t;
9347    #[cfg(any(feature = "cuda-13000"))]
9348    pub fn cudaGraphNodeGetDependencies(
9349        node: cudaGraphNode_t,
9350        pDependencies: *mut cudaGraphNode_t,
9351        edgeData: *mut cudaGraphEdgeData,
9352        pNumDependencies: *mut usize,
9353    ) -> cudaError_t;
9354    #[cfg(any(
9355        feature = "cuda-12030",
9356        feature = "cuda-12040",
9357        feature = "cuda-12050",
9358        feature = "cuda-12060",
9359        feature = "cuda-12080",
9360        feature = "cuda-12090"
9361    ))]
9362    pub fn cudaGraphNodeGetDependencies_v2(
9363        node: cudaGraphNode_t,
9364        pDependencies: *mut cudaGraphNode_t,
9365        edgeData: *mut cudaGraphEdgeData,
9366        pNumDependencies: *mut usize,
9367    ) -> cudaError_t;
9368    #[cfg(any(
9369        feature = "cuda-11040",
9370        feature = "cuda-11050",
9371        feature = "cuda-11060",
9372        feature = "cuda-11070",
9373        feature = "cuda-11080",
9374        feature = "cuda-12000",
9375        feature = "cuda-12010",
9376        feature = "cuda-12020",
9377        feature = "cuda-12030",
9378        feature = "cuda-12040",
9379        feature = "cuda-12050",
9380        feature = "cuda-12060",
9381        feature = "cuda-12080",
9382        feature = "cuda-12090"
9383    ))]
9384    pub fn cudaGraphNodeGetDependentNodes(
9385        node: cudaGraphNode_t,
9386        pDependentNodes: *mut cudaGraphNode_t,
9387        pNumDependentNodes: *mut usize,
9388    ) -> cudaError_t;
9389    #[cfg(any(feature = "cuda-13000"))]
9390    pub fn cudaGraphNodeGetDependentNodes(
9391        node: cudaGraphNode_t,
9392        pDependentNodes: *mut cudaGraphNode_t,
9393        edgeData: *mut cudaGraphEdgeData,
9394        pNumDependentNodes: *mut usize,
9395    ) -> cudaError_t;
9396    #[cfg(any(
9397        feature = "cuda-12030",
9398        feature = "cuda-12040",
9399        feature = "cuda-12050",
9400        feature = "cuda-12060",
9401        feature = "cuda-12080",
9402        feature = "cuda-12090"
9403    ))]
9404    pub fn cudaGraphNodeGetDependentNodes_v2(
9405        node: cudaGraphNode_t,
9406        pDependentNodes: *mut cudaGraphNode_t,
9407        edgeData: *mut cudaGraphEdgeData,
9408        pNumDependentNodes: *mut usize,
9409    ) -> cudaError_t;
9410    #[cfg(any(
9411        feature = "cuda-11060",
9412        feature = "cuda-11070",
9413        feature = "cuda-11080",
9414        feature = "cuda-12000",
9415        feature = "cuda-12010",
9416        feature = "cuda-12020",
9417        feature = "cuda-12030",
9418        feature = "cuda-12040",
9419        feature = "cuda-12050",
9420        feature = "cuda-12060",
9421        feature = "cuda-12080",
9422        feature = "cuda-12090",
9423        feature = "cuda-13000"
9424    ))]
9425    pub fn cudaGraphNodeGetEnabled(
9426        hGraphExec: cudaGraphExec_t,
9427        hNode: cudaGraphNode_t,
9428        isEnabled: *mut ::core::ffi::c_uint,
9429    ) -> cudaError_t;
9430    pub fn cudaGraphNodeGetType(
9431        node: cudaGraphNode_t,
9432        pType: *mut cudaGraphNodeType,
9433    ) -> cudaError_t;
9434    #[cfg(any(
9435        feature = "cuda-11060",
9436        feature = "cuda-11070",
9437        feature = "cuda-11080",
9438        feature = "cuda-12000",
9439        feature = "cuda-12010",
9440        feature = "cuda-12020",
9441        feature = "cuda-12030",
9442        feature = "cuda-12040",
9443        feature = "cuda-12050",
9444        feature = "cuda-12060",
9445        feature = "cuda-12080",
9446        feature = "cuda-12090",
9447        feature = "cuda-13000"
9448    ))]
9449    pub fn cudaGraphNodeSetEnabled(
9450        hGraphExec: cudaGraphExec_t,
9451        hNode: cudaGraphNode_t,
9452        isEnabled: ::core::ffi::c_uint,
9453    ) -> cudaError_t;
9454    #[cfg(any(
9455        feature = "cuda-12020",
9456        feature = "cuda-12030",
9457        feature = "cuda-12040",
9458        feature = "cuda-12050",
9459        feature = "cuda-12060",
9460        feature = "cuda-12080",
9461        feature = "cuda-12090",
9462        feature = "cuda-13000"
9463    ))]
9464    pub fn cudaGraphNodeSetParams(
9465        node: cudaGraphNode_t,
9466        nodeParams: *mut cudaGraphNodeParams,
9467    ) -> cudaError_t;
9468    pub fn cudaGraphReleaseUserObject(
9469        graph: cudaGraph_t,
9470        object: cudaUserObject_t,
9471        count: ::core::ffi::c_uint,
9472    ) -> cudaError_t;
9473    #[cfg(any(
9474        feature = "cuda-11040",
9475        feature = "cuda-11050",
9476        feature = "cuda-11060",
9477        feature = "cuda-11070",
9478        feature = "cuda-11080",
9479        feature = "cuda-12000",
9480        feature = "cuda-12010",
9481        feature = "cuda-12020",
9482        feature = "cuda-12030",
9483        feature = "cuda-12040",
9484        feature = "cuda-12050",
9485        feature = "cuda-12060",
9486        feature = "cuda-12080",
9487        feature = "cuda-12090"
9488    ))]
9489    pub fn cudaGraphRemoveDependencies(
9490        graph: cudaGraph_t,
9491        from: *const cudaGraphNode_t,
9492        to: *const cudaGraphNode_t,
9493        numDependencies: usize,
9494    ) -> cudaError_t;
9495    #[cfg(any(feature = "cuda-13000"))]
9496    pub fn cudaGraphRemoveDependencies(
9497        graph: cudaGraph_t,
9498        from: *const cudaGraphNode_t,
9499        to: *const cudaGraphNode_t,
9500        edgeData: *const cudaGraphEdgeData,
9501        numDependencies: usize,
9502    ) -> cudaError_t;
9503    #[cfg(any(
9504        feature = "cuda-12030",
9505        feature = "cuda-12040",
9506        feature = "cuda-12050",
9507        feature = "cuda-12060",
9508        feature = "cuda-12080",
9509        feature = "cuda-12090"
9510    ))]
9511    pub fn cudaGraphRemoveDependencies_v2(
9512        graph: cudaGraph_t,
9513        from: *const cudaGraphNode_t,
9514        to: *const cudaGraphNode_t,
9515        edgeData: *const cudaGraphEdgeData,
9516        numDependencies: usize,
9517    ) -> cudaError_t;
9518    pub fn cudaGraphRetainUserObject(
9519        graph: cudaGraph_t,
9520        object: cudaUserObject_t,
9521        count: ::core::ffi::c_uint,
9522        flags: ::core::ffi::c_uint,
9523    ) -> cudaError_t;
9524    pub fn cudaGraphUpload(graphExec: cudaGraphExec_t, stream: cudaStream_t) -> cudaError_t;
9525    pub fn cudaGraphicsMapResources(
9526        count: ::core::ffi::c_int,
9527        resources: *mut cudaGraphicsResource_t,
9528        stream: cudaStream_t,
9529    ) -> cudaError_t;
9530    pub fn cudaGraphicsResourceGetMappedMipmappedArray(
9531        mipmappedArray: *mut cudaMipmappedArray_t,
9532        resource: cudaGraphicsResource_t,
9533    ) -> cudaError_t;
9534    pub fn cudaGraphicsResourceGetMappedPointer(
9535        devPtr: *mut *mut ::core::ffi::c_void,
9536        size: *mut usize,
9537        resource: cudaGraphicsResource_t,
9538    ) -> cudaError_t;
9539    pub fn cudaGraphicsResourceSetMapFlags(
9540        resource: cudaGraphicsResource_t,
9541        flags: ::core::ffi::c_uint,
9542    ) -> cudaError_t;
9543    pub fn cudaGraphicsSubResourceGetMappedArray(
9544        array: *mut cudaArray_t,
9545        resource: cudaGraphicsResource_t,
9546        arrayIndex: ::core::ffi::c_uint,
9547        mipLevel: ::core::ffi::c_uint,
9548    ) -> cudaError_t;
9549    pub fn cudaGraphicsUnmapResources(
9550        count: ::core::ffi::c_int,
9551        resources: *mut cudaGraphicsResource_t,
9552        stream: cudaStream_t,
9553    ) -> cudaError_t;
9554    pub fn cudaGraphicsUnregisterResource(resource: cudaGraphicsResource_t) -> cudaError_t;
9555    pub fn cudaHostAlloc(
9556        pHost: *mut *mut ::core::ffi::c_void,
9557        size: usize,
9558        flags: ::core::ffi::c_uint,
9559    ) -> cudaError_t;
9560    pub fn cudaHostGetDevicePointer(
9561        pDevice: *mut *mut ::core::ffi::c_void,
9562        pHost: *mut ::core::ffi::c_void,
9563        flags: ::core::ffi::c_uint,
9564    ) -> cudaError_t;
9565    pub fn cudaHostGetFlags(
9566        pFlags: *mut ::core::ffi::c_uint,
9567        pHost: *mut ::core::ffi::c_void,
9568    ) -> cudaError_t;
9569    pub fn cudaHostRegister(
9570        ptr: *mut ::core::ffi::c_void,
9571        size: usize,
9572        flags: ::core::ffi::c_uint,
9573    ) -> cudaError_t;
9574    pub fn cudaHostUnregister(ptr: *mut ::core::ffi::c_void) -> cudaError_t;
9575    pub fn cudaImportExternalMemory(
9576        extMem_out: *mut cudaExternalMemory_t,
9577        memHandleDesc: *const cudaExternalMemoryHandleDesc,
9578    ) -> cudaError_t;
9579    pub fn cudaImportExternalSemaphore(
9580        extSem_out: *mut cudaExternalSemaphore_t,
9581        semHandleDesc: *const cudaExternalSemaphoreHandleDesc,
9582    ) -> cudaError_t;
9583    #[cfg(any(
9584        feature = "cuda-12000",
9585        feature = "cuda-12010",
9586        feature = "cuda-12020",
9587        feature = "cuda-12030",
9588        feature = "cuda-12040",
9589        feature = "cuda-12050",
9590        feature = "cuda-12060",
9591        feature = "cuda-12080",
9592        feature = "cuda-12090",
9593        feature = "cuda-13000"
9594    ))]
9595    pub fn cudaInitDevice(
9596        device: ::core::ffi::c_int,
9597        deviceFlags: ::core::ffi::c_uint,
9598        flags: ::core::ffi::c_uint,
9599    ) -> cudaError_t;
9600    pub fn cudaIpcCloseMemHandle(devPtr: *mut ::core::ffi::c_void) -> cudaError_t;
9601    pub fn cudaIpcGetEventHandle(
9602        handle: *mut cudaIpcEventHandle_t,
9603        event: cudaEvent_t,
9604    ) -> cudaError_t;
9605    pub fn cudaIpcGetMemHandle(
9606        handle: *mut cudaIpcMemHandle_t,
9607        devPtr: *mut ::core::ffi::c_void,
9608    ) -> cudaError_t;
9609    pub fn cudaIpcOpenEventHandle(
9610        event: *mut cudaEvent_t,
9611        handle: cudaIpcEventHandle_t,
9612    ) -> cudaError_t;
9613    pub fn cudaIpcOpenMemHandle(
9614        devPtr: *mut *mut ::core::ffi::c_void,
9615        handle: cudaIpcMemHandle_t,
9616        flags: ::core::ffi::c_uint,
9617    ) -> cudaError_t;
9618    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9619    pub fn cudaKernelSetAttributeForDevice(
9620        kernel: cudaKernel_t,
9621        attr: cudaFuncAttribute,
9622        value: ::core::ffi::c_int,
9623        device: ::core::ffi::c_int,
9624    ) -> cudaError_t;
9625    pub fn cudaLaunchCooperativeKernel(
9626        func: *const ::core::ffi::c_void,
9627        gridDim: dim3,
9628        blockDim: dim3,
9629        args: *mut *mut ::core::ffi::c_void,
9630        sharedMem: usize,
9631        stream: cudaStream_t,
9632    ) -> cudaError_t;
9633    #[cfg(any(
9634        feature = "cuda-11040",
9635        feature = "cuda-11050",
9636        feature = "cuda-11060",
9637        feature = "cuda-11070",
9638        feature = "cuda-11080",
9639        feature = "cuda-12000",
9640        feature = "cuda-12010",
9641        feature = "cuda-12020",
9642        feature = "cuda-12030",
9643        feature = "cuda-12040",
9644        feature = "cuda-12050",
9645        feature = "cuda-12060",
9646        feature = "cuda-12080",
9647        feature = "cuda-12090"
9648    ))]
9649    pub fn cudaLaunchCooperativeKernelMultiDevice(
9650        launchParamsList: *mut cudaLaunchParams,
9651        numDevices: ::core::ffi::c_uint,
9652        flags: ::core::ffi::c_uint,
9653    ) -> cudaError_t;
9654    pub fn cudaLaunchHostFunc(
9655        stream: cudaStream_t,
9656        fn_: cudaHostFn_t,
9657        userData: *mut ::core::ffi::c_void,
9658    ) -> cudaError_t;
9659    pub fn cudaLaunchKernel(
9660        func: *const ::core::ffi::c_void,
9661        gridDim: dim3,
9662        blockDim: dim3,
9663        args: *mut *mut ::core::ffi::c_void,
9664        sharedMem: usize,
9665        stream: cudaStream_t,
9666    ) -> cudaError_t;
9667    #[cfg(any(
9668        feature = "cuda-11080",
9669        feature = "cuda-12000",
9670        feature = "cuda-12010",
9671        feature = "cuda-12020",
9672        feature = "cuda-12030",
9673        feature = "cuda-12040",
9674        feature = "cuda-12050",
9675        feature = "cuda-12060",
9676        feature = "cuda-12080",
9677        feature = "cuda-12090",
9678        feature = "cuda-13000"
9679    ))]
9680    pub fn cudaLaunchKernelExC(
9681        config: *const cudaLaunchConfig_t,
9682        func: *const ::core::ffi::c_void,
9683        args: *mut *mut ::core::ffi::c_void,
9684    ) -> cudaError_t;
9685    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9686    pub fn cudaLibraryEnumerateKernels(
9687        kernels: *mut cudaKernel_t,
9688        numKernels: ::core::ffi::c_uint,
9689        lib: cudaLibrary_t,
9690    ) -> cudaError_t;
9691    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9692    pub fn cudaLibraryGetGlobal(
9693        dptr: *mut *mut ::core::ffi::c_void,
9694        bytes: *mut usize,
9695        library: cudaLibrary_t,
9696        name: *const ::core::ffi::c_char,
9697    ) -> cudaError_t;
9698    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9699    pub fn cudaLibraryGetKernel(
9700        pKernel: *mut cudaKernel_t,
9701        library: cudaLibrary_t,
9702        name: *const ::core::ffi::c_char,
9703    ) -> cudaError_t;
9704    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9705    pub fn cudaLibraryGetKernelCount(
9706        count: *mut ::core::ffi::c_uint,
9707        lib: cudaLibrary_t,
9708    ) -> cudaError_t;
9709    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9710    pub fn cudaLibraryGetManaged(
9711        dptr: *mut *mut ::core::ffi::c_void,
9712        bytes: *mut usize,
9713        library: cudaLibrary_t,
9714        name: *const ::core::ffi::c_char,
9715    ) -> cudaError_t;
9716    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9717    pub fn cudaLibraryGetUnifiedFunction(
9718        fptr: *mut *mut ::core::ffi::c_void,
9719        library: cudaLibrary_t,
9720        symbol: *const ::core::ffi::c_char,
9721    ) -> cudaError_t;
9722    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9723    pub fn cudaLibraryLoadData(
9724        library: *mut cudaLibrary_t,
9725        code: *const ::core::ffi::c_void,
9726        jitOptions: *mut cudaJitOption,
9727        jitOptionsValues: *mut *mut ::core::ffi::c_void,
9728        numJitOptions: ::core::ffi::c_uint,
9729        libraryOptions: *mut cudaLibraryOption,
9730        libraryOptionValues: *mut *mut ::core::ffi::c_void,
9731        numLibraryOptions: ::core::ffi::c_uint,
9732    ) -> cudaError_t;
9733    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9734    pub fn cudaLibraryLoadFromFile(
9735        library: *mut cudaLibrary_t,
9736        fileName: *const ::core::ffi::c_char,
9737        jitOptions: *mut cudaJitOption,
9738        jitOptionsValues: *mut *mut ::core::ffi::c_void,
9739        numJitOptions: ::core::ffi::c_uint,
9740        libraryOptions: *mut cudaLibraryOption,
9741        libraryOptionValues: *mut *mut ::core::ffi::c_void,
9742        numLibraryOptions: ::core::ffi::c_uint,
9743    ) -> cudaError_t;
9744    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
9745    pub fn cudaLibraryUnload(library: cudaLibrary_t) -> cudaError_t;
9746    #[cfg(any(feature = "cuda-13000"))]
9747    pub fn cudaLogsCurrent(
9748        iterator_out: *mut cudaLogIterator,
9749        flags: ::core::ffi::c_uint,
9750    ) -> cudaError_t;
9751    #[cfg(any(feature = "cuda-13000"))]
9752    pub fn cudaLogsDumpToFile(
9753        iterator: *mut cudaLogIterator,
9754        pathToFile: *const ::core::ffi::c_char,
9755        flags: ::core::ffi::c_uint,
9756    ) -> cudaError_t;
9757    #[cfg(any(feature = "cuda-13000"))]
9758    pub fn cudaLogsDumpToMemory(
9759        iterator: *mut cudaLogIterator,
9760        buffer: *mut ::core::ffi::c_char,
9761        size: *mut usize,
9762        flags: ::core::ffi::c_uint,
9763    ) -> cudaError_t;
9764    #[cfg(any(feature = "cuda-13000"))]
9765    pub fn cudaLogsRegisterCallback(
9766        callbackFunc: cudaLogsCallback_t,
9767        userData: *mut ::core::ffi::c_void,
9768        callback_out: *mut cudaLogsCallbackHandle,
9769    ) -> cudaError_t;
9770    #[cfg(any(feature = "cuda-13000"))]
9771    pub fn cudaLogsUnregisterCallback(callback: cudaLogsCallbackHandle) -> cudaError_t;
9772    pub fn cudaMalloc(devPtr: *mut *mut ::core::ffi::c_void, size: usize) -> cudaError_t;
9773    pub fn cudaMalloc3D(pitchedDevPtr: *mut cudaPitchedPtr, extent: cudaExtent) -> cudaError_t;
9774    pub fn cudaMalloc3DArray(
9775        array: *mut cudaArray_t,
9776        desc: *const cudaChannelFormatDesc,
9777        extent: cudaExtent,
9778        flags: ::core::ffi::c_uint,
9779    ) -> cudaError_t;
9780    pub fn cudaMallocArray(
9781        array: *mut cudaArray_t,
9782        desc: *const cudaChannelFormatDesc,
9783        width: usize,
9784        height: usize,
9785        flags: ::core::ffi::c_uint,
9786    ) -> cudaError_t;
9787    pub fn cudaMallocAsync(
9788        devPtr: *mut *mut ::core::ffi::c_void,
9789        size: usize,
9790        hStream: cudaStream_t,
9791    ) -> cudaError_t;
9792    pub fn cudaMallocFromPoolAsync(
9793        ptr: *mut *mut ::core::ffi::c_void,
9794        size: usize,
9795        memPool: cudaMemPool_t,
9796        stream: cudaStream_t,
9797    ) -> cudaError_t;
9798    pub fn cudaMallocHost(ptr: *mut *mut ::core::ffi::c_void, size: usize) -> cudaError_t;
9799    pub fn cudaMallocManaged(
9800        devPtr: *mut *mut ::core::ffi::c_void,
9801        size: usize,
9802        flags: ::core::ffi::c_uint,
9803    ) -> cudaError_t;
9804    pub fn cudaMallocMipmappedArray(
9805        mipmappedArray: *mut cudaMipmappedArray_t,
9806        desc: *const cudaChannelFormatDesc,
9807        extent: cudaExtent,
9808        numLevels: ::core::ffi::c_uint,
9809        flags: ::core::ffi::c_uint,
9810    ) -> cudaError_t;
9811    pub fn cudaMallocPitch(
9812        devPtr: *mut *mut ::core::ffi::c_void,
9813        pitch: *mut usize,
9814        width: usize,
9815        height: usize,
9816    ) -> cudaError_t;
9817    #[cfg(any(
9818        feature = "cuda-11040",
9819        feature = "cuda-11050",
9820        feature = "cuda-11060",
9821        feature = "cuda-11070",
9822        feature = "cuda-11080",
9823        feature = "cuda-12000",
9824        feature = "cuda-12010",
9825        feature = "cuda-12020",
9826        feature = "cuda-12030",
9827        feature = "cuda-12040",
9828        feature = "cuda-12050",
9829        feature = "cuda-12060",
9830        feature = "cuda-12080",
9831        feature = "cuda-12090"
9832    ))]
9833    pub fn cudaMemAdvise(
9834        devPtr: *const ::core::ffi::c_void,
9835        count: usize,
9836        advice: cudaMemoryAdvise,
9837        device: ::core::ffi::c_int,
9838    ) -> cudaError_t;
9839    #[cfg(any(feature = "cuda-13000"))]
9840    pub fn cudaMemAdvise(
9841        devPtr: *const ::core::ffi::c_void,
9842        count: usize,
9843        advice: cudaMemoryAdvise,
9844        location: cudaMemLocation,
9845    ) -> cudaError_t;
9846    #[cfg(any(
9847        feature = "cuda-12020",
9848        feature = "cuda-12030",
9849        feature = "cuda-12040",
9850        feature = "cuda-12050",
9851        feature = "cuda-12060",
9852        feature = "cuda-12080",
9853        feature = "cuda-12090"
9854    ))]
9855    pub fn cudaMemAdvise_v2(
9856        devPtr: *const ::core::ffi::c_void,
9857        count: usize,
9858        advice: cudaMemoryAdvise,
9859        location: cudaMemLocation,
9860    ) -> cudaError_t;
9861    #[cfg(any(feature = "cuda-13000"))]
9862    pub fn cudaMemDiscardAndPrefetchBatchAsync(
9863        dptrs: *mut *mut ::core::ffi::c_void,
9864        sizes: *mut usize,
9865        count: usize,
9866        prefetchLocs: *mut cudaMemLocation,
9867        prefetchLocIdxs: *mut usize,
9868        numPrefetchLocs: usize,
9869        flags: ::core::ffi::c_ulonglong,
9870        stream: cudaStream_t,
9871    ) -> cudaError_t;
9872    #[cfg(any(feature = "cuda-13000"))]
9873    pub fn cudaMemDiscardBatchAsync(
9874        dptrs: *mut *mut ::core::ffi::c_void,
9875        sizes: *mut usize,
9876        count: usize,
9877        flags: ::core::ffi::c_ulonglong,
9878        stream: cudaStream_t,
9879    ) -> cudaError_t;
9880    #[cfg(any(feature = "cuda-13000"))]
9881    pub fn cudaMemGetDefaultMemPool(
9882        memPool: *mut cudaMemPool_t,
9883        location: *mut cudaMemLocation,
9884        type_: cudaMemAllocationType,
9885    ) -> cudaError_t;
9886    pub fn cudaMemGetInfo(free: *mut usize, total: *mut usize) -> cudaError_t;
9887    #[cfg(any(feature = "cuda-13000"))]
9888    pub fn cudaMemGetMemPool(
9889        memPool: *mut cudaMemPool_t,
9890        location: *mut cudaMemLocation,
9891        type_: cudaMemAllocationType,
9892    ) -> cudaError_t;
9893    pub fn cudaMemPoolCreate(
9894        memPool: *mut cudaMemPool_t,
9895        poolProps: *const cudaMemPoolProps,
9896    ) -> cudaError_t;
9897    pub fn cudaMemPoolDestroy(memPool: cudaMemPool_t) -> cudaError_t;
9898    pub fn cudaMemPoolExportPointer(
9899        exportData: *mut cudaMemPoolPtrExportData,
9900        ptr: *mut ::core::ffi::c_void,
9901    ) -> cudaError_t;
9902    pub fn cudaMemPoolExportToShareableHandle(
9903        shareableHandle: *mut ::core::ffi::c_void,
9904        memPool: cudaMemPool_t,
9905        handleType: cudaMemAllocationHandleType,
9906        flags: ::core::ffi::c_uint,
9907    ) -> cudaError_t;
9908    pub fn cudaMemPoolGetAccess(
9909        flags: *mut cudaMemAccessFlags,
9910        memPool: cudaMemPool_t,
9911        location: *mut cudaMemLocation,
9912    ) -> cudaError_t;
9913    pub fn cudaMemPoolGetAttribute(
9914        memPool: cudaMemPool_t,
9915        attr: cudaMemPoolAttr,
9916        value: *mut ::core::ffi::c_void,
9917    ) -> cudaError_t;
9918    pub fn cudaMemPoolImportFromShareableHandle(
9919        memPool: *mut cudaMemPool_t,
9920        shareableHandle: *mut ::core::ffi::c_void,
9921        handleType: cudaMemAllocationHandleType,
9922        flags: ::core::ffi::c_uint,
9923    ) -> cudaError_t;
9924    pub fn cudaMemPoolImportPointer(
9925        ptr: *mut *mut ::core::ffi::c_void,
9926        memPool: cudaMemPool_t,
9927        exportData: *mut cudaMemPoolPtrExportData,
9928    ) -> cudaError_t;
9929    pub fn cudaMemPoolSetAccess(
9930        memPool: cudaMemPool_t,
9931        descList: *const cudaMemAccessDesc,
9932        count: usize,
9933    ) -> cudaError_t;
9934    pub fn cudaMemPoolSetAttribute(
9935        memPool: cudaMemPool_t,
9936        attr: cudaMemPoolAttr,
9937        value: *mut ::core::ffi::c_void,
9938    ) -> cudaError_t;
9939    pub fn cudaMemPoolTrimTo(memPool: cudaMemPool_t, minBytesToKeep: usize) -> cudaError_t;
9940    #[cfg(any(
9941        feature = "cuda-11040",
9942        feature = "cuda-11050",
9943        feature = "cuda-11060",
9944        feature = "cuda-11070",
9945        feature = "cuda-11080",
9946        feature = "cuda-12000",
9947        feature = "cuda-12010",
9948        feature = "cuda-12020",
9949        feature = "cuda-12030",
9950        feature = "cuda-12040",
9951        feature = "cuda-12050",
9952        feature = "cuda-12060",
9953        feature = "cuda-12080",
9954        feature = "cuda-12090"
9955    ))]
9956    pub fn cudaMemPrefetchAsync(
9957        devPtr: *const ::core::ffi::c_void,
9958        count: usize,
9959        dstDevice: ::core::ffi::c_int,
9960        stream: cudaStream_t,
9961    ) -> cudaError_t;
9962    #[cfg(any(feature = "cuda-13000"))]
9963    pub fn cudaMemPrefetchAsync(
9964        devPtr: *const ::core::ffi::c_void,
9965        count: usize,
9966        location: cudaMemLocation,
9967        flags: ::core::ffi::c_uint,
9968        stream: cudaStream_t,
9969    ) -> cudaError_t;
9970    #[cfg(any(
9971        feature = "cuda-12020",
9972        feature = "cuda-12030",
9973        feature = "cuda-12040",
9974        feature = "cuda-12050",
9975        feature = "cuda-12060",
9976        feature = "cuda-12080",
9977        feature = "cuda-12090"
9978    ))]
9979    pub fn cudaMemPrefetchAsync_v2(
9980        devPtr: *const ::core::ffi::c_void,
9981        count: usize,
9982        location: cudaMemLocation,
9983        flags: ::core::ffi::c_uint,
9984        stream: cudaStream_t,
9985    ) -> cudaError_t;
9986    #[cfg(any(feature = "cuda-13000"))]
9987    pub fn cudaMemPrefetchBatchAsync(
9988        dptrs: *mut *mut ::core::ffi::c_void,
9989        sizes: *mut usize,
9990        count: usize,
9991        prefetchLocs: *mut cudaMemLocation,
9992        prefetchLocIdxs: *mut usize,
9993        numPrefetchLocs: usize,
9994        flags: ::core::ffi::c_ulonglong,
9995        stream: cudaStream_t,
9996    ) -> cudaError_t;
9997    pub fn cudaMemRangeGetAttribute(
9998        data: *mut ::core::ffi::c_void,
9999        dataSize: usize,
10000        attribute: cudaMemRangeAttribute,
10001        devPtr: *const ::core::ffi::c_void,
10002        count: usize,
10003    ) -> cudaError_t;
10004    pub fn cudaMemRangeGetAttributes(
10005        data: *mut *mut ::core::ffi::c_void,
10006        dataSizes: *mut usize,
10007        attributes: *mut cudaMemRangeAttribute,
10008        numAttributes: usize,
10009        devPtr: *const ::core::ffi::c_void,
10010        count: usize,
10011    ) -> cudaError_t;
10012    #[cfg(any(feature = "cuda-13000"))]
10013    pub fn cudaMemSetMemPool(
10014        location: *mut cudaMemLocation,
10015        type_: cudaMemAllocationType,
10016        memPool: cudaMemPool_t,
10017    ) -> cudaError_t;
10018    pub fn cudaMemcpy(
10019        dst: *mut ::core::ffi::c_void,
10020        src: *const ::core::ffi::c_void,
10021        count: usize,
10022        kind: cudaMemcpyKind,
10023    ) -> cudaError_t;
10024    pub fn cudaMemcpy2D(
10025        dst: *mut ::core::ffi::c_void,
10026        dpitch: usize,
10027        src: *const ::core::ffi::c_void,
10028        spitch: usize,
10029        width: usize,
10030        height: usize,
10031        kind: cudaMemcpyKind,
10032    ) -> cudaError_t;
10033    pub fn cudaMemcpy2DArrayToArray(
10034        dst: cudaArray_t,
10035        wOffsetDst: usize,
10036        hOffsetDst: usize,
10037        src: cudaArray_const_t,
10038        wOffsetSrc: usize,
10039        hOffsetSrc: usize,
10040        width: usize,
10041        height: usize,
10042        kind: cudaMemcpyKind,
10043    ) -> cudaError_t;
10044    pub fn cudaMemcpy2DAsync(
10045        dst: *mut ::core::ffi::c_void,
10046        dpitch: usize,
10047        src: *const ::core::ffi::c_void,
10048        spitch: usize,
10049        width: usize,
10050        height: usize,
10051        kind: cudaMemcpyKind,
10052        stream: cudaStream_t,
10053    ) -> cudaError_t;
10054    pub fn cudaMemcpy2DFromArray(
10055        dst: *mut ::core::ffi::c_void,
10056        dpitch: usize,
10057        src: cudaArray_const_t,
10058        wOffset: usize,
10059        hOffset: usize,
10060        width: usize,
10061        height: usize,
10062        kind: cudaMemcpyKind,
10063    ) -> cudaError_t;
10064    pub fn cudaMemcpy2DFromArrayAsync(
10065        dst: *mut ::core::ffi::c_void,
10066        dpitch: usize,
10067        src: cudaArray_const_t,
10068        wOffset: usize,
10069        hOffset: usize,
10070        width: usize,
10071        height: usize,
10072        kind: cudaMemcpyKind,
10073        stream: cudaStream_t,
10074    ) -> cudaError_t;
10075    pub fn cudaMemcpy2DToArray(
10076        dst: cudaArray_t,
10077        wOffset: usize,
10078        hOffset: usize,
10079        src: *const ::core::ffi::c_void,
10080        spitch: usize,
10081        width: usize,
10082        height: usize,
10083        kind: cudaMemcpyKind,
10084    ) -> cudaError_t;
10085    pub fn cudaMemcpy2DToArrayAsync(
10086        dst: cudaArray_t,
10087        wOffset: usize,
10088        hOffset: usize,
10089        src: *const ::core::ffi::c_void,
10090        spitch: usize,
10091        width: usize,
10092        height: usize,
10093        kind: cudaMemcpyKind,
10094        stream: cudaStream_t,
10095    ) -> cudaError_t;
10096    pub fn cudaMemcpy3D(p: *const cudaMemcpy3DParms) -> cudaError_t;
10097    pub fn cudaMemcpy3DAsync(p: *const cudaMemcpy3DParms, stream: cudaStream_t) -> cudaError_t;
10098    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
10099    pub fn cudaMemcpy3DBatchAsync(
10100        numOps: usize,
10101        opList: *mut cudaMemcpy3DBatchOp,
10102        failIdx: *mut usize,
10103        flags: ::core::ffi::c_ulonglong,
10104        stream: cudaStream_t,
10105    ) -> cudaError_t;
10106    #[cfg(any(feature = "cuda-13000"))]
10107    pub fn cudaMemcpy3DBatchAsync(
10108        numOps: usize,
10109        opList: *mut cudaMemcpy3DBatchOp,
10110        flags: ::core::ffi::c_ulonglong,
10111        stream: cudaStream_t,
10112    ) -> cudaError_t;
10113    pub fn cudaMemcpy3DPeer(p: *const cudaMemcpy3DPeerParms) -> cudaError_t;
10114    pub fn cudaMemcpy3DPeerAsync(
10115        p: *const cudaMemcpy3DPeerParms,
10116        stream: cudaStream_t,
10117    ) -> cudaError_t;
10118    pub fn cudaMemcpyArrayToArray(
10119        dst: cudaArray_t,
10120        wOffsetDst: usize,
10121        hOffsetDst: usize,
10122        src: cudaArray_const_t,
10123        wOffsetSrc: usize,
10124        hOffsetSrc: usize,
10125        count: usize,
10126        kind: cudaMemcpyKind,
10127    ) -> cudaError_t;
10128    pub fn cudaMemcpyAsync(
10129        dst: *mut ::core::ffi::c_void,
10130        src: *const ::core::ffi::c_void,
10131        count: usize,
10132        kind: cudaMemcpyKind,
10133        stream: cudaStream_t,
10134    ) -> cudaError_t;
10135    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
10136    pub fn cudaMemcpyBatchAsync(
10137        dsts: *mut *mut ::core::ffi::c_void,
10138        srcs: *mut *mut ::core::ffi::c_void,
10139        sizes: *mut usize,
10140        count: usize,
10141        attrs: *mut cudaMemcpyAttributes,
10142        attrsIdxs: *mut usize,
10143        numAttrs: usize,
10144        failIdx: *mut usize,
10145        stream: cudaStream_t,
10146    ) -> cudaError_t;
10147    #[cfg(any(feature = "cuda-13000"))]
10148    pub fn cudaMemcpyBatchAsync(
10149        dsts: *const *mut ::core::ffi::c_void,
10150        srcs: *const *const ::core::ffi::c_void,
10151        sizes: *const usize,
10152        count: usize,
10153        attrs: *mut cudaMemcpyAttributes,
10154        attrsIdxs: *mut usize,
10155        numAttrs: usize,
10156        stream: cudaStream_t,
10157    ) -> cudaError_t;
10158    pub fn cudaMemcpyFromArray(
10159        dst: *mut ::core::ffi::c_void,
10160        src: cudaArray_const_t,
10161        wOffset: usize,
10162        hOffset: usize,
10163        count: usize,
10164        kind: cudaMemcpyKind,
10165    ) -> cudaError_t;
10166    pub fn cudaMemcpyFromArrayAsync(
10167        dst: *mut ::core::ffi::c_void,
10168        src: cudaArray_const_t,
10169        wOffset: usize,
10170        hOffset: usize,
10171        count: usize,
10172        kind: cudaMemcpyKind,
10173        stream: cudaStream_t,
10174    ) -> cudaError_t;
10175    pub fn cudaMemcpyFromSymbol(
10176        dst: *mut ::core::ffi::c_void,
10177        symbol: *const ::core::ffi::c_void,
10178        count: usize,
10179        offset: usize,
10180        kind: cudaMemcpyKind,
10181    ) -> cudaError_t;
10182    pub fn cudaMemcpyFromSymbolAsync(
10183        dst: *mut ::core::ffi::c_void,
10184        symbol: *const ::core::ffi::c_void,
10185        count: usize,
10186        offset: usize,
10187        kind: cudaMemcpyKind,
10188        stream: cudaStream_t,
10189    ) -> cudaError_t;
10190    pub fn cudaMemcpyPeer(
10191        dst: *mut ::core::ffi::c_void,
10192        dstDevice: ::core::ffi::c_int,
10193        src: *const ::core::ffi::c_void,
10194        srcDevice: ::core::ffi::c_int,
10195        count: usize,
10196    ) -> cudaError_t;
10197    pub fn cudaMemcpyPeerAsync(
10198        dst: *mut ::core::ffi::c_void,
10199        dstDevice: ::core::ffi::c_int,
10200        src: *const ::core::ffi::c_void,
10201        srcDevice: ::core::ffi::c_int,
10202        count: usize,
10203        stream: cudaStream_t,
10204    ) -> cudaError_t;
10205    pub fn cudaMemcpyToArray(
10206        dst: cudaArray_t,
10207        wOffset: usize,
10208        hOffset: usize,
10209        src: *const ::core::ffi::c_void,
10210        count: usize,
10211        kind: cudaMemcpyKind,
10212    ) -> cudaError_t;
10213    pub fn cudaMemcpyToArrayAsync(
10214        dst: cudaArray_t,
10215        wOffset: usize,
10216        hOffset: usize,
10217        src: *const ::core::ffi::c_void,
10218        count: usize,
10219        kind: cudaMemcpyKind,
10220        stream: cudaStream_t,
10221    ) -> cudaError_t;
10222    pub fn cudaMemcpyToSymbol(
10223        symbol: *const ::core::ffi::c_void,
10224        src: *const ::core::ffi::c_void,
10225        count: usize,
10226        offset: usize,
10227        kind: cudaMemcpyKind,
10228    ) -> cudaError_t;
10229    pub fn cudaMemcpyToSymbolAsync(
10230        symbol: *const ::core::ffi::c_void,
10231        src: *const ::core::ffi::c_void,
10232        count: usize,
10233        offset: usize,
10234        kind: cudaMemcpyKind,
10235        stream: cudaStream_t,
10236    ) -> cudaError_t;
10237    pub fn cudaMemset(
10238        devPtr: *mut ::core::ffi::c_void,
10239        value: ::core::ffi::c_int,
10240        count: usize,
10241    ) -> cudaError_t;
10242    pub fn cudaMemset2D(
10243        devPtr: *mut ::core::ffi::c_void,
10244        pitch: usize,
10245        value: ::core::ffi::c_int,
10246        width: usize,
10247        height: usize,
10248    ) -> cudaError_t;
10249    pub fn cudaMemset2DAsync(
10250        devPtr: *mut ::core::ffi::c_void,
10251        pitch: usize,
10252        value: ::core::ffi::c_int,
10253        width: usize,
10254        height: usize,
10255        stream: cudaStream_t,
10256    ) -> cudaError_t;
10257    pub fn cudaMemset3D(
10258        pitchedDevPtr: cudaPitchedPtr,
10259        value: ::core::ffi::c_int,
10260        extent: cudaExtent,
10261    ) -> cudaError_t;
10262    pub fn cudaMemset3DAsync(
10263        pitchedDevPtr: cudaPitchedPtr,
10264        value: ::core::ffi::c_int,
10265        extent: cudaExtent,
10266        stream: cudaStream_t,
10267    ) -> cudaError_t;
10268    pub fn cudaMemsetAsync(
10269        devPtr: *mut ::core::ffi::c_void,
10270        value: ::core::ffi::c_int,
10271        count: usize,
10272        stream: cudaStream_t,
10273    ) -> cudaError_t;
10274    #[cfg(any(
10275        feature = "cuda-11060",
10276        feature = "cuda-11070",
10277        feature = "cuda-11080",
10278        feature = "cuda-12000",
10279        feature = "cuda-12010",
10280        feature = "cuda-12020",
10281        feature = "cuda-12030",
10282        feature = "cuda-12040",
10283        feature = "cuda-12050",
10284        feature = "cuda-12060",
10285        feature = "cuda-12080",
10286        feature = "cuda-12090",
10287        feature = "cuda-13000"
10288    ))]
10289    pub fn cudaMipmappedArrayGetMemoryRequirements(
10290        memoryRequirements: *mut cudaArrayMemoryRequirements,
10291        mipmap: cudaMipmappedArray_t,
10292        device: ::core::ffi::c_int,
10293    ) -> cudaError_t;
10294    pub fn cudaMipmappedArrayGetSparseProperties(
10295        sparseProperties: *mut cudaArraySparseProperties,
10296        mipmap: cudaMipmappedArray_t,
10297    ) -> cudaError_t;
10298    pub fn cudaOccupancyAvailableDynamicSMemPerBlock(
10299        dynamicSmemSize: *mut usize,
10300        func: *const ::core::ffi::c_void,
10301        numBlocks: ::core::ffi::c_int,
10302        blockSize: ::core::ffi::c_int,
10303    ) -> cudaError_t;
10304    pub fn cudaOccupancyMaxActiveBlocksPerMultiprocessor(
10305        numBlocks: *mut ::core::ffi::c_int,
10306        func: *const ::core::ffi::c_void,
10307        blockSize: ::core::ffi::c_int,
10308        dynamicSMemSize: usize,
10309    ) -> cudaError_t;
10310    pub fn cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
10311        numBlocks: *mut ::core::ffi::c_int,
10312        func: *const ::core::ffi::c_void,
10313        blockSize: ::core::ffi::c_int,
10314        dynamicSMemSize: usize,
10315        flags: ::core::ffi::c_uint,
10316    ) -> cudaError_t;
10317    #[cfg(any(
10318        feature = "cuda-11080",
10319        feature = "cuda-12000",
10320        feature = "cuda-12010",
10321        feature = "cuda-12020",
10322        feature = "cuda-12030",
10323        feature = "cuda-12040",
10324        feature = "cuda-12050",
10325        feature = "cuda-12060",
10326        feature = "cuda-12080",
10327        feature = "cuda-12090",
10328        feature = "cuda-13000"
10329    ))]
10330    pub fn cudaOccupancyMaxActiveClusters(
10331        numClusters: *mut ::core::ffi::c_int,
10332        func: *const ::core::ffi::c_void,
10333        launchConfig: *const cudaLaunchConfig_t,
10334    ) -> cudaError_t;
10335    #[cfg(any(
10336        feature = "cuda-11080",
10337        feature = "cuda-12000",
10338        feature = "cuda-12010",
10339        feature = "cuda-12020",
10340        feature = "cuda-12030",
10341        feature = "cuda-12040",
10342        feature = "cuda-12050",
10343        feature = "cuda-12060",
10344        feature = "cuda-12080",
10345        feature = "cuda-12090",
10346        feature = "cuda-13000"
10347    ))]
10348    pub fn cudaOccupancyMaxPotentialClusterSize(
10349        clusterSize: *mut ::core::ffi::c_int,
10350        func: *const ::core::ffi::c_void,
10351        launchConfig: *const cudaLaunchConfig_t,
10352    ) -> cudaError_t;
10353    pub fn cudaPeekAtLastError() -> cudaError_t;
10354    pub fn cudaPointerGetAttributes(
10355        attributes: *mut cudaPointerAttributes,
10356        ptr: *const ::core::ffi::c_void,
10357    ) -> cudaError_t;
10358    pub fn cudaProfilerStop() -> cudaError_t;
10359    pub fn cudaRuntimeGetVersion(runtimeVersion: *mut ::core::ffi::c_int) -> cudaError_t;
10360    pub fn cudaSetDevice(device: ::core::ffi::c_int) -> cudaError_t;
10361    pub fn cudaSetDeviceFlags(flags: ::core::ffi::c_uint) -> cudaError_t;
10362    #[cfg(any(
10363        feature = "cuda-11040",
10364        feature = "cuda-11050",
10365        feature = "cuda-11060",
10366        feature = "cuda-11070",
10367        feature = "cuda-11080",
10368        feature = "cuda-12000",
10369        feature = "cuda-12010",
10370        feature = "cuda-12020",
10371        feature = "cuda-12030",
10372        feature = "cuda-12040",
10373        feature = "cuda-12050",
10374        feature = "cuda-12060",
10375        feature = "cuda-12080",
10376        feature = "cuda-12090"
10377    ))]
10378    pub fn cudaSetDoubleForDevice(d: *mut f64) -> cudaError_t;
10379    #[cfg(any(
10380        feature = "cuda-11040",
10381        feature = "cuda-11050",
10382        feature = "cuda-11060",
10383        feature = "cuda-11070",
10384        feature = "cuda-11080",
10385        feature = "cuda-12000",
10386        feature = "cuda-12010",
10387        feature = "cuda-12020",
10388        feature = "cuda-12030",
10389        feature = "cuda-12040",
10390        feature = "cuda-12050",
10391        feature = "cuda-12060",
10392        feature = "cuda-12080",
10393        feature = "cuda-12090"
10394    ))]
10395    pub fn cudaSetDoubleForHost(d: *mut f64) -> cudaError_t;
10396    pub fn cudaSetValidDevices(
10397        device_arr: *mut ::core::ffi::c_int,
10398        len: ::core::ffi::c_int,
10399    ) -> cudaError_t;
10400    #[cfg(any(feature = "cuda-13000"))]
10401    pub fn cudaSignalExternalSemaphoresAsync(
10402        extSemArray: *const cudaExternalSemaphore_t,
10403        paramsArray: *const cudaExternalSemaphoreSignalParams,
10404        numExtSems: ::core::ffi::c_uint,
10405        stream: cudaStream_t,
10406    ) -> cudaError_t;
10407    #[cfg(any(
10408        feature = "cuda-11040",
10409        feature = "cuda-11050",
10410        feature = "cuda-11060",
10411        feature = "cuda-11070",
10412        feature = "cuda-11080",
10413        feature = "cuda-12000",
10414        feature = "cuda-12010",
10415        feature = "cuda-12020",
10416        feature = "cuda-12030",
10417        feature = "cuda-12040",
10418        feature = "cuda-12050",
10419        feature = "cuda-12060",
10420        feature = "cuda-12080",
10421        feature = "cuda-12090"
10422    ))]
10423    pub fn cudaSignalExternalSemaphoresAsync_v2(
10424        extSemArray: *const cudaExternalSemaphore_t,
10425        paramsArray: *const cudaExternalSemaphoreSignalParams,
10426        numExtSems: ::core::ffi::c_uint,
10427        stream: cudaStream_t,
10428    ) -> cudaError_t;
10429    pub fn cudaStreamAddCallback(
10430        stream: cudaStream_t,
10431        callback: cudaStreamCallback_t,
10432        userData: *mut ::core::ffi::c_void,
10433        flags: ::core::ffi::c_uint,
10434    ) -> cudaError_t;
10435    pub fn cudaStreamAttachMemAsync(
10436        stream: cudaStream_t,
10437        devPtr: *mut ::core::ffi::c_void,
10438        length: usize,
10439        flags: ::core::ffi::c_uint,
10440    ) -> cudaError_t;
10441    pub fn cudaStreamBeginCapture(stream: cudaStream_t, mode: cudaStreamCaptureMode)
10442        -> cudaError_t;
10443    #[cfg(any(
10444        feature = "cuda-12030",
10445        feature = "cuda-12040",
10446        feature = "cuda-12050",
10447        feature = "cuda-12060",
10448        feature = "cuda-12080",
10449        feature = "cuda-12090",
10450        feature = "cuda-13000"
10451    ))]
10452    pub fn cudaStreamBeginCaptureToGraph(
10453        stream: cudaStream_t,
10454        graph: cudaGraph_t,
10455        dependencies: *const cudaGraphNode_t,
10456        dependencyData: *const cudaGraphEdgeData,
10457        numDependencies: usize,
10458        mode: cudaStreamCaptureMode,
10459    ) -> cudaError_t;
10460    pub fn cudaStreamCopyAttributes(dst: cudaStream_t, src: cudaStream_t) -> cudaError_t;
10461    pub fn cudaStreamCreate(pStream: *mut cudaStream_t) -> cudaError_t;
10462    pub fn cudaStreamCreateWithFlags(
10463        pStream: *mut cudaStream_t,
10464        flags: ::core::ffi::c_uint,
10465    ) -> cudaError_t;
10466    pub fn cudaStreamCreateWithPriority(
10467        pStream: *mut cudaStream_t,
10468        flags: ::core::ffi::c_uint,
10469        priority: ::core::ffi::c_int,
10470    ) -> cudaError_t;
10471    pub fn cudaStreamDestroy(stream: cudaStream_t) -> cudaError_t;
10472    pub fn cudaStreamEndCapture(stream: cudaStream_t, pGraph: *mut cudaGraph_t) -> cudaError_t;
10473    #[cfg(any(
10474        feature = "cuda-11040",
10475        feature = "cuda-11050",
10476        feature = "cuda-11060",
10477        feature = "cuda-11070"
10478    ))]
10479    pub fn cudaStreamGetAttribute(
10480        hStream: cudaStream_t,
10481        attr: cudaStreamAttrID,
10482        value_out: *mut cudaStreamAttrValue,
10483    ) -> cudaError_t;
10484    #[cfg(any(
10485        feature = "cuda-11080",
10486        feature = "cuda-12000",
10487        feature = "cuda-12010",
10488        feature = "cuda-12020",
10489        feature = "cuda-12030",
10490        feature = "cuda-12040",
10491        feature = "cuda-12050",
10492        feature = "cuda-12060",
10493        feature = "cuda-12080",
10494        feature = "cuda-12090",
10495        feature = "cuda-13000"
10496    ))]
10497    pub fn cudaStreamGetAttribute(
10498        hStream: cudaStream_t,
10499        attr: cudaLaunchAttributeID,
10500        value_out: *mut cudaLaunchAttributeValue,
10501    ) -> cudaError_t;
10502    #[cfg(any(
10503        feature = "cuda-11040",
10504        feature = "cuda-11050",
10505        feature = "cuda-11060",
10506        feature = "cuda-11070",
10507        feature = "cuda-11080"
10508    ))]
10509    pub fn cudaStreamGetCaptureInfo(
10510        stream: cudaStream_t,
10511        pCaptureStatus: *mut cudaStreamCaptureStatus,
10512        pId: *mut ::core::ffi::c_ulonglong,
10513    ) -> cudaError_t;
10514    #[cfg(any(feature = "cuda-13000"))]
10515    pub fn cudaStreamGetCaptureInfo(
10516        stream: cudaStream_t,
10517        captureStatus_out: *mut cudaStreamCaptureStatus,
10518        id_out: *mut ::core::ffi::c_ulonglong,
10519        graph_out: *mut cudaGraph_t,
10520        dependencies_out: *mut *const cudaGraphNode_t,
10521        edgeData_out: *mut *const cudaGraphEdgeData,
10522        numDependencies_out: *mut usize,
10523    ) -> cudaError_t;
10524    #[cfg(any(
10525        feature = "cuda-11040",
10526        feature = "cuda-11050",
10527        feature = "cuda-11060",
10528        feature = "cuda-11070",
10529        feature = "cuda-11080",
10530        feature = "cuda-12000",
10531        feature = "cuda-12010",
10532        feature = "cuda-12020",
10533        feature = "cuda-12030",
10534        feature = "cuda-12040",
10535        feature = "cuda-12050",
10536        feature = "cuda-12060",
10537        feature = "cuda-12080",
10538        feature = "cuda-12090"
10539    ))]
10540    pub fn cudaStreamGetCaptureInfo_v2(
10541        stream: cudaStream_t,
10542        captureStatus_out: *mut cudaStreamCaptureStatus,
10543        id_out: *mut ::core::ffi::c_ulonglong,
10544        graph_out: *mut cudaGraph_t,
10545        dependencies_out: *mut *const cudaGraphNode_t,
10546        numDependencies_out: *mut usize,
10547    ) -> cudaError_t;
10548    #[cfg(any(
10549        feature = "cuda-12030",
10550        feature = "cuda-12040",
10551        feature = "cuda-12050",
10552        feature = "cuda-12060",
10553        feature = "cuda-12080",
10554        feature = "cuda-12090"
10555    ))]
10556    pub fn cudaStreamGetCaptureInfo_v3(
10557        stream: cudaStream_t,
10558        captureStatus_out: *mut cudaStreamCaptureStatus,
10559        id_out: *mut ::core::ffi::c_ulonglong,
10560        graph_out: *mut cudaGraph_t,
10561        dependencies_out: *mut *const cudaGraphNode_t,
10562        edgeData_out: *mut *const cudaGraphEdgeData,
10563        numDependencies_out: *mut usize,
10564    ) -> cudaError_t;
10565    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
10566    pub fn cudaStreamGetDevice(
10567        hStream: cudaStream_t,
10568        device: *mut ::core::ffi::c_int,
10569    ) -> cudaError_t;
10570    pub fn cudaStreamGetFlags(
10571        hStream: cudaStream_t,
10572        flags: *mut ::core::ffi::c_uint,
10573    ) -> cudaError_t;
10574    #[cfg(any(
10575        feature = "cuda-12000",
10576        feature = "cuda-12010",
10577        feature = "cuda-12020",
10578        feature = "cuda-12030",
10579        feature = "cuda-12040",
10580        feature = "cuda-12050",
10581        feature = "cuda-12060",
10582        feature = "cuda-12080",
10583        feature = "cuda-12090",
10584        feature = "cuda-13000"
10585    ))]
10586    pub fn cudaStreamGetId(
10587        hStream: cudaStream_t,
10588        streamId: *mut ::core::ffi::c_ulonglong,
10589    ) -> cudaError_t;
10590    pub fn cudaStreamGetPriority(
10591        hStream: cudaStream_t,
10592        priority: *mut ::core::ffi::c_int,
10593    ) -> cudaError_t;
10594    pub fn cudaStreamIsCapturing(
10595        stream: cudaStream_t,
10596        pCaptureStatus: *mut cudaStreamCaptureStatus,
10597    ) -> cudaError_t;
10598    pub fn cudaStreamQuery(stream: cudaStream_t) -> cudaError_t;
10599    #[cfg(any(
10600        feature = "cuda-11040",
10601        feature = "cuda-11050",
10602        feature = "cuda-11060",
10603        feature = "cuda-11070"
10604    ))]
10605    pub fn cudaStreamSetAttribute(
10606        hStream: cudaStream_t,
10607        attr: cudaStreamAttrID,
10608        value: *const cudaStreamAttrValue,
10609    ) -> cudaError_t;
10610    #[cfg(any(
10611        feature = "cuda-11080",
10612        feature = "cuda-12000",
10613        feature = "cuda-12010",
10614        feature = "cuda-12020",
10615        feature = "cuda-12030",
10616        feature = "cuda-12040",
10617        feature = "cuda-12050",
10618        feature = "cuda-12060",
10619        feature = "cuda-12080",
10620        feature = "cuda-12090",
10621        feature = "cuda-13000"
10622    ))]
10623    pub fn cudaStreamSetAttribute(
10624        hStream: cudaStream_t,
10625        attr: cudaLaunchAttributeID,
10626        value: *const cudaLaunchAttributeValue,
10627    ) -> cudaError_t;
10628    pub fn cudaStreamSynchronize(stream: cudaStream_t) -> cudaError_t;
10629    #[cfg(any(
10630        feature = "cuda-11040",
10631        feature = "cuda-11050",
10632        feature = "cuda-11060",
10633        feature = "cuda-11070",
10634        feature = "cuda-11080",
10635        feature = "cuda-12000",
10636        feature = "cuda-12010",
10637        feature = "cuda-12020",
10638        feature = "cuda-12030",
10639        feature = "cuda-12040",
10640        feature = "cuda-12050",
10641        feature = "cuda-12060",
10642        feature = "cuda-12080",
10643        feature = "cuda-12090"
10644    ))]
10645    pub fn cudaStreamUpdateCaptureDependencies(
10646        stream: cudaStream_t,
10647        dependencies: *mut cudaGraphNode_t,
10648        numDependencies: usize,
10649        flags: ::core::ffi::c_uint,
10650    ) -> cudaError_t;
10651    #[cfg(any(feature = "cuda-13000"))]
10652    pub fn cudaStreamUpdateCaptureDependencies(
10653        stream: cudaStream_t,
10654        dependencies: *mut cudaGraphNode_t,
10655        dependencyData: *const cudaGraphEdgeData,
10656        numDependencies: usize,
10657        flags: ::core::ffi::c_uint,
10658    ) -> cudaError_t;
10659    #[cfg(any(
10660        feature = "cuda-12030",
10661        feature = "cuda-12040",
10662        feature = "cuda-12050",
10663        feature = "cuda-12060",
10664        feature = "cuda-12080",
10665        feature = "cuda-12090"
10666    ))]
10667    pub fn cudaStreamUpdateCaptureDependencies_v2(
10668        stream: cudaStream_t,
10669        dependencies: *mut cudaGraphNode_t,
10670        dependencyData: *const cudaGraphEdgeData,
10671        numDependencies: usize,
10672        flags: ::core::ffi::c_uint,
10673    ) -> cudaError_t;
10674    pub fn cudaStreamWaitEvent(
10675        stream: cudaStream_t,
10676        event: cudaEvent_t,
10677        flags: ::core::ffi::c_uint,
10678    ) -> cudaError_t;
10679    pub fn cudaThreadExchangeStreamCaptureMode(mode: *mut cudaStreamCaptureMode) -> cudaError_t;
10680    #[cfg(any(
10681        feature = "cuda-11040",
10682        feature = "cuda-11050",
10683        feature = "cuda-11060",
10684        feature = "cuda-11070",
10685        feature = "cuda-11080",
10686        feature = "cuda-12000",
10687        feature = "cuda-12010",
10688        feature = "cuda-12020",
10689        feature = "cuda-12030",
10690        feature = "cuda-12040",
10691        feature = "cuda-12050",
10692        feature = "cuda-12060",
10693        feature = "cuda-12080",
10694        feature = "cuda-12090"
10695    ))]
10696    pub fn cudaThreadExit() -> cudaError_t;
10697    #[cfg(any(
10698        feature = "cuda-11040",
10699        feature = "cuda-11050",
10700        feature = "cuda-11060",
10701        feature = "cuda-11070",
10702        feature = "cuda-11080",
10703        feature = "cuda-12000",
10704        feature = "cuda-12010",
10705        feature = "cuda-12020",
10706        feature = "cuda-12030",
10707        feature = "cuda-12040",
10708        feature = "cuda-12050",
10709        feature = "cuda-12060",
10710        feature = "cuda-12080",
10711        feature = "cuda-12090"
10712    ))]
10713    pub fn cudaThreadGetCacheConfig(pCacheConfig: *mut cudaFuncCache) -> cudaError_t;
10714    #[cfg(any(
10715        feature = "cuda-11040",
10716        feature = "cuda-11050",
10717        feature = "cuda-11060",
10718        feature = "cuda-11070",
10719        feature = "cuda-11080",
10720        feature = "cuda-12000",
10721        feature = "cuda-12010",
10722        feature = "cuda-12020",
10723        feature = "cuda-12030",
10724        feature = "cuda-12040",
10725        feature = "cuda-12050",
10726        feature = "cuda-12060",
10727        feature = "cuda-12080",
10728        feature = "cuda-12090"
10729    ))]
10730    pub fn cudaThreadGetLimit(pValue: *mut usize, limit: cudaLimit) -> cudaError_t;
10731    #[cfg(any(
10732        feature = "cuda-11040",
10733        feature = "cuda-11050",
10734        feature = "cuda-11060",
10735        feature = "cuda-11070",
10736        feature = "cuda-11080",
10737        feature = "cuda-12000",
10738        feature = "cuda-12010",
10739        feature = "cuda-12020",
10740        feature = "cuda-12030",
10741        feature = "cuda-12040",
10742        feature = "cuda-12050",
10743        feature = "cuda-12060",
10744        feature = "cuda-12080",
10745        feature = "cuda-12090"
10746    ))]
10747    pub fn cudaThreadSetCacheConfig(cacheConfig: cudaFuncCache) -> cudaError_t;
10748    #[cfg(any(
10749        feature = "cuda-11040",
10750        feature = "cuda-11050",
10751        feature = "cuda-11060",
10752        feature = "cuda-11070",
10753        feature = "cuda-11080",
10754        feature = "cuda-12000",
10755        feature = "cuda-12010",
10756        feature = "cuda-12020",
10757        feature = "cuda-12030",
10758        feature = "cuda-12040",
10759        feature = "cuda-12050",
10760        feature = "cuda-12060",
10761        feature = "cuda-12080",
10762        feature = "cuda-12090"
10763    ))]
10764    pub fn cudaThreadSetLimit(limit: cudaLimit, value: usize) -> cudaError_t;
10765    #[cfg(any(
10766        feature = "cuda-11040",
10767        feature = "cuda-11050",
10768        feature = "cuda-11060",
10769        feature = "cuda-11070",
10770        feature = "cuda-11080",
10771        feature = "cuda-12000",
10772        feature = "cuda-12010",
10773        feature = "cuda-12020",
10774        feature = "cuda-12030",
10775        feature = "cuda-12040",
10776        feature = "cuda-12050",
10777        feature = "cuda-12060",
10778        feature = "cuda-12080",
10779        feature = "cuda-12090"
10780    ))]
10781    pub fn cudaThreadSynchronize() -> cudaError_t;
10782    #[cfg(any(
10783        feature = "cuda-11040",
10784        feature = "cuda-11050",
10785        feature = "cuda-11060",
10786        feature = "cuda-11070",
10787        feature = "cuda-11080"
10788    ))]
10789    pub fn cudaUnbindTexture(texref: *const textureReference) -> cudaError_t;
10790    pub fn cudaUserObjectCreate(
10791        object_out: *mut cudaUserObject_t,
10792        ptr: *mut ::core::ffi::c_void,
10793        destroy: cudaHostFn_t,
10794        initialRefcount: ::core::ffi::c_uint,
10795        flags: ::core::ffi::c_uint,
10796    ) -> cudaError_t;
10797    pub fn cudaUserObjectRelease(
10798        object: cudaUserObject_t,
10799        count: ::core::ffi::c_uint,
10800    ) -> cudaError_t;
10801    pub fn cudaUserObjectRetain(
10802        object: cudaUserObject_t,
10803        count: ::core::ffi::c_uint,
10804    ) -> cudaError_t;
10805    #[cfg(any(feature = "cuda-13000"))]
10806    pub fn cudaWaitExternalSemaphoresAsync(
10807        extSemArray: *const cudaExternalSemaphore_t,
10808        paramsArray: *const cudaExternalSemaphoreWaitParams,
10809        numExtSems: ::core::ffi::c_uint,
10810        stream: cudaStream_t,
10811    ) -> cudaError_t;
10812    #[cfg(any(
10813        feature = "cuda-11040",
10814        feature = "cuda-11050",
10815        feature = "cuda-11060",
10816        feature = "cuda-11070",
10817        feature = "cuda-11080",
10818        feature = "cuda-12000",
10819        feature = "cuda-12010",
10820        feature = "cuda-12020",
10821        feature = "cuda-12030",
10822        feature = "cuda-12040",
10823        feature = "cuda-12050",
10824        feature = "cuda-12060",
10825        feature = "cuda-12080",
10826        feature = "cuda-12090"
10827    ))]
10828    pub fn cudaWaitExternalSemaphoresAsync_v2(
10829        extSemArray: *const cudaExternalSemaphore_t,
10830        paramsArray: *const cudaExternalSemaphoreWaitParams,
10831        numExtSems: ::core::ffi::c_uint,
10832        stream: cudaStream_t,
10833    ) -> cudaError_t;
10834}
10835#[cfg(feature = "dynamic-loading")]
10836mod loaded {
10837    use super::*;
10838    pub unsafe fn cudaArrayGetInfo(
10839        desc: *mut cudaChannelFormatDesc,
10840        extent: *mut cudaExtent,
10841        flags: *mut ::core::ffi::c_uint,
10842        array: cudaArray_t,
10843    ) -> cudaError_t {
10844        (culib().cudaArrayGetInfo)(desc, extent, flags, array)
10845    }
10846    #[cfg(any(
10847        feature = "cuda-11060",
10848        feature = "cuda-11070",
10849        feature = "cuda-11080",
10850        feature = "cuda-12000",
10851        feature = "cuda-12010",
10852        feature = "cuda-12020",
10853        feature = "cuda-12030",
10854        feature = "cuda-12040",
10855        feature = "cuda-12050",
10856        feature = "cuda-12060",
10857        feature = "cuda-12080",
10858        feature = "cuda-12090",
10859        feature = "cuda-13000"
10860    ))]
10861    pub unsafe fn cudaArrayGetMemoryRequirements(
10862        memoryRequirements: *mut cudaArrayMemoryRequirements,
10863        array: cudaArray_t,
10864        device: ::core::ffi::c_int,
10865    ) -> cudaError_t {
10866        (culib().cudaArrayGetMemoryRequirements)(memoryRequirements, array, device)
10867    }
10868    pub unsafe fn cudaArrayGetPlane(
10869        pPlaneArray: *mut cudaArray_t,
10870        hArray: cudaArray_t,
10871        planeIdx: ::core::ffi::c_uint,
10872    ) -> cudaError_t {
10873        (culib().cudaArrayGetPlane)(pPlaneArray, hArray, planeIdx)
10874    }
10875    pub unsafe fn cudaArrayGetSparseProperties(
10876        sparseProperties: *mut cudaArraySparseProperties,
10877        array: cudaArray_t,
10878    ) -> cudaError_t {
10879        (culib().cudaArrayGetSparseProperties)(sparseProperties, array)
10880    }
10881    #[cfg(any(
10882        feature = "cuda-11040",
10883        feature = "cuda-11050",
10884        feature = "cuda-11060",
10885        feature = "cuda-11070",
10886        feature = "cuda-11080"
10887    ))]
10888    pub unsafe fn cudaBindSurfaceToArray(
10889        surfref: *const surfaceReference,
10890        array: cudaArray_const_t,
10891        desc: *const cudaChannelFormatDesc,
10892    ) -> cudaError_t {
10893        (culib().cudaBindSurfaceToArray)(surfref, array, desc)
10894    }
10895    #[cfg(any(
10896        feature = "cuda-11040",
10897        feature = "cuda-11050",
10898        feature = "cuda-11060",
10899        feature = "cuda-11070",
10900        feature = "cuda-11080"
10901    ))]
10902    pub unsafe fn cudaBindTexture(
10903        offset: *mut usize,
10904        texref: *const textureReference,
10905        devPtr: *const ::core::ffi::c_void,
10906        desc: *const cudaChannelFormatDesc,
10907        size: usize,
10908    ) -> cudaError_t {
10909        (culib().cudaBindTexture)(offset, texref, devPtr, desc, size)
10910    }
10911    #[cfg(any(
10912        feature = "cuda-11040",
10913        feature = "cuda-11050",
10914        feature = "cuda-11060",
10915        feature = "cuda-11070",
10916        feature = "cuda-11080"
10917    ))]
10918    pub unsafe fn cudaBindTexture2D(
10919        offset: *mut usize,
10920        texref: *const textureReference,
10921        devPtr: *const ::core::ffi::c_void,
10922        desc: *const cudaChannelFormatDesc,
10923        width: usize,
10924        height: usize,
10925        pitch: usize,
10926    ) -> cudaError_t {
10927        (culib().cudaBindTexture2D)(offset, texref, devPtr, desc, width, height, pitch)
10928    }
10929    #[cfg(any(
10930        feature = "cuda-11040",
10931        feature = "cuda-11050",
10932        feature = "cuda-11060",
10933        feature = "cuda-11070",
10934        feature = "cuda-11080"
10935    ))]
10936    pub unsafe fn cudaBindTextureToArray(
10937        texref: *const textureReference,
10938        array: cudaArray_const_t,
10939        desc: *const cudaChannelFormatDesc,
10940    ) -> cudaError_t {
10941        (culib().cudaBindTextureToArray)(texref, array, desc)
10942    }
10943    #[cfg(any(
10944        feature = "cuda-11040",
10945        feature = "cuda-11050",
10946        feature = "cuda-11060",
10947        feature = "cuda-11070",
10948        feature = "cuda-11080"
10949    ))]
10950    pub unsafe fn cudaBindTextureToMipmappedArray(
10951        texref: *const textureReference,
10952        mipmappedArray: cudaMipmappedArray_const_t,
10953        desc: *const cudaChannelFormatDesc,
10954    ) -> cudaError_t {
10955        (culib().cudaBindTextureToMipmappedArray)(texref, mipmappedArray, desc)
10956    }
10957    pub unsafe fn cudaChooseDevice(
10958        device: *mut ::core::ffi::c_int,
10959        prop: *const cudaDeviceProp,
10960    ) -> cudaError_t {
10961        (culib().cudaChooseDevice)(device, prop)
10962    }
10963    pub unsafe fn cudaCreateChannelDesc(
10964        x: ::core::ffi::c_int,
10965        y: ::core::ffi::c_int,
10966        z: ::core::ffi::c_int,
10967        w: ::core::ffi::c_int,
10968        f: cudaChannelFormatKind,
10969    ) -> cudaChannelFormatDesc {
10970        (culib().cudaCreateChannelDesc)(x, y, z, w, f)
10971    }
10972    pub unsafe fn cudaCreateSurfaceObject(
10973        pSurfObject: *mut cudaSurfaceObject_t,
10974        pResDesc: *const cudaResourceDesc,
10975    ) -> cudaError_t {
10976        (culib().cudaCreateSurfaceObject)(pSurfObject, pResDesc)
10977    }
10978    pub unsafe fn cudaCreateTextureObject(
10979        pTexObject: *mut cudaTextureObject_t,
10980        pResDesc: *const cudaResourceDesc,
10981        pTexDesc: *const cudaTextureDesc,
10982        pResViewDesc: *const cudaResourceViewDesc,
10983    ) -> cudaError_t {
10984        (culib().cudaCreateTextureObject)(pTexObject, pResDesc, pTexDesc, pResViewDesc)
10985    }
10986    #[cfg(any(feature = "cuda-11080"))]
10987    pub unsafe fn cudaCreateTextureObject_v2(
10988        pTexObject: *mut cudaTextureObject_t,
10989        pResDesc: *const cudaResourceDesc,
10990        pTexDesc: *const cudaTextureDesc_v2,
10991        pResViewDesc: *const cudaResourceViewDesc,
10992    ) -> cudaError_t {
10993        (culib().cudaCreateTextureObject_v2)(pTexObject, pResDesc, pTexDesc, pResViewDesc)
10994    }
10995    pub unsafe fn cudaCtxResetPersistingL2Cache() -> cudaError_t {
10996        (culib().cudaCtxResetPersistingL2Cache)()
10997    }
10998    pub unsafe fn cudaDestroyExternalMemory(extMem: cudaExternalMemory_t) -> cudaError_t {
10999        (culib().cudaDestroyExternalMemory)(extMem)
11000    }
11001    pub unsafe fn cudaDestroyExternalSemaphore(extSem: cudaExternalSemaphore_t) -> cudaError_t {
11002        (culib().cudaDestroyExternalSemaphore)(extSem)
11003    }
11004    pub unsafe fn cudaDestroySurfaceObject(surfObject: cudaSurfaceObject_t) -> cudaError_t {
11005        (culib().cudaDestroySurfaceObject)(surfObject)
11006    }
11007    pub unsafe fn cudaDestroyTextureObject(texObject: cudaTextureObject_t) -> cudaError_t {
11008        (culib().cudaDestroyTextureObject)(texObject)
11009    }
11010    pub unsafe fn cudaDeviceCanAccessPeer(
11011        canAccessPeer: *mut ::core::ffi::c_int,
11012        device: ::core::ffi::c_int,
11013        peerDevice: ::core::ffi::c_int,
11014    ) -> cudaError_t {
11015        (culib().cudaDeviceCanAccessPeer)(canAccessPeer, device, peerDevice)
11016    }
11017    pub unsafe fn cudaDeviceDisablePeerAccess(peerDevice: ::core::ffi::c_int) -> cudaError_t {
11018        (culib().cudaDeviceDisablePeerAccess)(peerDevice)
11019    }
11020    pub unsafe fn cudaDeviceEnablePeerAccess(
11021        peerDevice: ::core::ffi::c_int,
11022        flags: ::core::ffi::c_uint,
11023    ) -> cudaError_t {
11024        (culib().cudaDeviceEnablePeerAccess)(peerDevice, flags)
11025    }
11026    pub unsafe fn cudaDeviceFlushGPUDirectRDMAWrites(
11027        target: cudaFlushGPUDirectRDMAWritesTarget,
11028        scope: cudaFlushGPUDirectRDMAWritesScope,
11029    ) -> cudaError_t {
11030        (culib().cudaDeviceFlushGPUDirectRDMAWrites)(target, scope)
11031    }
11032    pub unsafe fn cudaDeviceGetAttribute(
11033        value: *mut ::core::ffi::c_int,
11034        attr: cudaDeviceAttr,
11035        device: ::core::ffi::c_int,
11036    ) -> cudaError_t {
11037        (culib().cudaDeviceGetAttribute)(value, attr, device)
11038    }
11039    pub unsafe fn cudaDeviceGetByPCIBusId(
11040        device: *mut ::core::ffi::c_int,
11041        pciBusId: *const ::core::ffi::c_char,
11042    ) -> cudaError_t {
11043        (culib().cudaDeviceGetByPCIBusId)(device, pciBusId)
11044    }
11045    pub unsafe fn cudaDeviceGetCacheConfig(pCacheConfig: *mut cudaFuncCache) -> cudaError_t {
11046        (culib().cudaDeviceGetCacheConfig)(pCacheConfig)
11047    }
11048    pub unsafe fn cudaDeviceGetDefaultMemPool(
11049        memPool: *mut cudaMemPool_t,
11050        device: ::core::ffi::c_int,
11051    ) -> cudaError_t {
11052        (culib().cudaDeviceGetDefaultMemPool)(memPool, device)
11053    }
11054    pub unsafe fn cudaDeviceGetGraphMemAttribute(
11055        device: ::core::ffi::c_int,
11056        attr: cudaGraphMemAttributeType,
11057        value: *mut ::core::ffi::c_void,
11058    ) -> cudaError_t {
11059        (culib().cudaDeviceGetGraphMemAttribute)(device, attr, value)
11060    }
11061    #[cfg(any(feature = "cuda-13000"))]
11062    pub unsafe fn cudaDeviceGetHostAtomicCapabilities(
11063        capabilities: *mut ::core::ffi::c_uint,
11064        operations: *const cudaAtomicOperation,
11065        count: ::core::ffi::c_uint,
11066        device: ::core::ffi::c_int,
11067    ) -> cudaError_t {
11068        (culib().cudaDeviceGetHostAtomicCapabilities)(capabilities, operations, count, device)
11069    }
11070    pub unsafe fn cudaDeviceGetLimit(pValue: *mut usize, limit: cudaLimit) -> cudaError_t {
11071        (culib().cudaDeviceGetLimit)(pValue, limit)
11072    }
11073    pub unsafe fn cudaDeviceGetMemPool(
11074        memPool: *mut cudaMemPool_t,
11075        device: ::core::ffi::c_int,
11076    ) -> cudaError_t {
11077        (culib().cudaDeviceGetMemPool)(memPool, device)
11078    }
11079    #[cfg(any(feature = "cuda-13000"))]
11080    pub unsafe fn cudaDeviceGetP2PAtomicCapabilities(
11081        capabilities: *mut ::core::ffi::c_uint,
11082        operations: *const cudaAtomicOperation,
11083        count: ::core::ffi::c_uint,
11084        srcDevice: ::core::ffi::c_int,
11085        dstDevice: ::core::ffi::c_int,
11086    ) -> cudaError_t {
11087        (culib().cudaDeviceGetP2PAtomicCapabilities)(
11088            capabilities,
11089            operations,
11090            count,
11091            srcDevice,
11092            dstDevice,
11093        )
11094    }
11095    pub unsafe fn cudaDeviceGetP2PAttribute(
11096        value: *mut ::core::ffi::c_int,
11097        attr: cudaDeviceP2PAttr,
11098        srcDevice: ::core::ffi::c_int,
11099        dstDevice: ::core::ffi::c_int,
11100    ) -> cudaError_t {
11101        (culib().cudaDeviceGetP2PAttribute)(value, attr, srcDevice, dstDevice)
11102    }
11103    pub unsafe fn cudaDeviceGetPCIBusId(
11104        pciBusId: *mut ::core::ffi::c_char,
11105        len: ::core::ffi::c_int,
11106        device: ::core::ffi::c_int,
11107    ) -> cudaError_t {
11108        (culib().cudaDeviceGetPCIBusId)(pciBusId, len, device)
11109    }
11110    pub unsafe fn cudaDeviceGetSharedMemConfig(pConfig: *mut cudaSharedMemConfig) -> cudaError_t {
11111        (culib().cudaDeviceGetSharedMemConfig)(pConfig)
11112    }
11113    pub unsafe fn cudaDeviceGetStreamPriorityRange(
11114        leastPriority: *mut ::core::ffi::c_int,
11115        greatestPriority: *mut ::core::ffi::c_int,
11116    ) -> cudaError_t {
11117        (culib().cudaDeviceGetStreamPriorityRange)(leastPriority, greatestPriority)
11118    }
11119    pub unsafe fn cudaDeviceGetTexture1DLinearMaxWidth(
11120        maxWidthInElements: *mut usize,
11121        fmtDesc: *const cudaChannelFormatDesc,
11122        device: ::core::ffi::c_int,
11123    ) -> cudaError_t {
11124        (culib().cudaDeviceGetTexture1DLinearMaxWidth)(maxWidthInElements, fmtDesc, device)
11125    }
11126    pub unsafe fn cudaDeviceGraphMemTrim(device: ::core::ffi::c_int) -> cudaError_t {
11127        (culib().cudaDeviceGraphMemTrim)(device)
11128    }
11129    #[cfg(any(
11130        feature = "cuda-12040",
11131        feature = "cuda-12050",
11132        feature = "cuda-12060",
11133        feature = "cuda-12080",
11134        feature = "cuda-12090",
11135        feature = "cuda-13000"
11136    ))]
11137    pub unsafe fn cudaDeviceRegisterAsyncNotification(
11138        device: ::core::ffi::c_int,
11139        callbackFunc: cudaAsyncCallback,
11140        userData: *mut ::core::ffi::c_void,
11141        callback: *mut cudaAsyncCallbackHandle_t,
11142    ) -> cudaError_t {
11143        (culib().cudaDeviceRegisterAsyncNotification)(device, callbackFunc, userData, callback)
11144    }
11145    pub unsafe fn cudaDeviceReset() -> cudaError_t {
11146        (culib().cudaDeviceReset)()
11147    }
11148    pub unsafe fn cudaDeviceSetCacheConfig(cacheConfig: cudaFuncCache) -> cudaError_t {
11149        (culib().cudaDeviceSetCacheConfig)(cacheConfig)
11150    }
11151    pub unsafe fn cudaDeviceSetGraphMemAttribute(
11152        device: ::core::ffi::c_int,
11153        attr: cudaGraphMemAttributeType,
11154        value: *mut ::core::ffi::c_void,
11155    ) -> cudaError_t {
11156        (culib().cudaDeviceSetGraphMemAttribute)(device, attr, value)
11157    }
11158    pub unsafe fn cudaDeviceSetLimit(limit: cudaLimit, value: usize) -> cudaError_t {
11159        (culib().cudaDeviceSetLimit)(limit, value)
11160    }
11161    pub unsafe fn cudaDeviceSetMemPool(
11162        device: ::core::ffi::c_int,
11163        memPool: cudaMemPool_t,
11164    ) -> cudaError_t {
11165        (culib().cudaDeviceSetMemPool)(device, memPool)
11166    }
11167    pub unsafe fn cudaDeviceSetSharedMemConfig(config: cudaSharedMemConfig) -> cudaError_t {
11168        (culib().cudaDeviceSetSharedMemConfig)(config)
11169    }
11170    pub unsafe fn cudaDeviceSynchronize() -> cudaError_t {
11171        (culib().cudaDeviceSynchronize)()
11172    }
11173    #[cfg(any(
11174        feature = "cuda-12040",
11175        feature = "cuda-12050",
11176        feature = "cuda-12060",
11177        feature = "cuda-12080",
11178        feature = "cuda-12090",
11179        feature = "cuda-13000"
11180    ))]
11181    pub unsafe fn cudaDeviceUnregisterAsyncNotification(
11182        device: ::core::ffi::c_int,
11183        callback: cudaAsyncCallbackHandle_t,
11184    ) -> cudaError_t {
11185        (culib().cudaDeviceUnregisterAsyncNotification)(device, callback)
11186    }
11187    pub unsafe fn cudaDriverGetVersion(driverVersion: *mut ::core::ffi::c_int) -> cudaError_t {
11188        (culib().cudaDriverGetVersion)(driverVersion)
11189    }
11190    pub unsafe fn cudaEventCreate(event: *mut cudaEvent_t) -> cudaError_t {
11191        (culib().cudaEventCreate)(event)
11192    }
11193    pub unsafe fn cudaEventCreateWithFlags(
11194        event: *mut cudaEvent_t,
11195        flags: ::core::ffi::c_uint,
11196    ) -> cudaError_t {
11197        (culib().cudaEventCreateWithFlags)(event, flags)
11198    }
11199    pub unsafe fn cudaEventDestroy(event: cudaEvent_t) -> cudaError_t {
11200        (culib().cudaEventDestroy)(event)
11201    }
11202    pub unsafe fn cudaEventElapsedTime(
11203        ms: *mut f32,
11204        start: cudaEvent_t,
11205        end: cudaEvent_t,
11206    ) -> cudaError_t {
11207        (culib().cudaEventElapsedTime)(ms, start, end)
11208    }
11209    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
11210    pub unsafe fn cudaEventElapsedTime_v2(
11211        ms: *mut f32,
11212        start: cudaEvent_t,
11213        end: cudaEvent_t,
11214    ) -> cudaError_t {
11215        (culib().cudaEventElapsedTime_v2)(ms, start, end)
11216    }
11217    pub unsafe fn cudaEventQuery(event: cudaEvent_t) -> cudaError_t {
11218        (culib().cudaEventQuery)(event)
11219    }
11220    pub unsafe fn cudaEventRecord(event: cudaEvent_t, stream: cudaStream_t) -> cudaError_t {
11221        (culib().cudaEventRecord)(event, stream)
11222    }
11223    pub unsafe fn cudaEventRecordWithFlags(
11224        event: cudaEvent_t,
11225        stream: cudaStream_t,
11226        flags: ::core::ffi::c_uint,
11227    ) -> cudaError_t {
11228        (culib().cudaEventRecordWithFlags)(event, stream, flags)
11229    }
11230    pub unsafe fn cudaEventSynchronize(event: cudaEvent_t) -> cudaError_t {
11231        (culib().cudaEventSynchronize)(event)
11232    }
11233    pub unsafe fn cudaExternalMemoryGetMappedBuffer(
11234        devPtr: *mut *mut ::core::ffi::c_void,
11235        extMem: cudaExternalMemory_t,
11236        bufferDesc: *const cudaExternalMemoryBufferDesc,
11237    ) -> cudaError_t {
11238        (culib().cudaExternalMemoryGetMappedBuffer)(devPtr, extMem, bufferDesc)
11239    }
11240    pub unsafe fn cudaExternalMemoryGetMappedMipmappedArray(
11241        mipmap: *mut cudaMipmappedArray_t,
11242        extMem: cudaExternalMemory_t,
11243        mipmapDesc: *const cudaExternalMemoryMipmappedArrayDesc,
11244    ) -> cudaError_t {
11245        (culib().cudaExternalMemoryGetMappedMipmappedArray)(mipmap, extMem, mipmapDesc)
11246    }
11247    pub unsafe fn cudaFree(devPtr: *mut ::core::ffi::c_void) -> cudaError_t {
11248        (culib().cudaFree)(devPtr)
11249    }
11250    pub unsafe fn cudaFreeArray(array: cudaArray_t) -> cudaError_t {
11251        (culib().cudaFreeArray)(array)
11252    }
11253    pub unsafe fn cudaFreeAsync(
11254        devPtr: *mut ::core::ffi::c_void,
11255        hStream: cudaStream_t,
11256    ) -> cudaError_t {
11257        (culib().cudaFreeAsync)(devPtr, hStream)
11258    }
11259    pub unsafe fn cudaFreeHost(ptr: *mut ::core::ffi::c_void) -> cudaError_t {
11260        (culib().cudaFreeHost)(ptr)
11261    }
11262    pub unsafe fn cudaFreeMipmappedArray(mipmappedArray: cudaMipmappedArray_t) -> cudaError_t {
11263        (culib().cudaFreeMipmappedArray)(mipmappedArray)
11264    }
11265    pub unsafe fn cudaFuncGetAttributes(
11266        attr: *mut cudaFuncAttributes,
11267        func: *const ::core::ffi::c_void,
11268    ) -> cudaError_t {
11269        (culib().cudaFuncGetAttributes)(attr, func)
11270    }
11271    #[cfg(any(
11272        feature = "cuda-12030",
11273        feature = "cuda-12040",
11274        feature = "cuda-12050",
11275        feature = "cuda-12060",
11276        feature = "cuda-12080",
11277        feature = "cuda-12090",
11278        feature = "cuda-13000"
11279    ))]
11280    pub unsafe fn cudaFuncGetName(
11281        name: *mut *const ::core::ffi::c_char,
11282        func: *const ::core::ffi::c_void,
11283    ) -> cudaError_t {
11284        (culib().cudaFuncGetName)(name, func)
11285    }
11286    #[cfg(any(
11287        feature = "cuda-12040",
11288        feature = "cuda-12050",
11289        feature = "cuda-12060",
11290        feature = "cuda-12080",
11291        feature = "cuda-12090",
11292        feature = "cuda-13000"
11293    ))]
11294    pub unsafe fn cudaFuncGetParamInfo(
11295        func: *const ::core::ffi::c_void,
11296        paramIndex: usize,
11297        paramOffset: *mut usize,
11298        paramSize: *mut usize,
11299    ) -> cudaError_t {
11300        (culib().cudaFuncGetParamInfo)(func, paramIndex, paramOffset, paramSize)
11301    }
11302    pub unsafe fn cudaFuncSetAttribute(
11303        func: *const ::core::ffi::c_void,
11304        attr: cudaFuncAttribute,
11305        value: ::core::ffi::c_int,
11306    ) -> cudaError_t {
11307        (culib().cudaFuncSetAttribute)(func, attr, value)
11308    }
11309    pub unsafe fn cudaFuncSetCacheConfig(
11310        func: *const ::core::ffi::c_void,
11311        cacheConfig: cudaFuncCache,
11312    ) -> cudaError_t {
11313        (culib().cudaFuncSetCacheConfig)(func, cacheConfig)
11314    }
11315    pub unsafe fn cudaFuncSetSharedMemConfig(
11316        func: *const ::core::ffi::c_void,
11317        config: cudaSharedMemConfig,
11318    ) -> cudaError_t {
11319        (culib().cudaFuncSetSharedMemConfig)(func, config)
11320    }
11321    pub unsafe fn cudaGetChannelDesc(
11322        desc: *mut cudaChannelFormatDesc,
11323        array: cudaArray_const_t,
11324    ) -> cudaError_t {
11325        (culib().cudaGetChannelDesc)(desc, array)
11326    }
11327    pub unsafe fn cudaGetDevice(device: *mut ::core::ffi::c_int) -> cudaError_t {
11328        (culib().cudaGetDevice)(device)
11329    }
11330    pub unsafe fn cudaGetDeviceCount(count: *mut ::core::ffi::c_int) -> cudaError_t {
11331        (culib().cudaGetDeviceCount)(count)
11332    }
11333    pub unsafe fn cudaGetDeviceFlags(flags: *mut ::core::ffi::c_uint) -> cudaError_t {
11334        (culib().cudaGetDeviceFlags)(flags)
11335    }
11336    #[cfg(any(
11337        feature = "cuda-11040",
11338        feature = "cuda-11050",
11339        feature = "cuda-11060",
11340        feature = "cuda-11070",
11341        feature = "cuda-11080",
11342        feature = "cuda-13000"
11343    ))]
11344    pub unsafe fn cudaGetDeviceProperties(
11345        prop: *mut cudaDeviceProp,
11346        device: ::core::ffi::c_int,
11347    ) -> cudaError_t {
11348        (culib().cudaGetDeviceProperties)(prop, device)
11349    }
11350    #[cfg(any(
11351        feature = "cuda-12000",
11352        feature = "cuda-12010",
11353        feature = "cuda-12020",
11354        feature = "cuda-12030",
11355        feature = "cuda-12040",
11356        feature = "cuda-12050",
11357        feature = "cuda-12060",
11358        feature = "cuda-12080",
11359        feature = "cuda-12090"
11360    ))]
11361    pub unsafe fn cudaGetDeviceProperties_v2(
11362        prop: *mut cudaDeviceProp,
11363        device: ::core::ffi::c_int,
11364    ) -> cudaError_t {
11365        (culib().cudaGetDeviceProperties_v2)(prop, device)
11366    }
11367    #[cfg(any(
11368        feature = "cuda-11040",
11369        feature = "cuda-11050",
11370        feature = "cuda-11060",
11371        feature = "cuda-11070",
11372        feature = "cuda-11080"
11373    ))]
11374    pub unsafe fn cudaGetDriverEntryPoint(
11375        symbol: *const ::core::ffi::c_char,
11376        funcPtr: *mut *mut ::core::ffi::c_void,
11377        flags: ::core::ffi::c_ulonglong,
11378    ) -> cudaError_t {
11379        (culib().cudaGetDriverEntryPoint)(symbol, funcPtr, flags)
11380    }
11381    #[cfg(any(
11382        feature = "cuda-12000",
11383        feature = "cuda-12010",
11384        feature = "cuda-12020",
11385        feature = "cuda-12030",
11386        feature = "cuda-12040",
11387        feature = "cuda-12050",
11388        feature = "cuda-12060",
11389        feature = "cuda-12080",
11390        feature = "cuda-12090",
11391        feature = "cuda-13000"
11392    ))]
11393    pub unsafe fn cudaGetDriverEntryPoint(
11394        symbol: *const ::core::ffi::c_char,
11395        funcPtr: *mut *mut ::core::ffi::c_void,
11396        flags: ::core::ffi::c_ulonglong,
11397        driverStatus: *mut cudaDriverEntryPointQueryResult,
11398    ) -> cudaError_t {
11399        (culib().cudaGetDriverEntryPoint)(symbol, funcPtr, flags, driverStatus)
11400    }
11401    #[cfg(any(
11402        feature = "cuda-12050",
11403        feature = "cuda-12060",
11404        feature = "cuda-12080",
11405        feature = "cuda-12090",
11406        feature = "cuda-13000"
11407    ))]
11408    pub unsafe fn cudaGetDriverEntryPointByVersion(
11409        symbol: *const ::core::ffi::c_char,
11410        funcPtr: *mut *mut ::core::ffi::c_void,
11411        cudaVersion: ::core::ffi::c_uint,
11412        flags: ::core::ffi::c_ulonglong,
11413        driverStatus: *mut cudaDriverEntryPointQueryResult,
11414    ) -> cudaError_t {
11415        (culib().cudaGetDriverEntryPointByVersion)(
11416            symbol,
11417            funcPtr,
11418            cudaVersion,
11419            flags,
11420            driverStatus,
11421        )
11422    }
11423    pub unsafe fn cudaGetErrorName(error: cudaError_t) -> *const ::core::ffi::c_char {
11424        (culib().cudaGetErrorName)(error)
11425    }
11426    pub unsafe fn cudaGetErrorString(error: cudaError_t) -> *const ::core::ffi::c_char {
11427        (culib().cudaGetErrorString)(error)
11428    }
11429    pub unsafe fn cudaGetExportTable(
11430        ppExportTable: *mut *const ::core::ffi::c_void,
11431        pExportTableId: *const cudaUUID_t,
11432    ) -> cudaError_t {
11433        (culib().cudaGetExportTable)(ppExportTable, pExportTableId)
11434    }
11435    pub unsafe fn cudaGetFuncBySymbol(
11436        functionPtr: *mut cudaFunction_t,
11437        symbolPtr: *const ::core::ffi::c_void,
11438    ) -> cudaError_t {
11439        (culib().cudaGetFuncBySymbol)(functionPtr, symbolPtr)
11440    }
11441    #[cfg(any(
11442        feature = "cuda-12010",
11443        feature = "cuda-12020",
11444        feature = "cuda-12030",
11445        feature = "cuda-12040",
11446        feature = "cuda-12050",
11447        feature = "cuda-12060",
11448        feature = "cuda-12080",
11449        feature = "cuda-12090",
11450        feature = "cuda-13000"
11451    ))]
11452    pub unsafe fn cudaGetKernel(
11453        kernelPtr: *mut cudaKernel_t,
11454        entryFuncAddr: *const ::core::ffi::c_void,
11455    ) -> cudaError_t {
11456        (culib().cudaGetKernel)(kernelPtr, entryFuncAddr)
11457    }
11458    pub unsafe fn cudaGetLastError() -> cudaError_t {
11459        (culib().cudaGetLastError)()
11460    }
11461    pub unsafe fn cudaGetMipmappedArrayLevel(
11462        levelArray: *mut cudaArray_t,
11463        mipmappedArray: cudaMipmappedArray_const_t,
11464        level: ::core::ffi::c_uint,
11465    ) -> cudaError_t {
11466        (culib().cudaGetMipmappedArrayLevel)(levelArray, mipmappedArray, level)
11467    }
11468    pub unsafe fn cudaGetSurfaceObjectResourceDesc(
11469        pResDesc: *mut cudaResourceDesc,
11470        surfObject: cudaSurfaceObject_t,
11471    ) -> cudaError_t {
11472        (culib().cudaGetSurfaceObjectResourceDesc)(pResDesc, surfObject)
11473    }
11474    #[cfg(any(
11475        feature = "cuda-11040",
11476        feature = "cuda-11050",
11477        feature = "cuda-11060",
11478        feature = "cuda-11070",
11479        feature = "cuda-11080"
11480    ))]
11481    pub unsafe fn cudaGetSurfaceReference(
11482        surfref: *mut *const surfaceReference,
11483        symbol: *const ::core::ffi::c_void,
11484    ) -> cudaError_t {
11485        (culib().cudaGetSurfaceReference)(surfref, symbol)
11486    }
11487    pub unsafe fn cudaGetSymbolAddress(
11488        devPtr: *mut *mut ::core::ffi::c_void,
11489        symbol: *const ::core::ffi::c_void,
11490    ) -> cudaError_t {
11491        (culib().cudaGetSymbolAddress)(devPtr, symbol)
11492    }
11493    pub unsafe fn cudaGetSymbolSize(
11494        size: *mut usize,
11495        symbol: *const ::core::ffi::c_void,
11496    ) -> cudaError_t {
11497        (culib().cudaGetSymbolSize)(size, symbol)
11498    }
11499    #[cfg(any(
11500        feature = "cuda-11040",
11501        feature = "cuda-11050",
11502        feature = "cuda-11060",
11503        feature = "cuda-11070",
11504        feature = "cuda-11080"
11505    ))]
11506    pub unsafe fn cudaGetTextureAlignmentOffset(
11507        offset: *mut usize,
11508        texref: *const textureReference,
11509    ) -> cudaError_t {
11510        (culib().cudaGetTextureAlignmentOffset)(offset, texref)
11511    }
11512    pub unsafe fn cudaGetTextureObjectResourceDesc(
11513        pResDesc: *mut cudaResourceDesc,
11514        texObject: cudaTextureObject_t,
11515    ) -> cudaError_t {
11516        (culib().cudaGetTextureObjectResourceDesc)(pResDesc, texObject)
11517    }
11518    pub unsafe fn cudaGetTextureObjectResourceViewDesc(
11519        pResViewDesc: *mut cudaResourceViewDesc,
11520        texObject: cudaTextureObject_t,
11521    ) -> cudaError_t {
11522        (culib().cudaGetTextureObjectResourceViewDesc)(pResViewDesc, texObject)
11523    }
11524    pub unsafe fn cudaGetTextureObjectTextureDesc(
11525        pTexDesc: *mut cudaTextureDesc,
11526        texObject: cudaTextureObject_t,
11527    ) -> cudaError_t {
11528        (culib().cudaGetTextureObjectTextureDesc)(pTexDesc, texObject)
11529    }
11530    #[cfg(any(feature = "cuda-11080"))]
11531    pub unsafe fn cudaGetTextureObjectTextureDesc_v2(
11532        pTexDesc: *mut cudaTextureDesc_v2,
11533        texObject: cudaTextureObject_t,
11534    ) -> cudaError_t {
11535        (culib().cudaGetTextureObjectTextureDesc_v2)(pTexDesc, texObject)
11536    }
11537    #[cfg(any(
11538        feature = "cuda-11040",
11539        feature = "cuda-11050",
11540        feature = "cuda-11060",
11541        feature = "cuda-11070",
11542        feature = "cuda-11080"
11543    ))]
11544    pub unsafe fn cudaGetTextureReference(
11545        texref: *mut *const textureReference,
11546        symbol: *const ::core::ffi::c_void,
11547    ) -> cudaError_t {
11548        (culib().cudaGetTextureReference)(texref, symbol)
11549    }
11550    pub unsafe fn cudaGraphAddChildGraphNode(
11551        pGraphNode: *mut cudaGraphNode_t,
11552        graph: cudaGraph_t,
11553        pDependencies: *const cudaGraphNode_t,
11554        numDependencies: usize,
11555        childGraph: cudaGraph_t,
11556    ) -> cudaError_t {
11557        (culib().cudaGraphAddChildGraphNode)(
11558            pGraphNode,
11559            graph,
11560            pDependencies,
11561            numDependencies,
11562            childGraph,
11563        )
11564    }
11565    #[cfg(any(
11566        feature = "cuda-11040",
11567        feature = "cuda-11050",
11568        feature = "cuda-11060",
11569        feature = "cuda-11070",
11570        feature = "cuda-11080",
11571        feature = "cuda-12000",
11572        feature = "cuda-12010",
11573        feature = "cuda-12020",
11574        feature = "cuda-12030",
11575        feature = "cuda-12040",
11576        feature = "cuda-12050",
11577        feature = "cuda-12060",
11578        feature = "cuda-12080",
11579        feature = "cuda-12090"
11580    ))]
11581    pub unsafe fn cudaGraphAddDependencies(
11582        graph: cudaGraph_t,
11583        from: *const cudaGraphNode_t,
11584        to: *const cudaGraphNode_t,
11585        numDependencies: usize,
11586    ) -> cudaError_t {
11587        (culib().cudaGraphAddDependencies)(graph, from, to, numDependencies)
11588    }
11589    #[cfg(any(feature = "cuda-13000"))]
11590    pub unsafe fn cudaGraphAddDependencies(
11591        graph: cudaGraph_t,
11592        from: *const cudaGraphNode_t,
11593        to: *const cudaGraphNode_t,
11594        edgeData: *const cudaGraphEdgeData,
11595        numDependencies: usize,
11596    ) -> cudaError_t {
11597        (culib().cudaGraphAddDependencies)(graph, from, to, edgeData, numDependencies)
11598    }
11599    #[cfg(any(
11600        feature = "cuda-12030",
11601        feature = "cuda-12040",
11602        feature = "cuda-12050",
11603        feature = "cuda-12060",
11604        feature = "cuda-12080",
11605        feature = "cuda-12090"
11606    ))]
11607    pub unsafe fn cudaGraphAddDependencies_v2(
11608        graph: cudaGraph_t,
11609        from: *const cudaGraphNode_t,
11610        to: *const cudaGraphNode_t,
11611        edgeData: *const cudaGraphEdgeData,
11612        numDependencies: usize,
11613    ) -> cudaError_t {
11614        (culib().cudaGraphAddDependencies_v2)(graph, from, to, edgeData, numDependencies)
11615    }
11616    pub unsafe fn cudaGraphAddEmptyNode(
11617        pGraphNode: *mut cudaGraphNode_t,
11618        graph: cudaGraph_t,
11619        pDependencies: *const cudaGraphNode_t,
11620        numDependencies: usize,
11621    ) -> cudaError_t {
11622        (culib().cudaGraphAddEmptyNode)(pGraphNode, graph, pDependencies, numDependencies)
11623    }
11624    pub unsafe fn cudaGraphAddEventRecordNode(
11625        pGraphNode: *mut cudaGraphNode_t,
11626        graph: cudaGraph_t,
11627        pDependencies: *const cudaGraphNode_t,
11628        numDependencies: usize,
11629        event: cudaEvent_t,
11630    ) -> cudaError_t {
11631        (culib().cudaGraphAddEventRecordNode)(
11632            pGraphNode,
11633            graph,
11634            pDependencies,
11635            numDependencies,
11636            event,
11637        )
11638    }
11639    pub unsafe fn cudaGraphAddEventWaitNode(
11640        pGraphNode: *mut cudaGraphNode_t,
11641        graph: cudaGraph_t,
11642        pDependencies: *const cudaGraphNode_t,
11643        numDependencies: usize,
11644        event: cudaEvent_t,
11645    ) -> cudaError_t {
11646        (culib().cudaGraphAddEventWaitNode)(
11647            pGraphNode,
11648            graph,
11649            pDependencies,
11650            numDependencies,
11651            event,
11652        )
11653    }
11654    pub unsafe fn cudaGraphAddExternalSemaphoresSignalNode(
11655        pGraphNode: *mut cudaGraphNode_t,
11656        graph: cudaGraph_t,
11657        pDependencies: *const cudaGraphNode_t,
11658        numDependencies: usize,
11659        nodeParams: *const cudaExternalSemaphoreSignalNodeParams,
11660    ) -> cudaError_t {
11661        (culib().cudaGraphAddExternalSemaphoresSignalNode)(
11662            pGraphNode,
11663            graph,
11664            pDependencies,
11665            numDependencies,
11666            nodeParams,
11667        )
11668    }
11669    pub unsafe fn cudaGraphAddExternalSemaphoresWaitNode(
11670        pGraphNode: *mut cudaGraphNode_t,
11671        graph: cudaGraph_t,
11672        pDependencies: *const cudaGraphNode_t,
11673        numDependencies: usize,
11674        nodeParams: *const cudaExternalSemaphoreWaitNodeParams,
11675    ) -> cudaError_t {
11676        (culib().cudaGraphAddExternalSemaphoresWaitNode)(
11677            pGraphNode,
11678            graph,
11679            pDependencies,
11680            numDependencies,
11681            nodeParams,
11682        )
11683    }
11684    pub unsafe fn cudaGraphAddHostNode(
11685        pGraphNode: *mut cudaGraphNode_t,
11686        graph: cudaGraph_t,
11687        pDependencies: *const cudaGraphNode_t,
11688        numDependencies: usize,
11689        pNodeParams: *const cudaHostNodeParams,
11690    ) -> cudaError_t {
11691        (culib().cudaGraphAddHostNode)(
11692            pGraphNode,
11693            graph,
11694            pDependencies,
11695            numDependencies,
11696            pNodeParams,
11697        )
11698    }
11699    pub unsafe fn cudaGraphAddKernelNode(
11700        pGraphNode: *mut cudaGraphNode_t,
11701        graph: cudaGraph_t,
11702        pDependencies: *const cudaGraphNode_t,
11703        numDependencies: usize,
11704        pNodeParams: *const cudaKernelNodeParams,
11705    ) -> cudaError_t {
11706        (culib().cudaGraphAddKernelNode)(
11707            pGraphNode,
11708            graph,
11709            pDependencies,
11710            numDependencies,
11711            pNodeParams,
11712        )
11713    }
11714    pub unsafe fn cudaGraphAddMemAllocNode(
11715        pGraphNode: *mut cudaGraphNode_t,
11716        graph: cudaGraph_t,
11717        pDependencies: *const cudaGraphNode_t,
11718        numDependencies: usize,
11719        nodeParams: *mut cudaMemAllocNodeParams,
11720    ) -> cudaError_t {
11721        (culib().cudaGraphAddMemAllocNode)(
11722            pGraphNode,
11723            graph,
11724            pDependencies,
11725            numDependencies,
11726            nodeParams,
11727        )
11728    }
11729    pub unsafe fn cudaGraphAddMemFreeNode(
11730        pGraphNode: *mut cudaGraphNode_t,
11731        graph: cudaGraph_t,
11732        pDependencies: *const cudaGraphNode_t,
11733        numDependencies: usize,
11734        dptr: *mut ::core::ffi::c_void,
11735    ) -> cudaError_t {
11736        (culib().cudaGraphAddMemFreeNode)(pGraphNode, graph, pDependencies, numDependencies, dptr)
11737    }
11738    pub unsafe fn cudaGraphAddMemcpyNode(
11739        pGraphNode: *mut cudaGraphNode_t,
11740        graph: cudaGraph_t,
11741        pDependencies: *const cudaGraphNode_t,
11742        numDependencies: usize,
11743        pCopyParams: *const cudaMemcpy3DParms,
11744    ) -> cudaError_t {
11745        (culib().cudaGraphAddMemcpyNode)(
11746            pGraphNode,
11747            graph,
11748            pDependencies,
11749            numDependencies,
11750            pCopyParams,
11751        )
11752    }
11753    pub unsafe fn cudaGraphAddMemcpyNode1D(
11754        pGraphNode: *mut cudaGraphNode_t,
11755        graph: cudaGraph_t,
11756        pDependencies: *const cudaGraphNode_t,
11757        numDependencies: usize,
11758        dst: *mut ::core::ffi::c_void,
11759        src: *const ::core::ffi::c_void,
11760        count: usize,
11761        kind: cudaMemcpyKind,
11762    ) -> cudaError_t {
11763        (culib().cudaGraphAddMemcpyNode1D)(
11764            pGraphNode,
11765            graph,
11766            pDependencies,
11767            numDependencies,
11768            dst,
11769            src,
11770            count,
11771            kind,
11772        )
11773    }
11774    pub unsafe fn cudaGraphAddMemcpyNodeFromSymbol(
11775        pGraphNode: *mut cudaGraphNode_t,
11776        graph: cudaGraph_t,
11777        pDependencies: *const cudaGraphNode_t,
11778        numDependencies: usize,
11779        dst: *mut ::core::ffi::c_void,
11780        symbol: *const ::core::ffi::c_void,
11781        count: usize,
11782        offset: usize,
11783        kind: cudaMemcpyKind,
11784    ) -> cudaError_t {
11785        (culib().cudaGraphAddMemcpyNodeFromSymbol)(
11786            pGraphNode,
11787            graph,
11788            pDependencies,
11789            numDependencies,
11790            dst,
11791            symbol,
11792            count,
11793            offset,
11794            kind,
11795        )
11796    }
11797    pub unsafe fn cudaGraphAddMemcpyNodeToSymbol(
11798        pGraphNode: *mut cudaGraphNode_t,
11799        graph: cudaGraph_t,
11800        pDependencies: *const cudaGraphNode_t,
11801        numDependencies: usize,
11802        symbol: *const ::core::ffi::c_void,
11803        src: *const ::core::ffi::c_void,
11804        count: usize,
11805        offset: usize,
11806        kind: cudaMemcpyKind,
11807    ) -> cudaError_t {
11808        (culib().cudaGraphAddMemcpyNodeToSymbol)(
11809            pGraphNode,
11810            graph,
11811            pDependencies,
11812            numDependencies,
11813            symbol,
11814            src,
11815            count,
11816            offset,
11817            kind,
11818        )
11819    }
11820    pub unsafe fn cudaGraphAddMemsetNode(
11821        pGraphNode: *mut cudaGraphNode_t,
11822        graph: cudaGraph_t,
11823        pDependencies: *const cudaGraphNode_t,
11824        numDependencies: usize,
11825        pMemsetParams: *const cudaMemsetParams,
11826    ) -> cudaError_t {
11827        (culib().cudaGraphAddMemsetNode)(
11828            pGraphNode,
11829            graph,
11830            pDependencies,
11831            numDependencies,
11832            pMemsetParams,
11833        )
11834    }
11835    #[cfg(any(
11836        feature = "cuda-12020",
11837        feature = "cuda-12030",
11838        feature = "cuda-12040",
11839        feature = "cuda-12050",
11840        feature = "cuda-12060",
11841        feature = "cuda-12080",
11842        feature = "cuda-12090"
11843    ))]
11844    pub unsafe fn cudaGraphAddNode(
11845        pGraphNode: *mut cudaGraphNode_t,
11846        graph: cudaGraph_t,
11847        pDependencies: *const cudaGraphNode_t,
11848        numDependencies: usize,
11849        nodeParams: *mut cudaGraphNodeParams,
11850    ) -> cudaError_t {
11851        (culib().cudaGraphAddNode)(
11852            pGraphNode,
11853            graph,
11854            pDependencies,
11855            numDependencies,
11856            nodeParams,
11857        )
11858    }
11859    #[cfg(any(feature = "cuda-13000"))]
11860    pub unsafe fn cudaGraphAddNode(
11861        pGraphNode: *mut cudaGraphNode_t,
11862        graph: cudaGraph_t,
11863        pDependencies: *const cudaGraphNode_t,
11864        dependencyData: *const cudaGraphEdgeData,
11865        numDependencies: usize,
11866        nodeParams: *mut cudaGraphNodeParams,
11867    ) -> cudaError_t {
11868        (culib().cudaGraphAddNode)(
11869            pGraphNode,
11870            graph,
11871            pDependencies,
11872            dependencyData,
11873            numDependencies,
11874            nodeParams,
11875        )
11876    }
11877    #[cfg(any(
11878        feature = "cuda-12030",
11879        feature = "cuda-12040",
11880        feature = "cuda-12050",
11881        feature = "cuda-12060",
11882        feature = "cuda-12080",
11883        feature = "cuda-12090"
11884    ))]
11885    pub unsafe fn cudaGraphAddNode_v2(
11886        pGraphNode: *mut cudaGraphNode_t,
11887        graph: cudaGraph_t,
11888        pDependencies: *const cudaGraphNode_t,
11889        dependencyData: *const cudaGraphEdgeData,
11890        numDependencies: usize,
11891        nodeParams: *mut cudaGraphNodeParams,
11892    ) -> cudaError_t {
11893        (culib().cudaGraphAddNode_v2)(
11894            pGraphNode,
11895            graph,
11896            pDependencies,
11897            dependencyData,
11898            numDependencies,
11899            nodeParams,
11900        )
11901    }
11902    pub unsafe fn cudaGraphChildGraphNodeGetGraph(
11903        node: cudaGraphNode_t,
11904        pGraph: *mut cudaGraph_t,
11905    ) -> cudaError_t {
11906        (culib().cudaGraphChildGraphNodeGetGraph)(node, pGraph)
11907    }
11908    pub unsafe fn cudaGraphClone(
11909        pGraphClone: *mut cudaGraph_t,
11910        originalGraph: cudaGraph_t,
11911    ) -> cudaError_t {
11912        (culib().cudaGraphClone)(pGraphClone, originalGraph)
11913    }
11914    #[cfg(any(
11915        feature = "cuda-12030",
11916        feature = "cuda-12040",
11917        feature = "cuda-12050",
11918        feature = "cuda-12060",
11919        feature = "cuda-12080",
11920        feature = "cuda-12090",
11921        feature = "cuda-13000"
11922    ))]
11923    pub unsafe fn cudaGraphConditionalHandleCreate(
11924        pHandle_out: *mut cudaGraphConditionalHandle,
11925        graph: cudaGraph_t,
11926        defaultLaunchValue: ::core::ffi::c_uint,
11927        flags: ::core::ffi::c_uint,
11928    ) -> cudaError_t {
11929        (culib().cudaGraphConditionalHandleCreate)(pHandle_out, graph, defaultLaunchValue, flags)
11930    }
11931    pub unsafe fn cudaGraphCreate(
11932        pGraph: *mut cudaGraph_t,
11933        flags: ::core::ffi::c_uint,
11934    ) -> cudaError_t {
11935        (culib().cudaGraphCreate)(pGraph, flags)
11936    }
11937    pub unsafe fn cudaGraphDebugDotPrint(
11938        graph: cudaGraph_t,
11939        path: *const ::core::ffi::c_char,
11940        flags: ::core::ffi::c_uint,
11941    ) -> cudaError_t {
11942        (culib().cudaGraphDebugDotPrint)(graph, path, flags)
11943    }
11944    pub unsafe fn cudaGraphDestroy(graph: cudaGraph_t) -> cudaError_t {
11945        (culib().cudaGraphDestroy)(graph)
11946    }
11947    pub unsafe fn cudaGraphDestroyNode(node: cudaGraphNode_t) -> cudaError_t {
11948        (culib().cudaGraphDestroyNode)(node)
11949    }
11950    pub unsafe fn cudaGraphEventRecordNodeGetEvent(
11951        node: cudaGraphNode_t,
11952        event_out: *mut cudaEvent_t,
11953    ) -> cudaError_t {
11954        (culib().cudaGraphEventRecordNodeGetEvent)(node, event_out)
11955    }
11956    pub unsafe fn cudaGraphEventRecordNodeSetEvent(
11957        node: cudaGraphNode_t,
11958        event: cudaEvent_t,
11959    ) -> cudaError_t {
11960        (culib().cudaGraphEventRecordNodeSetEvent)(node, event)
11961    }
11962    pub unsafe fn cudaGraphEventWaitNodeGetEvent(
11963        node: cudaGraphNode_t,
11964        event_out: *mut cudaEvent_t,
11965    ) -> cudaError_t {
11966        (culib().cudaGraphEventWaitNodeGetEvent)(node, event_out)
11967    }
11968    pub unsafe fn cudaGraphEventWaitNodeSetEvent(
11969        node: cudaGraphNode_t,
11970        event: cudaEvent_t,
11971    ) -> cudaError_t {
11972        (culib().cudaGraphEventWaitNodeSetEvent)(node, event)
11973    }
11974    pub unsafe fn cudaGraphExecChildGraphNodeSetParams(
11975        hGraphExec: cudaGraphExec_t,
11976        node: cudaGraphNode_t,
11977        childGraph: cudaGraph_t,
11978    ) -> cudaError_t {
11979        (culib().cudaGraphExecChildGraphNodeSetParams)(hGraphExec, node, childGraph)
11980    }
11981    pub unsafe fn cudaGraphExecDestroy(graphExec: cudaGraphExec_t) -> cudaError_t {
11982        (culib().cudaGraphExecDestroy)(graphExec)
11983    }
11984    pub unsafe fn cudaGraphExecEventRecordNodeSetEvent(
11985        hGraphExec: cudaGraphExec_t,
11986        hNode: cudaGraphNode_t,
11987        event: cudaEvent_t,
11988    ) -> cudaError_t {
11989        (culib().cudaGraphExecEventRecordNodeSetEvent)(hGraphExec, hNode, event)
11990    }
11991    pub unsafe fn cudaGraphExecEventWaitNodeSetEvent(
11992        hGraphExec: cudaGraphExec_t,
11993        hNode: cudaGraphNode_t,
11994        event: cudaEvent_t,
11995    ) -> cudaError_t {
11996        (culib().cudaGraphExecEventWaitNodeSetEvent)(hGraphExec, hNode, event)
11997    }
11998    pub unsafe fn cudaGraphExecExternalSemaphoresSignalNodeSetParams(
11999        hGraphExec: cudaGraphExec_t,
12000        hNode: cudaGraphNode_t,
12001        nodeParams: *const cudaExternalSemaphoreSignalNodeParams,
12002    ) -> cudaError_t {
12003        (culib().cudaGraphExecExternalSemaphoresSignalNodeSetParams)(hGraphExec, hNode, nodeParams)
12004    }
12005    pub unsafe fn cudaGraphExecExternalSemaphoresWaitNodeSetParams(
12006        hGraphExec: cudaGraphExec_t,
12007        hNode: cudaGraphNode_t,
12008        nodeParams: *const cudaExternalSemaphoreWaitNodeParams,
12009    ) -> cudaError_t {
12010        (culib().cudaGraphExecExternalSemaphoresWaitNodeSetParams)(hGraphExec, hNode, nodeParams)
12011    }
12012    #[cfg(any(
12013        feature = "cuda-12000",
12014        feature = "cuda-12010",
12015        feature = "cuda-12020",
12016        feature = "cuda-12030",
12017        feature = "cuda-12040",
12018        feature = "cuda-12050",
12019        feature = "cuda-12060",
12020        feature = "cuda-12080",
12021        feature = "cuda-12090",
12022        feature = "cuda-13000"
12023    ))]
12024    pub unsafe fn cudaGraphExecGetFlags(
12025        graphExec: cudaGraphExec_t,
12026        flags: *mut ::core::ffi::c_ulonglong,
12027    ) -> cudaError_t {
12028        (culib().cudaGraphExecGetFlags)(graphExec, flags)
12029    }
12030    pub unsafe fn cudaGraphExecHostNodeSetParams(
12031        hGraphExec: cudaGraphExec_t,
12032        node: cudaGraphNode_t,
12033        pNodeParams: *const cudaHostNodeParams,
12034    ) -> cudaError_t {
12035        (culib().cudaGraphExecHostNodeSetParams)(hGraphExec, node, pNodeParams)
12036    }
12037    pub unsafe fn cudaGraphExecKernelNodeSetParams(
12038        hGraphExec: cudaGraphExec_t,
12039        node: cudaGraphNode_t,
12040        pNodeParams: *const cudaKernelNodeParams,
12041    ) -> cudaError_t {
12042        (culib().cudaGraphExecKernelNodeSetParams)(hGraphExec, node, pNodeParams)
12043    }
12044    pub unsafe fn cudaGraphExecMemcpyNodeSetParams(
12045        hGraphExec: cudaGraphExec_t,
12046        node: cudaGraphNode_t,
12047        pNodeParams: *const cudaMemcpy3DParms,
12048    ) -> cudaError_t {
12049        (culib().cudaGraphExecMemcpyNodeSetParams)(hGraphExec, node, pNodeParams)
12050    }
12051    pub unsafe fn cudaGraphExecMemcpyNodeSetParams1D(
12052        hGraphExec: cudaGraphExec_t,
12053        node: cudaGraphNode_t,
12054        dst: *mut ::core::ffi::c_void,
12055        src: *const ::core::ffi::c_void,
12056        count: usize,
12057        kind: cudaMemcpyKind,
12058    ) -> cudaError_t {
12059        (culib().cudaGraphExecMemcpyNodeSetParams1D)(hGraphExec, node, dst, src, count, kind)
12060    }
12061    pub unsafe fn cudaGraphExecMemcpyNodeSetParamsFromSymbol(
12062        hGraphExec: cudaGraphExec_t,
12063        node: cudaGraphNode_t,
12064        dst: *mut ::core::ffi::c_void,
12065        symbol: *const ::core::ffi::c_void,
12066        count: usize,
12067        offset: usize,
12068        kind: cudaMemcpyKind,
12069    ) -> cudaError_t {
12070        (culib().cudaGraphExecMemcpyNodeSetParamsFromSymbol)(
12071            hGraphExec, node, dst, symbol, count, offset, kind,
12072        )
12073    }
12074    pub unsafe fn cudaGraphExecMemcpyNodeSetParamsToSymbol(
12075        hGraphExec: cudaGraphExec_t,
12076        node: cudaGraphNode_t,
12077        symbol: *const ::core::ffi::c_void,
12078        src: *const ::core::ffi::c_void,
12079        count: usize,
12080        offset: usize,
12081        kind: cudaMemcpyKind,
12082    ) -> cudaError_t {
12083        (culib().cudaGraphExecMemcpyNodeSetParamsToSymbol)(
12084            hGraphExec, node, symbol, src, count, offset, kind,
12085        )
12086    }
12087    pub unsafe fn cudaGraphExecMemsetNodeSetParams(
12088        hGraphExec: cudaGraphExec_t,
12089        node: cudaGraphNode_t,
12090        pNodeParams: *const cudaMemsetParams,
12091    ) -> cudaError_t {
12092        (culib().cudaGraphExecMemsetNodeSetParams)(hGraphExec, node, pNodeParams)
12093    }
12094    #[cfg(any(
12095        feature = "cuda-12020",
12096        feature = "cuda-12030",
12097        feature = "cuda-12040",
12098        feature = "cuda-12050",
12099        feature = "cuda-12060",
12100        feature = "cuda-12080",
12101        feature = "cuda-12090",
12102        feature = "cuda-13000"
12103    ))]
12104    pub unsafe fn cudaGraphExecNodeSetParams(
12105        graphExec: cudaGraphExec_t,
12106        node: cudaGraphNode_t,
12107        nodeParams: *mut cudaGraphNodeParams,
12108    ) -> cudaError_t {
12109        (culib().cudaGraphExecNodeSetParams)(graphExec, node, nodeParams)
12110    }
12111    #[cfg(any(
12112        feature = "cuda-11040",
12113        feature = "cuda-11050",
12114        feature = "cuda-11060",
12115        feature = "cuda-11070",
12116        feature = "cuda-11080"
12117    ))]
12118    pub unsafe fn cudaGraphExecUpdate(
12119        hGraphExec: cudaGraphExec_t,
12120        hGraph: cudaGraph_t,
12121        hErrorNode_out: *mut cudaGraphNode_t,
12122        updateResult_out: *mut cudaGraphExecUpdateResult,
12123    ) -> cudaError_t {
12124        (culib().cudaGraphExecUpdate)(hGraphExec, hGraph, hErrorNode_out, updateResult_out)
12125    }
12126    #[cfg(any(
12127        feature = "cuda-12000",
12128        feature = "cuda-12010",
12129        feature = "cuda-12020",
12130        feature = "cuda-12030",
12131        feature = "cuda-12040",
12132        feature = "cuda-12050",
12133        feature = "cuda-12060",
12134        feature = "cuda-12080",
12135        feature = "cuda-12090",
12136        feature = "cuda-13000"
12137    ))]
12138    pub unsafe fn cudaGraphExecUpdate(
12139        hGraphExec: cudaGraphExec_t,
12140        hGraph: cudaGraph_t,
12141        resultInfo: *mut cudaGraphExecUpdateResultInfo,
12142    ) -> cudaError_t {
12143        (culib().cudaGraphExecUpdate)(hGraphExec, hGraph, resultInfo)
12144    }
12145    pub unsafe fn cudaGraphExternalSemaphoresSignalNodeGetParams(
12146        hNode: cudaGraphNode_t,
12147        params_out: *mut cudaExternalSemaphoreSignalNodeParams,
12148    ) -> cudaError_t {
12149        (culib().cudaGraphExternalSemaphoresSignalNodeGetParams)(hNode, params_out)
12150    }
12151    pub unsafe fn cudaGraphExternalSemaphoresSignalNodeSetParams(
12152        hNode: cudaGraphNode_t,
12153        nodeParams: *const cudaExternalSemaphoreSignalNodeParams,
12154    ) -> cudaError_t {
12155        (culib().cudaGraphExternalSemaphoresSignalNodeSetParams)(hNode, nodeParams)
12156    }
12157    pub unsafe fn cudaGraphExternalSemaphoresWaitNodeGetParams(
12158        hNode: cudaGraphNode_t,
12159        params_out: *mut cudaExternalSemaphoreWaitNodeParams,
12160    ) -> cudaError_t {
12161        (culib().cudaGraphExternalSemaphoresWaitNodeGetParams)(hNode, params_out)
12162    }
12163    pub unsafe fn cudaGraphExternalSemaphoresWaitNodeSetParams(
12164        hNode: cudaGraphNode_t,
12165        nodeParams: *const cudaExternalSemaphoreWaitNodeParams,
12166    ) -> cudaError_t {
12167        (culib().cudaGraphExternalSemaphoresWaitNodeSetParams)(hNode, nodeParams)
12168    }
12169    #[cfg(any(
12170        feature = "cuda-11040",
12171        feature = "cuda-11050",
12172        feature = "cuda-11060",
12173        feature = "cuda-11070",
12174        feature = "cuda-11080",
12175        feature = "cuda-12000",
12176        feature = "cuda-12010",
12177        feature = "cuda-12020",
12178        feature = "cuda-12030",
12179        feature = "cuda-12040",
12180        feature = "cuda-12050",
12181        feature = "cuda-12060",
12182        feature = "cuda-12080",
12183        feature = "cuda-12090"
12184    ))]
12185    pub unsafe fn cudaGraphGetEdges(
12186        graph: cudaGraph_t,
12187        from: *mut cudaGraphNode_t,
12188        to: *mut cudaGraphNode_t,
12189        numEdges: *mut usize,
12190    ) -> cudaError_t {
12191        (culib().cudaGraphGetEdges)(graph, from, to, numEdges)
12192    }
12193    #[cfg(any(feature = "cuda-13000"))]
12194    pub unsafe fn cudaGraphGetEdges(
12195        graph: cudaGraph_t,
12196        from: *mut cudaGraphNode_t,
12197        to: *mut cudaGraphNode_t,
12198        edgeData: *mut cudaGraphEdgeData,
12199        numEdges: *mut usize,
12200    ) -> cudaError_t {
12201        (culib().cudaGraphGetEdges)(graph, from, to, edgeData, numEdges)
12202    }
12203    #[cfg(any(
12204        feature = "cuda-12030",
12205        feature = "cuda-12040",
12206        feature = "cuda-12050",
12207        feature = "cuda-12060",
12208        feature = "cuda-12080",
12209        feature = "cuda-12090"
12210    ))]
12211    pub unsafe fn cudaGraphGetEdges_v2(
12212        graph: cudaGraph_t,
12213        from: *mut cudaGraphNode_t,
12214        to: *mut cudaGraphNode_t,
12215        edgeData: *mut cudaGraphEdgeData,
12216        numEdges: *mut usize,
12217    ) -> cudaError_t {
12218        (culib().cudaGraphGetEdges_v2)(graph, from, to, edgeData, numEdges)
12219    }
12220    pub unsafe fn cudaGraphGetNodes(
12221        graph: cudaGraph_t,
12222        nodes: *mut cudaGraphNode_t,
12223        numNodes: *mut usize,
12224    ) -> cudaError_t {
12225        (culib().cudaGraphGetNodes)(graph, nodes, numNodes)
12226    }
12227    pub unsafe fn cudaGraphGetRootNodes(
12228        graph: cudaGraph_t,
12229        pRootNodes: *mut cudaGraphNode_t,
12230        pNumRootNodes: *mut usize,
12231    ) -> cudaError_t {
12232        (culib().cudaGraphGetRootNodes)(graph, pRootNodes, pNumRootNodes)
12233    }
12234    pub unsafe fn cudaGraphHostNodeGetParams(
12235        node: cudaGraphNode_t,
12236        pNodeParams: *mut cudaHostNodeParams,
12237    ) -> cudaError_t {
12238        (culib().cudaGraphHostNodeGetParams)(node, pNodeParams)
12239    }
12240    pub unsafe fn cudaGraphHostNodeSetParams(
12241        node: cudaGraphNode_t,
12242        pNodeParams: *const cudaHostNodeParams,
12243    ) -> cudaError_t {
12244        (culib().cudaGraphHostNodeSetParams)(node, pNodeParams)
12245    }
12246    #[cfg(any(
12247        feature = "cuda-11040",
12248        feature = "cuda-11050",
12249        feature = "cuda-11060",
12250        feature = "cuda-11070",
12251        feature = "cuda-11080"
12252    ))]
12253    pub unsafe fn cudaGraphInstantiate(
12254        pGraphExec: *mut cudaGraphExec_t,
12255        graph: cudaGraph_t,
12256        pErrorNode: *mut cudaGraphNode_t,
12257        pLogBuffer: *mut ::core::ffi::c_char,
12258        bufferSize: usize,
12259    ) -> cudaError_t {
12260        (culib().cudaGraphInstantiate)(pGraphExec, graph, pErrorNode, pLogBuffer, bufferSize)
12261    }
12262    #[cfg(any(
12263        feature = "cuda-12000",
12264        feature = "cuda-12010",
12265        feature = "cuda-12020",
12266        feature = "cuda-12030",
12267        feature = "cuda-12040",
12268        feature = "cuda-12050",
12269        feature = "cuda-12060",
12270        feature = "cuda-12080",
12271        feature = "cuda-12090",
12272        feature = "cuda-13000"
12273    ))]
12274    pub unsafe fn cudaGraphInstantiate(
12275        pGraphExec: *mut cudaGraphExec_t,
12276        graph: cudaGraph_t,
12277        flags: ::core::ffi::c_ulonglong,
12278    ) -> cudaError_t {
12279        (culib().cudaGraphInstantiate)(pGraphExec, graph, flags)
12280    }
12281    pub unsafe fn cudaGraphInstantiateWithFlags(
12282        pGraphExec: *mut cudaGraphExec_t,
12283        graph: cudaGraph_t,
12284        flags: ::core::ffi::c_ulonglong,
12285    ) -> cudaError_t {
12286        (culib().cudaGraphInstantiateWithFlags)(pGraphExec, graph, flags)
12287    }
12288    #[cfg(any(
12289        feature = "cuda-12000",
12290        feature = "cuda-12010",
12291        feature = "cuda-12020",
12292        feature = "cuda-12030",
12293        feature = "cuda-12040",
12294        feature = "cuda-12050",
12295        feature = "cuda-12060",
12296        feature = "cuda-12080",
12297        feature = "cuda-12090",
12298        feature = "cuda-13000"
12299    ))]
12300    pub unsafe fn cudaGraphInstantiateWithParams(
12301        pGraphExec: *mut cudaGraphExec_t,
12302        graph: cudaGraph_t,
12303        instantiateParams: *mut cudaGraphInstantiateParams,
12304    ) -> cudaError_t {
12305        (culib().cudaGraphInstantiateWithParams)(pGraphExec, graph, instantiateParams)
12306    }
12307    #[cfg(any(
12308        feature = "cuda-11040",
12309        feature = "cuda-11050",
12310        feature = "cuda-11060",
12311        feature = "cuda-11070",
12312        feature = "cuda-11080",
12313        feature = "cuda-12000",
12314        feature = "cuda-12010",
12315        feature = "cuda-12020",
12316        feature = "cuda-12030",
12317        feature = "cuda-12040",
12318        feature = "cuda-12050",
12319        feature = "cuda-12060",
12320        feature = "cuda-12080",
12321        feature = "cuda-12090"
12322    ))]
12323    pub unsafe fn cudaGraphKernelNodeCopyAttributes(
12324        hSrc: cudaGraphNode_t,
12325        hDst: cudaGraphNode_t,
12326    ) -> cudaError_t {
12327        (culib().cudaGraphKernelNodeCopyAttributes)(hSrc, hDst)
12328    }
12329    #[cfg(any(feature = "cuda-13000"))]
12330    pub unsafe fn cudaGraphKernelNodeCopyAttributes(
12331        hDst: cudaGraphNode_t,
12332        hSrc: cudaGraphNode_t,
12333    ) -> cudaError_t {
12334        (culib().cudaGraphKernelNodeCopyAttributes)(hDst, hSrc)
12335    }
12336    #[cfg(any(
12337        feature = "cuda-11040",
12338        feature = "cuda-11050",
12339        feature = "cuda-11060",
12340        feature = "cuda-11070"
12341    ))]
12342    pub unsafe fn cudaGraphKernelNodeGetAttribute(
12343        hNode: cudaGraphNode_t,
12344        attr: cudaKernelNodeAttrID,
12345        value_out: *mut cudaKernelNodeAttrValue,
12346    ) -> cudaError_t {
12347        (culib().cudaGraphKernelNodeGetAttribute)(hNode, attr, value_out)
12348    }
12349    #[cfg(any(
12350        feature = "cuda-11080",
12351        feature = "cuda-12000",
12352        feature = "cuda-12010",
12353        feature = "cuda-12020",
12354        feature = "cuda-12030",
12355        feature = "cuda-12040",
12356        feature = "cuda-12050",
12357        feature = "cuda-12060",
12358        feature = "cuda-12080",
12359        feature = "cuda-12090",
12360        feature = "cuda-13000"
12361    ))]
12362    pub unsafe fn cudaGraphKernelNodeGetAttribute(
12363        hNode: cudaGraphNode_t,
12364        attr: cudaLaunchAttributeID,
12365        value_out: *mut cudaLaunchAttributeValue,
12366    ) -> cudaError_t {
12367        (culib().cudaGraphKernelNodeGetAttribute)(hNode, attr, value_out)
12368    }
12369    pub unsafe fn cudaGraphKernelNodeGetParams(
12370        node: cudaGraphNode_t,
12371        pNodeParams: *mut cudaKernelNodeParams,
12372    ) -> cudaError_t {
12373        (culib().cudaGraphKernelNodeGetParams)(node, pNodeParams)
12374    }
12375    #[cfg(any(
12376        feature = "cuda-11040",
12377        feature = "cuda-11050",
12378        feature = "cuda-11060",
12379        feature = "cuda-11070"
12380    ))]
12381    pub unsafe fn cudaGraphKernelNodeSetAttribute(
12382        hNode: cudaGraphNode_t,
12383        attr: cudaKernelNodeAttrID,
12384        value: *const cudaKernelNodeAttrValue,
12385    ) -> cudaError_t {
12386        (culib().cudaGraphKernelNodeSetAttribute)(hNode, attr, value)
12387    }
12388    #[cfg(any(
12389        feature = "cuda-11080",
12390        feature = "cuda-12000",
12391        feature = "cuda-12010",
12392        feature = "cuda-12020",
12393        feature = "cuda-12030",
12394        feature = "cuda-12040",
12395        feature = "cuda-12050",
12396        feature = "cuda-12060",
12397        feature = "cuda-12080",
12398        feature = "cuda-12090",
12399        feature = "cuda-13000"
12400    ))]
12401    pub unsafe fn cudaGraphKernelNodeSetAttribute(
12402        hNode: cudaGraphNode_t,
12403        attr: cudaLaunchAttributeID,
12404        value: *const cudaLaunchAttributeValue,
12405    ) -> cudaError_t {
12406        (culib().cudaGraphKernelNodeSetAttribute)(hNode, attr, value)
12407    }
12408    pub unsafe fn cudaGraphKernelNodeSetParams(
12409        node: cudaGraphNode_t,
12410        pNodeParams: *const cudaKernelNodeParams,
12411    ) -> cudaError_t {
12412        (culib().cudaGraphKernelNodeSetParams)(node, pNodeParams)
12413    }
12414    pub unsafe fn cudaGraphLaunch(graphExec: cudaGraphExec_t, stream: cudaStream_t) -> cudaError_t {
12415        (culib().cudaGraphLaunch)(graphExec, stream)
12416    }
12417    pub unsafe fn cudaGraphMemAllocNodeGetParams(
12418        node: cudaGraphNode_t,
12419        params_out: *mut cudaMemAllocNodeParams,
12420    ) -> cudaError_t {
12421        (culib().cudaGraphMemAllocNodeGetParams)(node, params_out)
12422    }
12423    pub unsafe fn cudaGraphMemFreeNodeGetParams(
12424        node: cudaGraphNode_t,
12425        dptr_out: *mut ::core::ffi::c_void,
12426    ) -> cudaError_t {
12427        (culib().cudaGraphMemFreeNodeGetParams)(node, dptr_out)
12428    }
12429    pub unsafe fn cudaGraphMemcpyNodeGetParams(
12430        node: cudaGraphNode_t,
12431        pNodeParams: *mut cudaMemcpy3DParms,
12432    ) -> cudaError_t {
12433        (culib().cudaGraphMemcpyNodeGetParams)(node, pNodeParams)
12434    }
12435    pub unsafe fn cudaGraphMemcpyNodeSetParams(
12436        node: cudaGraphNode_t,
12437        pNodeParams: *const cudaMemcpy3DParms,
12438    ) -> cudaError_t {
12439        (culib().cudaGraphMemcpyNodeSetParams)(node, pNodeParams)
12440    }
12441    pub unsafe fn cudaGraphMemcpyNodeSetParams1D(
12442        node: cudaGraphNode_t,
12443        dst: *mut ::core::ffi::c_void,
12444        src: *const ::core::ffi::c_void,
12445        count: usize,
12446        kind: cudaMemcpyKind,
12447    ) -> cudaError_t {
12448        (culib().cudaGraphMemcpyNodeSetParams1D)(node, dst, src, count, kind)
12449    }
12450    pub unsafe fn cudaGraphMemcpyNodeSetParamsFromSymbol(
12451        node: cudaGraphNode_t,
12452        dst: *mut ::core::ffi::c_void,
12453        symbol: *const ::core::ffi::c_void,
12454        count: usize,
12455        offset: usize,
12456        kind: cudaMemcpyKind,
12457    ) -> cudaError_t {
12458        (culib().cudaGraphMemcpyNodeSetParamsFromSymbol)(node, dst, symbol, count, offset, kind)
12459    }
12460    pub unsafe fn cudaGraphMemcpyNodeSetParamsToSymbol(
12461        node: cudaGraphNode_t,
12462        symbol: *const ::core::ffi::c_void,
12463        src: *const ::core::ffi::c_void,
12464        count: usize,
12465        offset: usize,
12466        kind: cudaMemcpyKind,
12467    ) -> cudaError_t {
12468        (culib().cudaGraphMemcpyNodeSetParamsToSymbol)(node, symbol, src, count, offset, kind)
12469    }
12470    pub unsafe fn cudaGraphMemsetNodeGetParams(
12471        node: cudaGraphNode_t,
12472        pNodeParams: *mut cudaMemsetParams,
12473    ) -> cudaError_t {
12474        (culib().cudaGraphMemsetNodeGetParams)(node, pNodeParams)
12475    }
12476    pub unsafe fn cudaGraphMemsetNodeSetParams(
12477        node: cudaGraphNode_t,
12478        pNodeParams: *const cudaMemsetParams,
12479    ) -> cudaError_t {
12480        (culib().cudaGraphMemsetNodeSetParams)(node, pNodeParams)
12481    }
12482    pub unsafe fn cudaGraphNodeFindInClone(
12483        pNode: *mut cudaGraphNode_t,
12484        originalNode: cudaGraphNode_t,
12485        clonedGraph: cudaGraph_t,
12486    ) -> cudaError_t {
12487        (culib().cudaGraphNodeFindInClone)(pNode, originalNode, clonedGraph)
12488    }
12489    #[cfg(any(
12490        feature = "cuda-11040",
12491        feature = "cuda-11050",
12492        feature = "cuda-11060",
12493        feature = "cuda-11070",
12494        feature = "cuda-11080",
12495        feature = "cuda-12000",
12496        feature = "cuda-12010",
12497        feature = "cuda-12020",
12498        feature = "cuda-12030",
12499        feature = "cuda-12040",
12500        feature = "cuda-12050",
12501        feature = "cuda-12060",
12502        feature = "cuda-12080",
12503        feature = "cuda-12090"
12504    ))]
12505    pub unsafe fn cudaGraphNodeGetDependencies(
12506        node: cudaGraphNode_t,
12507        pDependencies: *mut cudaGraphNode_t,
12508        pNumDependencies: *mut usize,
12509    ) -> cudaError_t {
12510        (culib().cudaGraphNodeGetDependencies)(node, pDependencies, pNumDependencies)
12511    }
12512    #[cfg(any(feature = "cuda-13000"))]
12513    pub unsafe fn cudaGraphNodeGetDependencies(
12514        node: cudaGraphNode_t,
12515        pDependencies: *mut cudaGraphNode_t,
12516        edgeData: *mut cudaGraphEdgeData,
12517        pNumDependencies: *mut usize,
12518    ) -> cudaError_t {
12519        (culib().cudaGraphNodeGetDependencies)(node, pDependencies, edgeData, pNumDependencies)
12520    }
12521    #[cfg(any(
12522        feature = "cuda-12030",
12523        feature = "cuda-12040",
12524        feature = "cuda-12050",
12525        feature = "cuda-12060",
12526        feature = "cuda-12080",
12527        feature = "cuda-12090"
12528    ))]
12529    pub unsafe fn cudaGraphNodeGetDependencies_v2(
12530        node: cudaGraphNode_t,
12531        pDependencies: *mut cudaGraphNode_t,
12532        edgeData: *mut cudaGraphEdgeData,
12533        pNumDependencies: *mut usize,
12534    ) -> cudaError_t {
12535        (culib().cudaGraphNodeGetDependencies_v2)(node, pDependencies, edgeData, pNumDependencies)
12536    }
12537    #[cfg(any(
12538        feature = "cuda-11040",
12539        feature = "cuda-11050",
12540        feature = "cuda-11060",
12541        feature = "cuda-11070",
12542        feature = "cuda-11080",
12543        feature = "cuda-12000",
12544        feature = "cuda-12010",
12545        feature = "cuda-12020",
12546        feature = "cuda-12030",
12547        feature = "cuda-12040",
12548        feature = "cuda-12050",
12549        feature = "cuda-12060",
12550        feature = "cuda-12080",
12551        feature = "cuda-12090"
12552    ))]
12553    pub unsafe fn cudaGraphNodeGetDependentNodes(
12554        node: cudaGraphNode_t,
12555        pDependentNodes: *mut cudaGraphNode_t,
12556        pNumDependentNodes: *mut usize,
12557    ) -> cudaError_t {
12558        (culib().cudaGraphNodeGetDependentNodes)(node, pDependentNodes, pNumDependentNodes)
12559    }
12560    #[cfg(any(feature = "cuda-13000"))]
12561    pub unsafe fn cudaGraphNodeGetDependentNodes(
12562        node: cudaGraphNode_t,
12563        pDependentNodes: *mut cudaGraphNode_t,
12564        edgeData: *mut cudaGraphEdgeData,
12565        pNumDependentNodes: *mut usize,
12566    ) -> cudaError_t {
12567        (culib().cudaGraphNodeGetDependentNodes)(
12568            node,
12569            pDependentNodes,
12570            edgeData,
12571            pNumDependentNodes,
12572        )
12573    }
12574    #[cfg(any(
12575        feature = "cuda-12030",
12576        feature = "cuda-12040",
12577        feature = "cuda-12050",
12578        feature = "cuda-12060",
12579        feature = "cuda-12080",
12580        feature = "cuda-12090"
12581    ))]
12582    pub unsafe fn cudaGraphNodeGetDependentNodes_v2(
12583        node: cudaGraphNode_t,
12584        pDependentNodes: *mut cudaGraphNode_t,
12585        edgeData: *mut cudaGraphEdgeData,
12586        pNumDependentNodes: *mut usize,
12587    ) -> cudaError_t {
12588        (culib().cudaGraphNodeGetDependentNodes_v2)(
12589            node,
12590            pDependentNodes,
12591            edgeData,
12592            pNumDependentNodes,
12593        )
12594    }
12595    #[cfg(any(
12596        feature = "cuda-11060",
12597        feature = "cuda-11070",
12598        feature = "cuda-11080",
12599        feature = "cuda-12000",
12600        feature = "cuda-12010",
12601        feature = "cuda-12020",
12602        feature = "cuda-12030",
12603        feature = "cuda-12040",
12604        feature = "cuda-12050",
12605        feature = "cuda-12060",
12606        feature = "cuda-12080",
12607        feature = "cuda-12090",
12608        feature = "cuda-13000"
12609    ))]
12610    pub unsafe fn cudaGraphNodeGetEnabled(
12611        hGraphExec: cudaGraphExec_t,
12612        hNode: cudaGraphNode_t,
12613        isEnabled: *mut ::core::ffi::c_uint,
12614    ) -> cudaError_t {
12615        (culib().cudaGraphNodeGetEnabled)(hGraphExec, hNode, isEnabled)
12616    }
12617    pub unsafe fn cudaGraphNodeGetType(
12618        node: cudaGraphNode_t,
12619        pType: *mut cudaGraphNodeType,
12620    ) -> cudaError_t {
12621        (culib().cudaGraphNodeGetType)(node, pType)
12622    }
12623    #[cfg(any(
12624        feature = "cuda-11060",
12625        feature = "cuda-11070",
12626        feature = "cuda-11080",
12627        feature = "cuda-12000",
12628        feature = "cuda-12010",
12629        feature = "cuda-12020",
12630        feature = "cuda-12030",
12631        feature = "cuda-12040",
12632        feature = "cuda-12050",
12633        feature = "cuda-12060",
12634        feature = "cuda-12080",
12635        feature = "cuda-12090",
12636        feature = "cuda-13000"
12637    ))]
12638    pub unsafe fn cudaGraphNodeSetEnabled(
12639        hGraphExec: cudaGraphExec_t,
12640        hNode: cudaGraphNode_t,
12641        isEnabled: ::core::ffi::c_uint,
12642    ) -> cudaError_t {
12643        (culib().cudaGraphNodeSetEnabled)(hGraphExec, hNode, isEnabled)
12644    }
12645    #[cfg(any(
12646        feature = "cuda-12020",
12647        feature = "cuda-12030",
12648        feature = "cuda-12040",
12649        feature = "cuda-12050",
12650        feature = "cuda-12060",
12651        feature = "cuda-12080",
12652        feature = "cuda-12090",
12653        feature = "cuda-13000"
12654    ))]
12655    pub unsafe fn cudaGraphNodeSetParams(
12656        node: cudaGraphNode_t,
12657        nodeParams: *mut cudaGraphNodeParams,
12658    ) -> cudaError_t {
12659        (culib().cudaGraphNodeSetParams)(node, nodeParams)
12660    }
12661    pub unsafe fn cudaGraphReleaseUserObject(
12662        graph: cudaGraph_t,
12663        object: cudaUserObject_t,
12664        count: ::core::ffi::c_uint,
12665    ) -> cudaError_t {
12666        (culib().cudaGraphReleaseUserObject)(graph, object, count)
12667    }
12668    #[cfg(any(
12669        feature = "cuda-11040",
12670        feature = "cuda-11050",
12671        feature = "cuda-11060",
12672        feature = "cuda-11070",
12673        feature = "cuda-11080",
12674        feature = "cuda-12000",
12675        feature = "cuda-12010",
12676        feature = "cuda-12020",
12677        feature = "cuda-12030",
12678        feature = "cuda-12040",
12679        feature = "cuda-12050",
12680        feature = "cuda-12060",
12681        feature = "cuda-12080",
12682        feature = "cuda-12090"
12683    ))]
12684    pub unsafe fn cudaGraphRemoveDependencies(
12685        graph: cudaGraph_t,
12686        from: *const cudaGraphNode_t,
12687        to: *const cudaGraphNode_t,
12688        numDependencies: usize,
12689    ) -> cudaError_t {
12690        (culib().cudaGraphRemoveDependencies)(graph, from, to, numDependencies)
12691    }
12692    #[cfg(any(feature = "cuda-13000"))]
12693    pub unsafe fn cudaGraphRemoveDependencies(
12694        graph: cudaGraph_t,
12695        from: *const cudaGraphNode_t,
12696        to: *const cudaGraphNode_t,
12697        edgeData: *const cudaGraphEdgeData,
12698        numDependencies: usize,
12699    ) -> cudaError_t {
12700        (culib().cudaGraphRemoveDependencies)(graph, from, to, edgeData, numDependencies)
12701    }
12702    #[cfg(any(
12703        feature = "cuda-12030",
12704        feature = "cuda-12040",
12705        feature = "cuda-12050",
12706        feature = "cuda-12060",
12707        feature = "cuda-12080",
12708        feature = "cuda-12090"
12709    ))]
12710    pub unsafe fn cudaGraphRemoveDependencies_v2(
12711        graph: cudaGraph_t,
12712        from: *const cudaGraphNode_t,
12713        to: *const cudaGraphNode_t,
12714        edgeData: *const cudaGraphEdgeData,
12715        numDependencies: usize,
12716    ) -> cudaError_t {
12717        (culib().cudaGraphRemoveDependencies_v2)(graph, from, to, edgeData, numDependencies)
12718    }
12719    pub unsafe fn cudaGraphRetainUserObject(
12720        graph: cudaGraph_t,
12721        object: cudaUserObject_t,
12722        count: ::core::ffi::c_uint,
12723        flags: ::core::ffi::c_uint,
12724    ) -> cudaError_t {
12725        (culib().cudaGraphRetainUserObject)(graph, object, count, flags)
12726    }
12727    pub unsafe fn cudaGraphUpload(graphExec: cudaGraphExec_t, stream: cudaStream_t) -> cudaError_t {
12728        (culib().cudaGraphUpload)(graphExec, stream)
12729    }
12730    pub unsafe fn cudaGraphicsMapResources(
12731        count: ::core::ffi::c_int,
12732        resources: *mut cudaGraphicsResource_t,
12733        stream: cudaStream_t,
12734    ) -> cudaError_t {
12735        (culib().cudaGraphicsMapResources)(count, resources, stream)
12736    }
12737    pub unsafe fn cudaGraphicsResourceGetMappedMipmappedArray(
12738        mipmappedArray: *mut cudaMipmappedArray_t,
12739        resource: cudaGraphicsResource_t,
12740    ) -> cudaError_t {
12741        (culib().cudaGraphicsResourceGetMappedMipmappedArray)(mipmappedArray, resource)
12742    }
12743    pub unsafe fn cudaGraphicsResourceGetMappedPointer(
12744        devPtr: *mut *mut ::core::ffi::c_void,
12745        size: *mut usize,
12746        resource: cudaGraphicsResource_t,
12747    ) -> cudaError_t {
12748        (culib().cudaGraphicsResourceGetMappedPointer)(devPtr, size, resource)
12749    }
12750    pub unsafe fn cudaGraphicsResourceSetMapFlags(
12751        resource: cudaGraphicsResource_t,
12752        flags: ::core::ffi::c_uint,
12753    ) -> cudaError_t {
12754        (culib().cudaGraphicsResourceSetMapFlags)(resource, flags)
12755    }
12756    pub unsafe fn cudaGraphicsSubResourceGetMappedArray(
12757        array: *mut cudaArray_t,
12758        resource: cudaGraphicsResource_t,
12759        arrayIndex: ::core::ffi::c_uint,
12760        mipLevel: ::core::ffi::c_uint,
12761    ) -> cudaError_t {
12762        (culib().cudaGraphicsSubResourceGetMappedArray)(array, resource, arrayIndex, mipLevel)
12763    }
12764    pub unsafe fn cudaGraphicsUnmapResources(
12765        count: ::core::ffi::c_int,
12766        resources: *mut cudaGraphicsResource_t,
12767        stream: cudaStream_t,
12768    ) -> cudaError_t {
12769        (culib().cudaGraphicsUnmapResources)(count, resources, stream)
12770    }
12771    pub unsafe fn cudaGraphicsUnregisterResource(resource: cudaGraphicsResource_t) -> cudaError_t {
12772        (culib().cudaGraphicsUnregisterResource)(resource)
12773    }
12774    pub unsafe fn cudaHostAlloc(
12775        pHost: *mut *mut ::core::ffi::c_void,
12776        size: usize,
12777        flags: ::core::ffi::c_uint,
12778    ) -> cudaError_t {
12779        (culib().cudaHostAlloc)(pHost, size, flags)
12780    }
12781    pub unsafe fn cudaHostGetDevicePointer(
12782        pDevice: *mut *mut ::core::ffi::c_void,
12783        pHost: *mut ::core::ffi::c_void,
12784        flags: ::core::ffi::c_uint,
12785    ) -> cudaError_t {
12786        (culib().cudaHostGetDevicePointer)(pDevice, pHost, flags)
12787    }
12788    pub unsafe fn cudaHostGetFlags(
12789        pFlags: *mut ::core::ffi::c_uint,
12790        pHost: *mut ::core::ffi::c_void,
12791    ) -> cudaError_t {
12792        (culib().cudaHostGetFlags)(pFlags, pHost)
12793    }
12794    pub unsafe fn cudaHostRegister(
12795        ptr: *mut ::core::ffi::c_void,
12796        size: usize,
12797        flags: ::core::ffi::c_uint,
12798    ) -> cudaError_t {
12799        (culib().cudaHostRegister)(ptr, size, flags)
12800    }
12801    pub unsafe fn cudaHostUnregister(ptr: *mut ::core::ffi::c_void) -> cudaError_t {
12802        (culib().cudaHostUnregister)(ptr)
12803    }
12804    pub unsafe fn cudaImportExternalMemory(
12805        extMem_out: *mut cudaExternalMemory_t,
12806        memHandleDesc: *const cudaExternalMemoryHandleDesc,
12807    ) -> cudaError_t {
12808        (culib().cudaImportExternalMemory)(extMem_out, memHandleDesc)
12809    }
12810    pub unsafe fn cudaImportExternalSemaphore(
12811        extSem_out: *mut cudaExternalSemaphore_t,
12812        semHandleDesc: *const cudaExternalSemaphoreHandleDesc,
12813    ) -> cudaError_t {
12814        (culib().cudaImportExternalSemaphore)(extSem_out, semHandleDesc)
12815    }
12816    #[cfg(any(
12817        feature = "cuda-12000",
12818        feature = "cuda-12010",
12819        feature = "cuda-12020",
12820        feature = "cuda-12030",
12821        feature = "cuda-12040",
12822        feature = "cuda-12050",
12823        feature = "cuda-12060",
12824        feature = "cuda-12080",
12825        feature = "cuda-12090",
12826        feature = "cuda-13000"
12827    ))]
12828    pub unsafe fn cudaInitDevice(
12829        device: ::core::ffi::c_int,
12830        deviceFlags: ::core::ffi::c_uint,
12831        flags: ::core::ffi::c_uint,
12832    ) -> cudaError_t {
12833        (culib().cudaInitDevice)(device, deviceFlags, flags)
12834    }
12835    pub unsafe fn cudaIpcCloseMemHandle(devPtr: *mut ::core::ffi::c_void) -> cudaError_t {
12836        (culib().cudaIpcCloseMemHandle)(devPtr)
12837    }
12838    pub unsafe fn cudaIpcGetEventHandle(
12839        handle: *mut cudaIpcEventHandle_t,
12840        event: cudaEvent_t,
12841    ) -> cudaError_t {
12842        (culib().cudaIpcGetEventHandle)(handle, event)
12843    }
12844    pub unsafe fn cudaIpcGetMemHandle(
12845        handle: *mut cudaIpcMemHandle_t,
12846        devPtr: *mut ::core::ffi::c_void,
12847    ) -> cudaError_t {
12848        (culib().cudaIpcGetMemHandle)(handle, devPtr)
12849    }
12850    pub unsafe fn cudaIpcOpenEventHandle(
12851        event: *mut cudaEvent_t,
12852        handle: cudaIpcEventHandle_t,
12853    ) -> cudaError_t {
12854        (culib().cudaIpcOpenEventHandle)(event, handle)
12855    }
12856    pub unsafe fn cudaIpcOpenMemHandle(
12857        devPtr: *mut *mut ::core::ffi::c_void,
12858        handle: cudaIpcMemHandle_t,
12859        flags: ::core::ffi::c_uint,
12860    ) -> cudaError_t {
12861        (culib().cudaIpcOpenMemHandle)(devPtr, handle, flags)
12862    }
12863    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
12864    pub unsafe fn cudaKernelSetAttributeForDevice(
12865        kernel: cudaKernel_t,
12866        attr: cudaFuncAttribute,
12867        value: ::core::ffi::c_int,
12868        device: ::core::ffi::c_int,
12869    ) -> cudaError_t {
12870        (culib().cudaKernelSetAttributeForDevice)(kernel, attr, value, device)
12871    }
12872    pub unsafe fn cudaLaunchCooperativeKernel(
12873        func: *const ::core::ffi::c_void,
12874        gridDim: dim3,
12875        blockDim: dim3,
12876        args: *mut *mut ::core::ffi::c_void,
12877        sharedMem: usize,
12878        stream: cudaStream_t,
12879    ) -> cudaError_t {
12880        (culib().cudaLaunchCooperativeKernel)(func, gridDim, blockDim, args, sharedMem, stream)
12881    }
12882    #[cfg(any(
12883        feature = "cuda-11040",
12884        feature = "cuda-11050",
12885        feature = "cuda-11060",
12886        feature = "cuda-11070",
12887        feature = "cuda-11080",
12888        feature = "cuda-12000",
12889        feature = "cuda-12010",
12890        feature = "cuda-12020",
12891        feature = "cuda-12030",
12892        feature = "cuda-12040",
12893        feature = "cuda-12050",
12894        feature = "cuda-12060",
12895        feature = "cuda-12080",
12896        feature = "cuda-12090"
12897    ))]
12898    pub unsafe fn cudaLaunchCooperativeKernelMultiDevice(
12899        launchParamsList: *mut cudaLaunchParams,
12900        numDevices: ::core::ffi::c_uint,
12901        flags: ::core::ffi::c_uint,
12902    ) -> cudaError_t {
12903        (culib().cudaLaunchCooperativeKernelMultiDevice)(launchParamsList, numDevices, flags)
12904    }
12905    pub unsafe fn cudaLaunchHostFunc(
12906        stream: cudaStream_t,
12907        fn_: cudaHostFn_t,
12908        userData: *mut ::core::ffi::c_void,
12909    ) -> cudaError_t {
12910        (culib().cudaLaunchHostFunc)(stream, fn_, userData)
12911    }
12912    pub unsafe fn cudaLaunchKernel(
12913        func: *const ::core::ffi::c_void,
12914        gridDim: dim3,
12915        blockDim: dim3,
12916        args: *mut *mut ::core::ffi::c_void,
12917        sharedMem: usize,
12918        stream: cudaStream_t,
12919    ) -> cudaError_t {
12920        (culib().cudaLaunchKernel)(func, gridDim, blockDim, args, sharedMem, stream)
12921    }
12922    #[cfg(any(
12923        feature = "cuda-11080",
12924        feature = "cuda-12000",
12925        feature = "cuda-12010",
12926        feature = "cuda-12020",
12927        feature = "cuda-12030",
12928        feature = "cuda-12040",
12929        feature = "cuda-12050",
12930        feature = "cuda-12060",
12931        feature = "cuda-12080",
12932        feature = "cuda-12090",
12933        feature = "cuda-13000"
12934    ))]
12935    pub unsafe fn cudaLaunchKernelExC(
12936        config: *const cudaLaunchConfig_t,
12937        func: *const ::core::ffi::c_void,
12938        args: *mut *mut ::core::ffi::c_void,
12939    ) -> cudaError_t {
12940        (culib().cudaLaunchKernelExC)(config, func, args)
12941    }
12942    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
12943    pub unsafe fn cudaLibraryEnumerateKernels(
12944        kernels: *mut cudaKernel_t,
12945        numKernels: ::core::ffi::c_uint,
12946        lib: cudaLibrary_t,
12947    ) -> cudaError_t {
12948        (culib().cudaLibraryEnumerateKernels)(kernels, numKernels, lib)
12949    }
12950    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
12951    pub unsafe fn cudaLibraryGetGlobal(
12952        dptr: *mut *mut ::core::ffi::c_void,
12953        bytes: *mut usize,
12954        library: cudaLibrary_t,
12955        name: *const ::core::ffi::c_char,
12956    ) -> cudaError_t {
12957        (culib().cudaLibraryGetGlobal)(dptr, bytes, library, name)
12958    }
12959    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
12960    pub unsafe fn cudaLibraryGetKernel(
12961        pKernel: *mut cudaKernel_t,
12962        library: cudaLibrary_t,
12963        name: *const ::core::ffi::c_char,
12964    ) -> cudaError_t {
12965        (culib().cudaLibraryGetKernel)(pKernel, library, name)
12966    }
12967    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
12968    pub unsafe fn cudaLibraryGetKernelCount(
12969        count: *mut ::core::ffi::c_uint,
12970        lib: cudaLibrary_t,
12971    ) -> cudaError_t {
12972        (culib().cudaLibraryGetKernelCount)(count, lib)
12973    }
12974    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
12975    pub unsafe fn cudaLibraryGetManaged(
12976        dptr: *mut *mut ::core::ffi::c_void,
12977        bytes: *mut usize,
12978        library: cudaLibrary_t,
12979        name: *const ::core::ffi::c_char,
12980    ) -> cudaError_t {
12981        (culib().cudaLibraryGetManaged)(dptr, bytes, library, name)
12982    }
12983    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
12984    pub unsafe fn cudaLibraryGetUnifiedFunction(
12985        fptr: *mut *mut ::core::ffi::c_void,
12986        library: cudaLibrary_t,
12987        symbol: *const ::core::ffi::c_char,
12988    ) -> cudaError_t {
12989        (culib().cudaLibraryGetUnifiedFunction)(fptr, library, symbol)
12990    }
12991    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
12992    pub unsafe fn cudaLibraryLoadData(
12993        library: *mut cudaLibrary_t,
12994        code: *const ::core::ffi::c_void,
12995        jitOptions: *mut cudaJitOption,
12996        jitOptionsValues: *mut *mut ::core::ffi::c_void,
12997        numJitOptions: ::core::ffi::c_uint,
12998        libraryOptions: *mut cudaLibraryOption,
12999        libraryOptionValues: *mut *mut ::core::ffi::c_void,
13000        numLibraryOptions: ::core::ffi::c_uint,
13001    ) -> cudaError_t {
13002        (culib().cudaLibraryLoadData)(
13003            library,
13004            code,
13005            jitOptions,
13006            jitOptionsValues,
13007            numJitOptions,
13008            libraryOptions,
13009            libraryOptionValues,
13010            numLibraryOptions,
13011        )
13012    }
13013    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
13014    pub unsafe fn cudaLibraryLoadFromFile(
13015        library: *mut cudaLibrary_t,
13016        fileName: *const ::core::ffi::c_char,
13017        jitOptions: *mut cudaJitOption,
13018        jitOptionsValues: *mut *mut ::core::ffi::c_void,
13019        numJitOptions: ::core::ffi::c_uint,
13020        libraryOptions: *mut cudaLibraryOption,
13021        libraryOptionValues: *mut *mut ::core::ffi::c_void,
13022        numLibraryOptions: ::core::ffi::c_uint,
13023    ) -> cudaError_t {
13024        (culib().cudaLibraryLoadFromFile)(
13025            library,
13026            fileName,
13027            jitOptions,
13028            jitOptionsValues,
13029            numJitOptions,
13030            libraryOptions,
13031            libraryOptionValues,
13032            numLibraryOptions,
13033        )
13034    }
13035    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
13036    pub unsafe fn cudaLibraryUnload(library: cudaLibrary_t) -> cudaError_t {
13037        (culib().cudaLibraryUnload)(library)
13038    }
13039    #[cfg(any(feature = "cuda-13000"))]
13040    pub unsafe fn cudaLogsCurrent(
13041        iterator_out: *mut cudaLogIterator,
13042        flags: ::core::ffi::c_uint,
13043    ) -> cudaError_t {
13044        (culib().cudaLogsCurrent)(iterator_out, flags)
13045    }
13046    #[cfg(any(feature = "cuda-13000"))]
13047    pub unsafe fn cudaLogsDumpToFile(
13048        iterator: *mut cudaLogIterator,
13049        pathToFile: *const ::core::ffi::c_char,
13050        flags: ::core::ffi::c_uint,
13051    ) -> cudaError_t {
13052        (culib().cudaLogsDumpToFile)(iterator, pathToFile, flags)
13053    }
13054    #[cfg(any(feature = "cuda-13000"))]
13055    pub unsafe fn cudaLogsDumpToMemory(
13056        iterator: *mut cudaLogIterator,
13057        buffer: *mut ::core::ffi::c_char,
13058        size: *mut usize,
13059        flags: ::core::ffi::c_uint,
13060    ) -> cudaError_t {
13061        (culib().cudaLogsDumpToMemory)(iterator, buffer, size, flags)
13062    }
13063    #[cfg(any(feature = "cuda-13000"))]
13064    pub unsafe fn cudaLogsRegisterCallback(
13065        callbackFunc: cudaLogsCallback_t,
13066        userData: *mut ::core::ffi::c_void,
13067        callback_out: *mut cudaLogsCallbackHandle,
13068    ) -> cudaError_t {
13069        (culib().cudaLogsRegisterCallback)(callbackFunc, userData, callback_out)
13070    }
13071    #[cfg(any(feature = "cuda-13000"))]
13072    pub unsafe fn cudaLogsUnregisterCallback(callback: cudaLogsCallbackHandle) -> cudaError_t {
13073        (culib().cudaLogsUnregisterCallback)(callback)
13074    }
13075    pub unsafe fn cudaMalloc(devPtr: *mut *mut ::core::ffi::c_void, size: usize) -> cudaError_t {
13076        (culib().cudaMalloc)(devPtr, size)
13077    }
13078    pub unsafe fn cudaMalloc3D(
13079        pitchedDevPtr: *mut cudaPitchedPtr,
13080        extent: cudaExtent,
13081    ) -> cudaError_t {
13082        (culib().cudaMalloc3D)(pitchedDevPtr, extent)
13083    }
13084    pub unsafe fn cudaMalloc3DArray(
13085        array: *mut cudaArray_t,
13086        desc: *const cudaChannelFormatDesc,
13087        extent: cudaExtent,
13088        flags: ::core::ffi::c_uint,
13089    ) -> cudaError_t {
13090        (culib().cudaMalloc3DArray)(array, desc, extent, flags)
13091    }
13092    pub unsafe fn cudaMallocArray(
13093        array: *mut cudaArray_t,
13094        desc: *const cudaChannelFormatDesc,
13095        width: usize,
13096        height: usize,
13097        flags: ::core::ffi::c_uint,
13098    ) -> cudaError_t {
13099        (culib().cudaMallocArray)(array, desc, width, height, flags)
13100    }
13101    pub unsafe fn cudaMallocAsync(
13102        devPtr: *mut *mut ::core::ffi::c_void,
13103        size: usize,
13104        hStream: cudaStream_t,
13105    ) -> cudaError_t {
13106        (culib().cudaMallocAsync)(devPtr, size, hStream)
13107    }
13108    pub unsafe fn cudaMallocFromPoolAsync(
13109        ptr: *mut *mut ::core::ffi::c_void,
13110        size: usize,
13111        memPool: cudaMemPool_t,
13112        stream: cudaStream_t,
13113    ) -> cudaError_t {
13114        (culib().cudaMallocFromPoolAsync)(ptr, size, memPool, stream)
13115    }
13116    pub unsafe fn cudaMallocHost(ptr: *mut *mut ::core::ffi::c_void, size: usize) -> cudaError_t {
13117        (culib().cudaMallocHost)(ptr, size)
13118    }
13119    pub unsafe fn cudaMallocManaged(
13120        devPtr: *mut *mut ::core::ffi::c_void,
13121        size: usize,
13122        flags: ::core::ffi::c_uint,
13123    ) -> cudaError_t {
13124        (culib().cudaMallocManaged)(devPtr, size, flags)
13125    }
13126    pub unsafe fn cudaMallocMipmappedArray(
13127        mipmappedArray: *mut cudaMipmappedArray_t,
13128        desc: *const cudaChannelFormatDesc,
13129        extent: cudaExtent,
13130        numLevels: ::core::ffi::c_uint,
13131        flags: ::core::ffi::c_uint,
13132    ) -> cudaError_t {
13133        (culib().cudaMallocMipmappedArray)(mipmappedArray, desc, extent, numLevels, flags)
13134    }
13135    pub unsafe fn cudaMallocPitch(
13136        devPtr: *mut *mut ::core::ffi::c_void,
13137        pitch: *mut usize,
13138        width: usize,
13139        height: usize,
13140    ) -> cudaError_t {
13141        (culib().cudaMallocPitch)(devPtr, pitch, width, height)
13142    }
13143    #[cfg(any(
13144        feature = "cuda-11040",
13145        feature = "cuda-11050",
13146        feature = "cuda-11060",
13147        feature = "cuda-11070",
13148        feature = "cuda-11080",
13149        feature = "cuda-12000",
13150        feature = "cuda-12010",
13151        feature = "cuda-12020",
13152        feature = "cuda-12030",
13153        feature = "cuda-12040",
13154        feature = "cuda-12050",
13155        feature = "cuda-12060",
13156        feature = "cuda-12080",
13157        feature = "cuda-12090"
13158    ))]
13159    pub unsafe fn cudaMemAdvise(
13160        devPtr: *const ::core::ffi::c_void,
13161        count: usize,
13162        advice: cudaMemoryAdvise,
13163        device: ::core::ffi::c_int,
13164    ) -> cudaError_t {
13165        (culib().cudaMemAdvise)(devPtr, count, advice, device)
13166    }
13167    #[cfg(any(feature = "cuda-13000"))]
13168    pub unsafe fn cudaMemAdvise(
13169        devPtr: *const ::core::ffi::c_void,
13170        count: usize,
13171        advice: cudaMemoryAdvise,
13172        location: cudaMemLocation,
13173    ) -> cudaError_t {
13174        (culib().cudaMemAdvise)(devPtr, count, advice, location)
13175    }
13176    #[cfg(any(
13177        feature = "cuda-12020",
13178        feature = "cuda-12030",
13179        feature = "cuda-12040",
13180        feature = "cuda-12050",
13181        feature = "cuda-12060",
13182        feature = "cuda-12080",
13183        feature = "cuda-12090"
13184    ))]
13185    pub unsafe fn cudaMemAdvise_v2(
13186        devPtr: *const ::core::ffi::c_void,
13187        count: usize,
13188        advice: cudaMemoryAdvise,
13189        location: cudaMemLocation,
13190    ) -> cudaError_t {
13191        (culib().cudaMemAdvise_v2)(devPtr, count, advice, location)
13192    }
13193    #[cfg(any(feature = "cuda-13000"))]
13194    pub unsafe fn cudaMemDiscardAndPrefetchBatchAsync(
13195        dptrs: *mut *mut ::core::ffi::c_void,
13196        sizes: *mut usize,
13197        count: usize,
13198        prefetchLocs: *mut cudaMemLocation,
13199        prefetchLocIdxs: *mut usize,
13200        numPrefetchLocs: usize,
13201        flags: ::core::ffi::c_ulonglong,
13202        stream: cudaStream_t,
13203    ) -> cudaError_t {
13204        (culib().cudaMemDiscardAndPrefetchBatchAsync)(
13205            dptrs,
13206            sizes,
13207            count,
13208            prefetchLocs,
13209            prefetchLocIdxs,
13210            numPrefetchLocs,
13211            flags,
13212            stream,
13213        )
13214    }
13215    #[cfg(any(feature = "cuda-13000"))]
13216    pub unsafe fn cudaMemDiscardBatchAsync(
13217        dptrs: *mut *mut ::core::ffi::c_void,
13218        sizes: *mut usize,
13219        count: usize,
13220        flags: ::core::ffi::c_ulonglong,
13221        stream: cudaStream_t,
13222    ) -> cudaError_t {
13223        (culib().cudaMemDiscardBatchAsync)(dptrs, sizes, count, flags, stream)
13224    }
13225    #[cfg(any(feature = "cuda-13000"))]
13226    pub unsafe fn cudaMemGetDefaultMemPool(
13227        memPool: *mut cudaMemPool_t,
13228        location: *mut cudaMemLocation,
13229        type_: cudaMemAllocationType,
13230    ) -> cudaError_t {
13231        (culib().cudaMemGetDefaultMemPool)(memPool, location, type_)
13232    }
13233    pub unsafe fn cudaMemGetInfo(free: *mut usize, total: *mut usize) -> cudaError_t {
13234        (culib().cudaMemGetInfo)(free, total)
13235    }
13236    #[cfg(any(feature = "cuda-13000"))]
13237    pub unsafe fn cudaMemGetMemPool(
13238        memPool: *mut cudaMemPool_t,
13239        location: *mut cudaMemLocation,
13240        type_: cudaMemAllocationType,
13241    ) -> cudaError_t {
13242        (culib().cudaMemGetMemPool)(memPool, location, type_)
13243    }
13244    pub unsafe fn cudaMemPoolCreate(
13245        memPool: *mut cudaMemPool_t,
13246        poolProps: *const cudaMemPoolProps,
13247    ) -> cudaError_t {
13248        (culib().cudaMemPoolCreate)(memPool, poolProps)
13249    }
13250    pub unsafe fn cudaMemPoolDestroy(memPool: cudaMemPool_t) -> cudaError_t {
13251        (culib().cudaMemPoolDestroy)(memPool)
13252    }
13253    pub unsafe fn cudaMemPoolExportPointer(
13254        exportData: *mut cudaMemPoolPtrExportData,
13255        ptr: *mut ::core::ffi::c_void,
13256    ) -> cudaError_t {
13257        (culib().cudaMemPoolExportPointer)(exportData, ptr)
13258    }
13259    pub unsafe fn cudaMemPoolExportToShareableHandle(
13260        shareableHandle: *mut ::core::ffi::c_void,
13261        memPool: cudaMemPool_t,
13262        handleType: cudaMemAllocationHandleType,
13263        flags: ::core::ffi::c_uint,
13264    ) -> cudaError_t {
13265        (culib().cudaMemPoolExportToShareableHandle)(shareableHandle, memPool, handleType, flags)
13266    }
13267    pub unsafe fn cudaMemPoolGetAccess(
13268        flags: *mut cudaMemAccessFlags,
13269        memPool: cudaMemPool_t,
13270        location: *mut cudaMemLocation,
13271    ) -> cudaError_t {
13272        (culib().cudaMemPoolGetAccess)(flags, memPool, location)
13273    }
13274    pub unsafe fn cudaMemPoolGetAttribute(
13275        memPool: cudaMemPool_t,
13276        attr: cudaMemPoolAttr,
13277        value: *mut ::core::ffi::c_void,
13278    ) -> cudaError_t {
13279        (culib().cudaMemPoolGetAttribute)(memPool, attr, value)
13280    }
13281    pub unsafe fn cudaMemPoolImportFromShareableHandle(
13282        memPool: *mut cudaMemPool_t,
13283        shareableHandle: *mut ::core::ffi::c_void,
13284        handleType: cudaMemAllocationHandleType,
13285        flags: ::core::ffi::c_uint,
13286    ) -> cudaError_t {
13287        (culib().cudaMemPoolImportFromShareableHandle)(memPool, shareableHandle, handleType, flags)
13288    }
13289    pub unsafe fn cudaMemPoolImportPointer(
13290        ptr: *mut *mut ::core::ffi::c_void,
13291        memPool: cudaMemPool_t,
13292        exportData: *mut cudaMemPoolPtrExportData,
13293    ) -> cudaError_t {
13294        (culib().cudaMemPoolImportPointer)(ptr, memPool, exportData)
13295    }
13296    pub unsafe fn cudaMemPoolSetAccess(
13297        memPool: cudaMemPool_t,
13298        descList: *const cudaMemAccessDesc,
13299        count: usize,
13300    ) -> cudaError_t {
13301        (culib().cudaMemPoolSetAccess)(memPool, descList, count)
13302    }
13303    pub unsafe fn cudaMemPoolSetAttribute(
13304        memPool: cudaMemPool_t,
13305        attr: cudaMemPoolAttr,
13306        value: *mut ::core::ffi::c_void,
13307    ) -> cudaError_t {
13308        (culib().cudaMemPoolSetAttribute)(memPool, attr, value)
13309    }
13310    pub unsafe fn cudaMemPoolTrimTo(memPool: cudaMemPool_t, minBytesToKeep: usize) -> cudaError_t {
13311        (culib().cudaMemPoolTrimTo)(memPool, minBytesToKeep)
13312    }
13313    #[cfg(any(
13314        feature = "cuda-11040",
13315        feature = "cuda-11050",
13316        feature = "cuda-11060",
13317        feature = "cuda-11070",
13318        feature = "cuda-11080",
13319        feature = "cuda-12000",
13320        feature = "cuda-12010",
13321        feature = "cuda-12020",
13322        feature = "cuda-12030",
13323        feature = "cuda-12040",
13324        feature = "cuda-12050",
13325        feature = "cuda-12060",
13326        feature = "cuda-12080",
13327        feature = "cuda-12090"
13328    ))]
13329    pub unsafe fn cudaMemPrefetchAsync(
13330        devPtr: *const ::core::ffi::c_void,
13331        count: usize,
13332        dstDevice: ::core::ffi::c_int,
13333        stream: cudaStream_t,
13334    ) -> cudaError_t {
13335        (culib().cudaMemPrefetchAsync)(devPtr, count, dstDevice, stream)
13336    }
13337    #[cfg(any(feature = "cuda-13000"))]
13338    pub unsafe fn cudaMemPrefetchAsync(
13339        devPtr: *const ::core::ffi::c_void,
13340        count: usize,
13341        location: cudaMemLocation,
13342        flags: ::core::ffi::c_uint,
13343        stream: cudaStream_t,
13344    ) -> cudaError_t {
13345        (culib().cudaMemPrefetchAsync)(devPtr, count, location, flags, stream)
13346    }
13347    #[cfg(any(
13348        feature = "cuda-12020",
13349        feature = "cuda-12030",
13350        feature = "cuda-12040",
13351        feature = "cuda-12050",
13352        feature = "cuda-12060",
13353        feature = "cuda-12080",
13354        feature = "cuda-12090"
13355    ))]
13356    pub unsafe fn cudaMemPrefetchAsync_v2(
13357        devPtr: *const ::core::ffi::c_void,
13358        count: usize,
13359        location: cudaMemLocation,
13360        flags: ::core::ffi::c_uint,
13361        stream: cudaStream_t,
13362    ) -> cudaError_t {
13363        (culib().cudaMemPrefetchAsync_v2)(devPtr, count, location, flags, stream)
13364    }
13365    #[cfg(any(feature = "cuda-13000"))]
13366    pub unsafe fn cudaMemPrefetchBatchAsync(
13367        dptrs: *mut *mut ::core::ffi::c_void,
13368        sizes: *mut usize,
13369        count: usize,
13370        prefetchLocs: *mut cudaMemLocation,
13371        prefetchLocIdxs: *mut usize,
13372        numPrefetchLocs: usize,
13373        flags: ::core::ffi::c_ulonglong,
13374        stream: cudaStream_t,
13375    ) -> cudaError_t {
13376        (culib().cudaMemPrefetchBatchAsync)(
13377            dptrs,
13378            sizes,
13379            count,
13380            prefetchLocs,
13381            prefetchLocIdxs,
13382            numPrefetchLocs,
13383            flags,
13384            stream,
13385        )
13386    }
13387    pub unsafe fn cudaMemRangeGetAttribute(
13388        data: *mut ::core::ffi::c_void,
13389        dataSize: usize,
13390        attribute: cudaMemRangeAttribute,
13391        devPtr: *const ::core::ffi::c_void,
13392        count: usize,
13393    ) -> cudaError_t {
13394        (culib().cudaMemRangeGetAttribute)(data, dataSize, attribute, devPtr, count)
13395    }
13396    pub unsafe fn cudaMemRangeGetAttributes(
13397        data: *mut *mut ::core::ffi::c_void,
13398        dataSizes: *mut usize,
13399        attributes: *mut cudaMemRangeAttribute,
13400        numAttributes: usize,
13401        devPtr: *const ::core::ffi::c_void,
13402        count: usize,
13403    ) -> cudaError_t {
13404        (culib().cudaMemRangeGetAttributes)(
13405            data,
13406            dataSizes,
13407            attributes,
13408            numAttributes,
13409            devPtr,
13410            count,
13411        )
13412    }
13413    #[cfg(any(feature = "cuda-13000"))]
13414    pub unsafe fn cudaMemSetMemPool(
13415        location: *mut cudaMemLocation,
13416        type_: cudaMemAllocationType,
13417        memPool: cudaMemPool_t,
13418    ) -> cudaError_t {
13419        (culib().cudaMemSetMemPool)(location, type_, memPool)
13420    }
13421    pub unsafe fn cudaMemcpy(
13422        dst: *mut ::core::ffi::c_void,
13423        src: *const ::core::ffi::c_void,
13424        count: usize,
13425        kind: cudaMemcpyKind,
13426    ) -> cudaError_t {
13427        (culib().cudaMemcpy)(dst, src, count, kind)
13428    }
13429    pub unsafe fn cudaMemcpy2D(
13430        dst: *mut ::core::ffi::c_void,
13431        dpitch: usize,
13432        src: *const ::core::ffi::c_void,
13433        spitch: usize,
13434        width: usize,
13435        height: usize,
13436        kind: cudaMemcpyKind,
13437    ) -> cudaError_t {
13438        (culib().cudaMemcpy2D)(dst, dpitch, src, spitch, width, height, kind)
13439    }
13440    pub unsafe fn cudaMemcpy2DArrayToArray(
13441        dst: cudaArray_t,
13442        wOffsetDst: usize,
13443        hOffsetDst: usize,
13444        src: cudaArray_const_t,
13445        wOffsetSrc: usize,
13446        hOffsetSrc: usize,
13447        width: usize,
13448        height: usize,
13449        kind: cudaMemcpyKind,
13450    ) -> cudaError_t {
13451        (culib().cudaMemcpy2DArrayToArray)(
13452            dst, wOffsetDst, hOffsetDst, src, wOffsetSrc, hOffsetSrc, width, height, kind,
13453        )
13454    }
13455    pub unsafe fn cudaMemcpy2DAsync(
13456        dst: *mut ::core::ffi::c_void,
13457        dpitch: usize,
13458        src: *const ::core::ffi::c_void,
13459        spitch: usize,
13460        width: usize,
13461        height: usize,
13462        kind: cudaMemcpyKind,
13463        stream: cudaStream_t,
13464    ) -> cudaError_t {
13465        (culib().cudaMemcpy2DAsync)(dst, dpitch, src, spitch, width, height, kind, stream)
13466    }
13467    pub unsafe fn cudaMemcpy2DFromArray(
13468        dst: *mut ::core::ffi::c_void,
13469        dpitch: usize,
13470        src: cudaArray_const_t,
13471        wOffset: usize,
13472        hOffset: usize,
13473        width: usize,
13474        height: usize,
13475        kind: cudaMemcpyKind,
13476    ) -> cudaError_t {
13477        (culib().cudaMemcpy2DFromArray)(dst, dpitch, src, wOffset, hOffset, width, height, kind)
13478    }
13479    pub unsafe fn cudaMemcpy2DFromArrayAsync(
13480        dst: *mut ::core::ffi::c_void,
13481        dpitch: usize,
13482        src: cudaArray_const_t,
13483        wOffset: usize,
13484        hOffset: usize,
13485        width: usize,
13486        height: usize,
13487        kind: cudaMemcpyKind,
13488        stream: cudaStream_t,
13489    ) -> cudaError_t {
13490        (culib().cudaMemcpy2DFromArrayAsync)(
13491            dst, dpitch, src, wOffset, hOffset, width, height, kind, stream,
13492        )
13493    }
13494    pub unsafe fn cudaMemcpy2DToArray(
13495        dst: cudaArray_t,
13496        wOffset: usize,
13497        hOffset: usize,
13498        src: *const ::core::ffi::c_void,
13499        spitch: usize,
13500        width: usize,
13501        height: usize,
13502        kind: cudaMemcpyKind,
13503    ) -> cudaError_t {
13504        (culib().cudaMemcpy2DToArray)(dst, wOffset, hOffset, src, spitch, width, height, kind)
13505    }
13506    pub unsafe fn cudaMemcpy2DToArrayAsync(
13507        dst: cudaArray_t,
13508        wOffset: usize,
13509        hOffset: usize,
13510        src: *const ::core::ffi::c_void,
13511        spitch: usize,
13512        width: usize,
13513        height: usize,
13514        kind: cudaMemcpyKind,
13515        stream: cudaStream_t,
13516    ) -> cudaError_t {
13517        (culib().cudaMemcpy2DToArrayAsync)(
13518            dst, wOffset, hOffset, src, spitch, width, height, kind, stream,
13519        )
13520    }
13521    pub unsafe fn cudaMemcpy3D(p: *const cudaMemcpy3DParms) -> cudaError_t {
13522        (culib().cudaMemcpy3D)(p)
13523    }
13524    pub unsafe fn cudaMemcpy3DAsync(
13525        p: *const cudaMemcpy3DParms,
13526        stream: cudaStream_t,
13527    ) -> cudaError_t {
13528        (culib().cudaMemcpy3DAsync)(p, stream)
13529    }
13530    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
13531    pub unsafe fn cudaMemcpy3DBatchAsync(
13532        numOps: usize,
13533        opList: *mut cudaMemcpy3DBatchOp,
13534        failIdx: *mut usize,
13535        flags: ::core::ffi::c_ulonglong,
13536        stream: cudaStream_t,
13537    ) -> cudaError_t {
13538        (culib().cudaMemcpy3DBatchAsync)(numOps, opList, failIdx, flags, stream)
13539    }
13540    #[cfg(any(feature = "cuda-13000"))]
13541    pub unsafe fn cudaMemcpy3DBatchAsync(
13542        numOps: usize,
13543        opList: *mut cudaMemcpy3DBatchOp,
13544        flags: ::core::ffi::c_ulonglong,
13545        stream: cudaStream_t,
13546    ) -> cudaError_t {
13547        (culib().cudaMemcpy3DBatchAsync)(numOps, opList, flags, stream)
13548    }
13549    pub unsafe fn cudaMemcpy3DPeer(p: *const cudaMemcpy3DPeerParms) -> cudaError_t {
13550        (culib().cudaMemcpy3DPeer)(p)
13551    }
13552    pub unsafe fn cudaMemcpy3DPeerAsync(
13553        p: *const cudaMemcpy3DPeerParms,
13554        stream: cudaStream_t,
13555    ) -> cudaError_t {
13556        (culib().cudaMemcpy3DPeerAsync)(p, stream)
13557    }
13558    pub unsafe fn cudaMemcpyArrayToArray(
13559        dst: cudaArray_t,
13560        wOffsetDst: usize,
13561        hOffsetDst: usize,
13562        src: cudaArray_const_t,
13563        wOffsetSrc: usize,
13564        hOffsetSrc: usize,
13565        count: usize,
13566        kind: cudaMemcpyKind,
13567    ) -> cudaError_t {
13568        (culib().cudaMemcpyArrayToArray)(
13569            dst, wOffsetDst, hOffsetDst, src, wOffsetSrc, hOffsetSrc, count, kind,
13570        )
13571    }
13572    pub unsafe fn cudaMemcpyAsync(
13573        dst: *mut ::core::ffi::c_void,
13574        src: *const ::core::ffi::c_void,
13575        count: usize,
13576        kind: cudaMemcpyKind,
13577        stream: cudaStream_t,
13578    ) -> cudaError_t {
13579        (culib().cudaMemcpyAsync)(dst, src, count, kind, stream)
13580    }
13581    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
13582    pub unsafe fn cudaMemcpyBatchAsync(
13583        dsts: *mut *mut ::core::ffi::c_void,
13584        srcs: *mut *mut ::core::ffi::c_void,
13585        sizes: *mut usize,
13586        count: usize,
13587        attrs: *mut cudaMemcpyAttributes,
13588        attrsIdxs: *mut usize,
13589        numAttrs: usize,
13590        failIdx: *mut usize,
13591        stream: cudaStream_t,
13592    ) -> cudaError_t {
13593        (culib().cudaMemcpyBatchAsync)(
13594            dsts, srcs, sizes, count, attrs, attrsIdxs, numAttrs, failIdx, stream,
13595        )
13596    }
13597    #[cfg(any(feature = "cuda-13000"))]
13598    pub unsafe fn cudaMemcpyBatchAsync(
13599        dsts: *const *mut ::core::ffi::c_void,
13600        srcs: *const *const ::core::ffi::c_void,
13601        sizes: *const usize,
13602        count: usize,
13603        attrs: *mut cudaMemcpyAttributes,
13604        attrsIdxs: *mut usize,
13605        numAttrs: usize,
13606        stream: cudaStream_t,
13607    ) -> cudaError_t {
13608        (culib().cudaMemcpyBatchAsync)(dsts, srcs, sizes, count, attrs, attrsIdxs, numAttrs, stream)
13609    }
13610    pub unsafe fn cudaMemcpyFromArray(
13611        dst: *mut ::core::ffi::c_void,
13612        src: cudaArray_const_t,
13613        wOffset: usize,
13614        hOffset: usize,
13615        count: usize,
13616        kind: cudaMemcpyKind,
13617    ) -> cudaError_t {
13618        (culib().cudaMemcpyFromArray)(dst, src, wOffset, hOffset, count, kind)
13619    }
13620    pub unsafe fn cudaMemcpyFromArrayAsync(
13621        dst: *mut ::core::ffi::c_void,
13622        src: cudaArray_const_t,
13623        wOffset: usize,
13624        hOffset: usize,
13625        count: usize,
13626        kind: cudaMemcpyKind,
13627        stream: cudaStream_t,
13628    ) -> cudaError_t {
13629        (culib().cudaMemcpyFromArrayAsync)(dst, src, wOffset, hOffset, count, kind, stream)
13630    }
13631    pub unsafe fn cudaMemcpyFromSymbol(
13632        dst: *mut ::core::ffi::c_void,
13633        symbol: *const ::core::ffi::c_void,
13634        count: usize,
13635        offset: usize,
13636        kind: cudaMemcpyKind,
13637    ) -> cudaError_t {
13638        (culib().cudaMemcpyFromSymbol)(dst, symbol, count, offset, kind)
13639    }
13640    pub unsafe fn cudaMemcpyFromSymbolAsync(
13641        dst: *mut ::core::ffi::c_void,
13642        symbol: *const ::core::ffi::c_void,
13643        count: usize,
13644        offset: usize,
13645        kind: cudaMemcpyKind,
13646        stream: cudaStream_t,
13647    ) -> cudaError_t {
13648        (culib().cudaMemcpyFromSymbolAsync)(dst, symbol, count, offset, kind, stream)
13649    }
13650    pub unsafe fn cudaMemcpyPeer(
13651        dst: *mut ::core::ffi::c_void,
13652        dstDevice: ::core::ffi::c_int,
13653        src: *const ::core::ffi::c_void,
13654        srcDevice: ::core::ffi::c_int,
13655        count: usize,
13656    ) -> cudaError_t {
13657        (culib().cudaMemcpyPeer)(dst, dstDevice, src, srcDevice, count)
13658    }
13659    pub unsafe fn cudaMemcpyPeerAsync(
13660        dst: *mut ::core::ffi::c_void,
13661        dstDevice: ::core::ffi::c_int,
13662        src: *const ::core::ffi::c_void,
13663        srcDevice: ::core::ffi::c_int,
13664        count: usize,
13665        stream: cudaStream_t,
13666    ) -> cudaError_t {
13667        (culib().cudaMemcpyPeerAsync)(dst, dstDevice, src, srcDevice, count, stream)
13668    }
13669    pub unsafe fn cudaMemcpyToArray(
13670        dst: cudaArray_t,
13671        wOffset: usize,
13672        hOffset: usize,
13673        src: *const ::core::ffi::c_void,
13674        count: usize,
13675        kind: cudaMemcpyKind,
13676    ) -> cudaError_t {
13677        (culib().cudaMemcpyToArray)(dst, wOffset, hOffset, src, count, kind)
13678    }
13679    pub unsafe fn cudaMemcpyToArrayAsync(
13680        dst: cudaArray_t,
13681        wOffset: usize,
13682        hOffset: usize,
13683        src: *const ::core::ffi::c_void,
13684        count: usize,
13685        kind: cudaMemcpyKind,
13686        stream: cudaStream_t,
13687    ) -> cudaError_t {
13688        (culib().cudaMemcpyToArrayAsync)(dst, wOffset, hOffset, src, count, kind, stream)
13689    }
13690    pub unsafe fn cudaMemcpyToSymbol(
13691        symbol: *const ::core::ffi::c_void,
13692        src: *const ::core::ffi::c_void,
13693        count: usize,
13694        offset: usize,
13695        kind: cudaMemcpyKind,
13696    ) -> cudaError_t {
13697        (culib().cudaMemcpyToSymbol)(symbol, src, count, offset, kind)
13698    }
13699    pub unsafe fn cudaMemcpyToSymbolAsync(
13700        symbol: *const ::core::ffi::c_void,
13701        src: *const ::core::ffi::c_void,
13702        count: usize,
13703        offset: usize,
13704        kind: cudaMemcpyKind,
13705        stream: cudaStream_t,
13706    ) -> cudaError_t {
13707        (culib().cudaMemcpyToSymbolAsync)(symbol, src, count, offset, kind, stream)
13708    }
13709    pub unsafe fn cudaMemset(
13710        devPtr: *mut ::core::ffi::c_void,
13711        value: ::core::ffi::c_int,
13712        count: usize,
13713    ) -> cudaError_t {
13714        (culib().cudaMemset)(devPtr, value, count)
13715    }
13716    pub unsafe fn cudaMemset2D(
13717        devPtr: *mut ::core::ffi::c_void,
13718        pitch: usize,
13719        value: ::core::ffi::c_int,
13720        width: usize,
13721        height: usize,
13722    ) -> cudaError_t {
13723        (culib().cudaMemset2D)(devPtr, pitch, value, width, height)
13724    }
13725    pub unsafe fn cudaMemset2DAsync(
13726        devPtr: *mut ::core::ffi::c_void,
13727        pitch: usize,
13728        value: ::core::ffi::c_int,
13729        width: usize,
13730        height: usize,
13731        stream: cudaStream_t,
13732    ) -> cudaError_t {
13733        (culib().cudaMemset2DAsync)(devPtr, pitch, value, width, height, stream)
13734    }
13735    pub unsafe fn cudaMemset3D(
13736        pitchedDevPtr: cudaPitchedPtr,
13737        value: ::core::ffi::c_int,
13738        extent: cudaExtent,
13739    ) -> cudaError_t {
13740        (culib().cudaMemset3D)(pitchedDevPtr, value, extent)
13741    }
13742    pub unsafe fn cudaMemset3DAsync(
13743        pitchedDevPtr: cudaPitchedPtr,
13744        value: ::core::ffi::c_int,
13745        extent: cudaExtent,
13746        stream: cudaStream_t,
13747    ) -> cudaError_t {
13748        (culib().cudaMemset3DAsync)(pitchedDevPtr, value, extent, stream)
13749    }
13750    pub unsafe fn cudaMemsetAsync(
13751        devPtr: *mut ::core::ffi::c_void,
13752        value: ::core::ffi::c_int,
13753        count: usize,
13754        stream: cudaStream_t,
13755    ) -> cudaError_t {
13756        (culib().cudaMemsetAsync)(devPtr, value, count, stream)
13757    }
13758    #[cfg(any(
13759        feature = "cuda-11060",
13760        feature = "cuda-11070",
13761        feature = "cuda-11080",
13762        feature = "cuda-12000",
13763        feature = "cuda-12010",
13764        feature = "cuda-12020",
13765        feature = "cuda-12030",
13766        feature = "cuda-12040",
13767        feature = "cuda-12050",
13768        feature = "cuda-12060",
13769        feature = "cuda-12080",
13770        feature = "cuda-12090",
13771        feature = "cuda-13000"
13772    ))]
13773    pub unsafe fn cudaMipmappedArrayGetMemoryRequirements(
13774        memoryRequirements: *mut cudaArrayMemoryRequirements,
13775        mipmap: cudaMipmappedArray_t,
13776        device: ::core::ffi::c_int,
13777    ) -> cudaError_t {
13778        (culib().cudaMipmappedArrayGetMemoryRequirements)(memoryRequirements, mipmap, device)
13779    }
13780    pub unsafe fn cudaMipmappedArrayGetSparseProperties(
13781        sparseProperties: *mut cudaArraySparseProperties,
13782        mipmap: cudaMipmappedArray_t,
13783    ) -> cudaError_t {
13784        (culib().cudaMipmappedArrayGetSparseProperties)(sparseProperties, mipmap)
13785    }
13786    pub unsafe fn cudaOccupancyAvailableDynamicSMemPerBlock(
13787        dynamicSmemSize: *mut usize,
13788        func: *const ::core::ffi::c_void,
13789        numBlocks: ::core::ffi::c_int,
13790        blockSize: ::core::ffi::c_int,
13791    ) -> cudaError_t {
13792        (culib().cudaOccupancyAvailableDynamicSMemPerBlock)(
13793            dynamicSmemSize,
13794            func,
13795            numBlocks,
13796            blockSize,
13797        )
13798    }
13799    pub unsafe fn cudaOccupancyMaxActiveBlocksPerMultiprocessor(
13800        numBlocks: *mut ::core::ffi::c_int,
13801        func: *const ::core::ffi::c_void,
13802        blockSize: ::core::ffi::c_int,
13803        dynamicSMemSize: usize,
13804    ) -> cudaError_t {
13805        (culib().cudaOccupancyMaxActiveBlocksPerMultiprocessor)(
13806            numBlocks,
13807            func,
13808            blockSize,
13809            dynamicSMemSize,
13810        )
13811    }
13812    pub unsafe fn cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
13813        numBlocks: *mut ::core::ffi::c_int,
13814        func: *const ::core::ffi::c_void,
13815        blockSize: ::core::ffi::c_int,
13816        dynamicSMemSize: usize,
13817        flags: ::core::ffi::c_uint,
13818    ) -> cudaError_t {
13819        (culib().cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags)(
13820            numBlocks,
13821            func,
13822            blockSize,
13823            dynamicSMemSize,
13824            flags,
13825        )
13826    }
13827    #[cfg(any(
13828        feature = "cuda-11080",
13829        feature = "cuda-12000",
13830        feature = "cuda-12010",
13831        feature = "cuda-12020",
13832        feature = "cuda-12030",
13833        feature = "cuda-12040",
13834        feature = "cuda-12050",
13835        feature = "cuda-12060",
13836        feature = "cuda-12080",
13837        feature = "cuda-12090",
13838        feature = "cuda-13000"
13839    ))]
13840    pub unsafe fn cudaOccupancyMaxActiveClusters(
13841        numClusters: *mut ::core::ffi::c_int,
13842        func: *const ::core::ffi::c_void,
13843        launchConfig: *const cudaLaunchConfig_t,
13844    ) -> cudaError_t {
13845        (culib().cudaOccupancyMaxActiveClusters)(numClusters, func, launchConfig)
13846    }
13847    #[cfg(any(
13848        feature = "cuda-11080",
13849        feature = "cuda-12000",
13850        feature = "cuda-12010",
13851        feature = "cuda-12020",
13852        feature = "cuda-12030",
13853        feature = "cuda-12040",
13854        feature = "cuda-12050",
13855        feature = "cuda-12060",
13856        feature = "cuda-12080",
13857        feature = "cuda-12090",
13858        feature = "cuda-13000"
13859    ))]
13860    pub unsafe fn cudaOccupancyMaxPotentialClusterSize(
13861        clusterSize: *mut ::core::ffi::c_int,
13862        func: *const ::core::ffi::c_void,
13863        launchConfig: *const cudaLaunchConfig_t,
13864    ) -> cudaError_t {
13865        (culib().cudaOccupancyMaxPotentialClusterSize)(clusterSize, func, launchConfig)
13866    }
13867    pub unsafe fn cudaPeekAtLastError() -> cudaError_t {
13868        (culib().cudaPeekAtLastError)()
13869    }
13870    pub unsafe fn cudaPointerGetAttributes(
13871        attributes: *mut cudaPointerAttributes,
13872        ptr: *const ::core::ffi::c_void,
13873    ) -> cudaError_t {
13874        (culib().cudaPointerGetAttributes)(attributes, ptr)
13875    }
13876    pub unsafe fn cudaProfilerStop() -> cudaError_t {
13877        (culib().cudaProfilerStop)()
13878    }
13879    pub unsafe fn cudaRuntimeGetVersion(runtimeVersion: *mut ::core::ffi::c_int) -> cudaError_t {
13880        (culib().cudaRuntimeGetVersion)(runtimeVersion)
13881    }
13882    pub unsafe fn cudaSetDevice(device: ::core::ffi::c_int) -> cudaError_t {
13883        (culib().cudaSetDevice)(device)
13884    }
13885    pub unsafe fn cudaSetDeviceFlags(flags: ::core::ffi::c_uint) -> cudaError_t {
13886        (culib().cudaSetDeviceFlags)(flags)
13887    }
13888    #[cfg(any(
13889        feature = "cuda-11040",
13890        feature = "cuda-11050",
13891        feature = "cuda-11060",
13892        feature = "cuda-11070",
13893        feature = "cuda-11080",
13894        feature = "cuda-12000",
13895        feature = "cuda-12010",
13896        feature = "cuda-12020",
13897        feature = "cuda-12030",
13898        feature = "cuda-12040",
13899        feature = "cuda-12050",
13900        feature = "cuda-12060",
13901        feature = "cuda-12080",
13902        feature = "cuda-12090"
13903    ))]
13904    pub unsafe fn cudaSetDoubleForDevice(d: *mut f64) -> cudaError_t {
13905        (culib().cudaSetDoubleForDevice)(d)
13906    }
13907    #[cfg(any(
13908        feature = "cuda-11040",
13909        feature = "cuda-11050",
13910        feature = "cuda-11060",
13911        feature = "cuda-11070",
13912        feature = "cuda-11080",
13913        feature = "cuda-12000",
13914        feature = "cuda-12010",
13915        feature = "cuda-12020",
13916        feature = "cuda-12030",
13917        feature = "cuda-12040",
13918        feature = "cuda-12050",
13919        feature = "cuda-12060",
13920        feature = "cuda-12080",
13921        feature = "cuda-12090"
13922    ))]
13923    pub unsafe fn cudaSetDoubleForHost(d: *mut f64) -> cudaError_t {
13924        (culib().cudaSetDoubleForHost)(d)
13925    }
13926    pub unsafe fn cudaSetValidDevices(
13927        device_arr: *mut ::core::ffi::c_int,
13928        len: ::core::ffi::c_int,
13929    ) -> cudaError_t {
13930        (culib().cudaSetValidDevices)(device_arr, len)
13931    }
13932    #[cfg(any(feature = "cuda-13000"))]
13933    pub unsafe fn cudaSignalExternalSemaphoresAsync(
13934        extSemArray: *const cudaExternalSemaphore_t,
13935        paramsArray: *const cudaExternalSemaphoreSignalParams,
13936        numExtSems: ::core::ffi::c_uint,
13937        stream: cudaStream_t,
13938    ) -> cudaError_t {
13939        (culib().cudaSignalExternalSemaphoresAsync)(extSemArray, paramsArray, numExtSems, stream)
13940    }
13941    #[cfg(any(
13942        feature = "cuda-11040",
13943        feature = "cuda-11050",
13944        feature = "cuda-11060",
13945        feature = "cuda-11070",
13946        feature = "cuda-11080",
13947        feature = "cuda-12000",
13948        feature = "cuda-12010",
13949        feature = "cuda-12020",
13950        feature = "cuda-12030",
13951        feature = "cuda-12040",
13952        feature = "cuda-12050",
13953        feature = "cuda-12060",
13954        feature = "cuda-12080",
13955        feature = "cuda-12090"
13956    ))]
13957    pub unsafe fn cudaSignalExternalSemaphoresAsync_v2(
13958        extSemArray: *const cudaExternalSemaphore_t,
13959        paramsArray: *const cudaExternalSemaphoreSignalParams,
13960        numExtSems: ::core::ffi::c_uint,
13961        stream: cudaStream_t,
13962    ) -> cudaError_t {
13963        (culib().cudaSignalExternalSemaphoresAsync_v2)(extSemArray, paramsArray, numExtSems, stream)
13964    }
13965    pub unsafe fn cudaStreamAddCallback(
13966        stream: cudaStream_t,
13967        callback: cudaStreamCallback_t,
13968        userData: *mut ::core::ffi::c_void,
13969        flags: ::core::ffi::c_uint,
13970    ) -> cudaError_t {
13971        (culib().cudaStreamAddCallback)(stream, callback, userData, flags)
13972    }
13973    pub unsafe fn cudaStreamAttachMemAsync(
13974        stream: cudaStream_t,
13975        devPtr: *mut ::core::ffi::c_void,
13976        length: usize,
13977        flags: ::core::ffi::c_uint,
13978    ) -> cudaError_t {
13979        (culib().cudaStreamAttachMemAsync)(stream, devPtr, length, flags)
13980    }
13981    pub unsafe fn cudaStreamBeginCapture(
13982        stream: cudaStream_t,
13983        mode: cudaStreamCaptureMode,
13984    ) -> cudaError_t {
13985        (culib().cudaStreamBeginCapture)(stream, mode)
13986    }
13987    #[cfg(any(
13988        feature = "cuda-12030",
13989        feature = "cuda-12040",
13990        feature = "cuda-12050",
13991        feature = "cuda-12060",
13992        feature = "cuda-12080",
13993        feature = "cuda-12090",
13994        feature = "cuda-13000"
13995    ))]
13996    pub unsafe fn cudaStreamBeginCaptureToGraph(
13997        stream: cudaStream_t,
13998        graph: cudaGraph_t,
13999        dependencies: *const cudaGraphNode_t,
14000        dependencyData: *const cudaGraphEdgeData,
14001        numDependencies: usize,
14002        mode: cudaStreamCaptureMode,
14003    ) -> cudaError_t {
14004        (culib().cudaStreamBeginCaptureToGraph)(
14005            stream,
14006            graph,
14007            dependencies,
14008            dependencyData,
14009            numDependencies,
14010            mode,
14011        )
14012    }
14013    pub unsafe fn cudaStreamCopyAttributes(dst: cudaStream_t, src: cudaStream_t) -> cudaError_t {
14014        (culib().cudaStreamCopyAttributes)(dst, src)
14015    }
14016    pub unsafe fn cudaStreamCreate(pStream: *mut cudaStream_t) -> cudaError_t {
14017        (culib().cudaStreamCreate)(pStream)
14018    }
14019    pub unsafe fn cudaStreamCreateWithFlags(
14020        pStream: *mut cudaStream_t,
14021        flags: ::core::ffi::c_uint,
14022    ) -> cudaError_t {
14023        (culib().cudaStreamCreateWithFlags)(pStream, flags)
14024    }
14025    pub unsafe fn cudaStreamCreateWithPriority(
14026        pStream: *mut cudaStream_t,
14027        flags: ::core::ffi::c_uint,
14028        priority: ::core::ffi::c_int,
14029    ) -> cudaError_t {
14030        (culib().cudaStreamCreateWithPriority)(pStream, flags, priority)
14031    }
14032    pub unsafe fn cudaStreamDestroy(stream: cudaStream_t) -> cudaError_t {
14033        (culib().cudaStreamDestroy)(stream)
14034    }
14035    pub unsafe fn cudaStreamEndCapture(
14036        stream: cudaStream_t,
14037        pGraph: *mut cudaGraph_t,
14038    ) -> cudaError_t {
14039        (culib().cudaStreamEndCapture)(stream, pGraph)
14040    }
14041    #[cfg(any(
14042        feature = "cuda-11040",
14043        feature = "cuda-11050",
14044        feature = "cuda-11060",
14045        feature = "cuda-11070"
14046    ))]
14047    pub unsafe fn cudaStreamGetAttribute(
14048        hStream: cudaStream_t,
14049        attr: cudaStreamAttrID,
14050        value_out: *mut cudaStreamAttrValue,
14051    ) -> cudaError_t {
14052        (culib().cudaStreamGetAttribute)(hStream, attr, value_out)
14053    }
14054    #[cfg(any(
14055        feature = "cuda-11080",
14056        feature = "cuda-12000",
14057        feature = "cuda-12010",
14058        feature = "cuda-12020",
14059        feature = "cuda-12030",
14060        feature = "cuda-12040",
14061        feature = "cuda-12050",
14062        feature = "cuda-12060",
14063        feature = "cuda-12080",
14064        feature = "cuda-12090",
14065        feature = "cuda-13000"
14066    ))]
14067    pub unsafe fn cudaStreamGetAttribute(
14068        hStream: cudaStream_t,
14069        attr: cudaLaunchAttributeID,
14070        value_out: *mut cudaLaunchAttributeValue,
14071    ) -> cudaError_t {
14072        (culib().cudaStreamGetAttribute)(hStream, attr, value_out)
14073    }
14074    #[cfg(any(
14075        feature = "cuda-11040",
14076        feature = "cuda-11050",
14077        feature = "cuda-11060",
14078        feature = "cuda-11070",
14079        feature = "cuda-11080"
14080    ))]
14081    pub unsafe fn cudaStreamGetCaptureInfo(
14082        stream: cudaStream_t,
14083        pCaptureStatus: *mut cudaStreamCaptureStatus,
14084        pId: *mut ::core::ffi::c_ulonglong,
14085    ) -> cudaError_t {
14086        (culib().cudaStreamGetCaptureInfo)(stream, pCaptureStatus, pId)
14087    }
14088    #[cfg(any(feature = "cuda-13000"))]
14089    pub unsafe fn cudaStreamGetCaptureInfo(
14090        stream: cudaStream_t,
14091        captureStatus_out: *mut cudaStreamCaptureStatus,
14092        id_out: *mut ::core::ffi::c_ulonglong,
14093        graph_out: *mut cudaGraph_t,
14094        dependencies_out: *mut *const cudaGraphNode_t,
14095        edgeData_out: *mut *const cudaGraphEdgeData,
14096        numDependencies_out: *mut usize,
14097    ) -> cudaError_t {
14098        (culib().cudaStreamGetCaptureInfo)(
14099            stream,
14100            captureStatus_out,
14101            id_out,
14102            graph_out,
14103            dependencies_out,
14104            edgeData_out,
14105            numDependencies_out,
14106        )
14107    }
14108    #[cfg(any(
14109        feature = "cuda-11040",
14110        feature = "cuda-11050",
14111        feature = "cuda-11060",
14112        feature = "cuda-11070",
14113        feature = "cuda-11080",
14114        feature = "cuda-12000",
14115        feature = "cuda-12010",
14116        feature = "cuda-12020",
14117        feature = "cuda-12030",
14118        feature = "cuda-12040",
14119        feature = "cuda-12050",
14120        feature = "cuda-12060",
14121        feature = "cuda-12080",
14122        feature = "cuda-12090"
14123    ))]
14124    pub unsafe fn cudaStreamGetCaptureInfo_v2(
14125        stream: cudaStream_t,
14126        captureStatus_out: *mut cudaStreamCaptureStatus,
14127        id_out: *mut ::core::ffi::c_ulonglong,
14128        graph_out: *mut cudaGraph_t,
14129        dependencies_out: *mut *const cudaGraphNode_t,
14130        numDependencies_out: *mut usize,
14131    ) -> cudaError_t {
14132        (culib().cudaStreamGetCaptureInfo_v2)(
14133            stream,
14134            captureStatus_out,
14135            id_out,
14136            graph_out,
14137            dependencies_out,
14138            numDependencies_out,
14139        )
14140    }
14141    #[cfg(any(
14142        feature = "cuda-12030",
14143        feature = "cuda-12040",
14144        feature = "cuda-12050",
14145        feature = "cuda-12060",
14146        feature = "cuda-12080",
14147        feature = "cuda-12090"
14148    ))]
14149    pub unsafe fn cudaStreamGetCaptureInfo_v3(
14150        stream: cudaStream_t,
14151        captureStatus_out: *mut cudaStreamCaptureStatus,
14152        id_out: *mut ::core::ffi::c_ulonglong,
14153        graph_out: *mut cudaGraph_t,
14154        dependencies_out: *mut *const cudaGraphNode_t,
14155        edgeData_out: *mut *const cudaGraphEdgeData,
14156        numDependencies_out: *mut usize,
14157    ) -> cudaError_t {
14158        (culib().cudaStreamGetCaptureInfo_v3)(
14159            stream,
14160            captureStatus_out,
14161            id_out,
14162            graph_out,
14163            dependencies_out,
14164            edgeData_out,
14165            numDependencies_out,
14166        )
14167    }
14168    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
14169    pub unsafe fn cudaStreamGetDevice(
14170        hStream: cudaStream_t,
14171        device: *mut ::core::ffi::c_int,
14172    ) -> cudaError_t {
14173        (culib().cudaStreamGetDevice)(hStream, device)
14174    }
14175    pub unsafe fn cudaStreamGetFlags(
14176        hStream: cudaStream_t,
14177        flags: *mut ::core::ffi::c_uint,
14178    ) -> cudaError_t {
14179        (culib().cudaStreamGetFlags)(hStream, flags)
14180    }
14181    #[cfg(any(
14182        feature = "cuda-12000",
14183        feature = "cuda-12010",
14184        feature = "cuda-12020",
14185        feature = "cuda-12030",
14186        feature = "cuda-12040",
14187        feature = "cuda-12050",
14188        feature = "cuda-12060",
14189        feature = "cuda-12080",
14190        feature = "cuda-12090",
14191        feature = "cuda-13000"
14192    ))]
14193    pub unsafe fn cudaStreamGetId(
14194        hStream: cudaStream_t,
14195        streamId: *mut ::core::ffi::c_ulonglong,
14196    ) -> cudaError_t {
14197        (culib().cudaStreamGetId)(hStream, streamId)
14198    }
14199    pub unsafe fn cudaStreamGetPriority(
14200        hStream: cudaStream_t,
14201        priority: *mut ::core::ffi::c_int,
14202    ) -> cudaError_t {
14203        (culib().cudaStreamGetPriority)(hStream, priority)
14204    }
14205    pub unsafe fn cudaStreamIsCapturing(
14206        stream: cudaStream_t,
14207        pCaptureStatus: *mut cudaStreamCaptureStatus,
14208    ) -> cudaError_t {
14209        (culib().cudaStreamIsCapturing)(stream, pCaptureStatus)
14210    }
14211    pub unsafe fn cudaStreamQuery(stream: cudaStream_t) -> cudaError_t {
14212        (culib().cudaStreamQuery)(stream)
14213    }
14214    #[cfg(any(
14215        feature = "cuda-11040",
14216        feature = "cuda-11050",
14217        feature = "cuda-11060",
14218        feature = "cuda-11070"
14219    ))]
14220    pub unsafe fn cudaStreamSetAttribute(
14221        hStream: cudaStream_t,
14222        attr: cudaStreamAttrID,
14223        value: *const cudaStreamAttrValue,
14224    ) -> cudaError_t {
14225        (culib().cudaStreamSetAttribute)(hStream, attr, value)
14226    }
14227    #[cfg(any(
14228        feature = "cuda-11080",
14229        feature = "cuda-12000",
14230        feature = "cuda-12010",
14231        feature = "cuda-12020",
14232        feature = "cuda-12030",
14233        feature = "cuda-12040",
14234        feature = "cuda-12050",
14235        feature = "cuda-12060",
14236        feature = "cuda-12080",
14237        feature = "cuda-12090",
14238        feature = "cuda-13000"
14239    ))]
14240    pub unsafe fn cudaStreamSetAttribute(
14241        hStream: cudaStream_t,
14242        attr: cudaLaunchAttributeID,
14243        value: *const cudaLaunchAttributeValue,
14244    ) -> cudaError_t {
14245        (culib().cudaStreamSetAttribute)(hStream, attr, value)
14246    }
14247    pub unsafe fn cudaStreamSynchronize(stream: cudaStream_t) -> cudaError_t {
14248        (culib().cudaStreamSynchronize)(stream)
14249    }
14250    #[cfg(any(
14251        feature = "cuda-11040",
14252        feature = "cuda-11050",
14253        feature = "cuda-11060",
14254        feature = "cuda-11070",
14255        feature = "cuda-11080",
14256        feature = "cuda-12000",
14257        feature = "cuda-12010",
14258        feature = "cuda-12020",
14259        feature = "cuda-12030",
14260        feature = "cuda-12040",
14261        feature = "cuda-12050",
14262        feature = "cuda-12060",
14263        feature = "cuda-12080",
14264        feature = "cuda-12090"
14265    ))]
14266    pub unsafe fn cudaStreamUpdateCaptureDependencies(
14267        stream: cudaStream_t,
14268        dependencies: *mut cudaGraphNode_t,
14269        numDependencies: usize,
14270        flags: ::core::ffi::c_uint,
14271    ) -> cudaError_t {
14272        (culib().cudaStreamUpdateCaptureDependencies)(stream, dependencies, numDependencies, flags)
14273    }
14274    #[cfg(any(feature = "cuda-13000"))]
14275    pub unsafe fn cudaStreamUpdateCaptureDependencies(
14276        stream: cudaStream_t,
14277        dependencies: *mut cudaGraphNode_t,
14278        dependencyData: *const cudaGraphEdgeData,
14279        numDependencies: usize,
14280        flags: ::core::ffi::c_uint,
14281    ) -> cudaError_t {
14282        (culib().cudaStreamUpdateCaptureDependencies)(
14283            stream,
14284            dependencies,
14285            dependencyData,
14286            numDependencies,
14287            flags,
14288        )
14289    }
14290    #[cfg(any(
14291        feature = "cuda-12030",
14292        feature = "cuda-12040",
14293        feature = "cuda-12050",
14294        feature = "cuda-12060",
14295        feature = "cuda-12080",
14296        feature = "cuda-12090"
14297    ))]
14298    pub unsafe fn cudaStreamUpdateCaptureDependencies_v2(
14299        stream: cudaStream_t,
14300        dependencies: *mut cudaGraphNode_t,
14301        dependencyData: *const cudaGraphEdgeData,
14302        numDependencies: usize,
14303        flags: ::core::ffi::c_uint,
14304    ) -> cudaError_t {
14305        (culib().cudaStreamUpdateCaptureDependencies_v2)(
14306            stream,
14307            dependencies,
14308            dependencyData,
14309            numDependencies,
14310            flags,
14311        )
14312    }
14313    pub unsafe fn cudaStreamWaitEvent(
14314        stream: cudaStream_t,
14315        event: cudaEvent_t,
14316        flags: ::core::ffi::c_uint,
14317    ) -> cudaError_t {
14318        (culib().cudaStreamWaitEvent)(stream, event, flags)
14319    }
14320    pub unsafe fn cudaThreadExchangeStreamCaptureMode(
14321        mode: *mut cudaStreamCaptureMode,
14322    ) -> cudaError_t {
14323        (culib().cudaThreadExchangeStreamCaptureMode)(mode)
14324    }
14325    #[cfg(any(
14326        feature = "cuda-11040",
14327        feature = "cuda-11050",
14328        feature = "cuda-11060",
14329        feature = "cuda-11070",
14330        feature = "cuda-11080",
14331        feature = "cuda-12000",
14332        feature = "cuda-12010",
14333        feature = "cuda-12020",
14334        feature = "cuda-12030",
14335        feature = "cuda-12040",
14336        feature = "cuda-12050",
14337        feature = "cuda-12060",
14338        feature = "cuda-12080",
14339        feature = "cuda-12090"
14340    ))]
14341    pub unsafe fn cudaThreadExit() -> cudaError_t {
14342        (culib().cudaThreadExit)()
14343    }
14344    #[cfg(any(
14345        feature = "cuda-11040",
14346        feature = "cuda-11050",
14347        feature = "cuda-11060",
14348        feature = "cuda-11070",
14349        feature = "cuda-11080",
14350        feature = "cuda-12000",
14351        feature = "cuda-12010",
14352        feature = "cuda-12020",
14353        feature = "cuda-12030",
14354        feature = "cuda-12040",
14355        feature = "cuda-12050",
14356        feature = "cuda-12060",
14357        feature = "cuda-12080",
14358        feature = "cuda-12090"
14359    ))]
14360    pub unsafe fn cudaThreadGetCacheConfig(pCacheConfig: *mut cudaFuncCache) -> cudaError_t {
14361        (culib().cudaThreadGetCacheConfig)(pCacheConfig)
14362    }
14363    #[cfg(any(
14364        feature = "cuda-11040",
14365        feature = "cuda-11050",
14366        feature = "cuda-11060",
14367        feature = "cuda-11070",
14368        feature = "cuda-11080",
14369        feature = "cuda-12000",
14370        feature = "cuda-12010",
14371        feature = "cuda-12020",
14372        feature = "cuda-12030",
14373        feature = "cuda-12040",
14374        feature = "cuda-12050",
14375        feature = "cuda-12060",
14376        feature = "cuda-12080",
14377        feature = "cuda-12090"
14378    ))]
14379    pub unsafe fn cudaThreadGetLimit(pValue: *mut usize, limit: cudaLimit) -> cudaError_t {
14380        (culib().cudaThreadGetLimit)(pValue, limit)
14381    }
14382    #[cfg(any(
14383        feature = "cuda-11040",
14384        feature = "cuda-11050",
14385        feature = "cuda-11060",
14386        feature = "cuda-11070",
14387        feature = "cuda-11080",
14388        feature = "cuda-12000",
14389        feature = "cuda-12010",
14390        feature = "cuda-12020",
14391        feature = "cuda-12030",
14392        feature = "cuda-12040",
14393        feature = "cuda-12050",
14394        feature = "cuda-12060",
14395        feature = "cuda-12080",
14396        feature = "cuda-12090"
14397    ))]
14398    pub unsafe fn cudaThreadSetCacheConfig(cacheConfig: cudaFuncCache) -> cudaError_t {
14399        (culib().cudaThreadSetCacheConfig)(cacheConfig)
14400    }
14401    #[cfg(any(
14402        feature = "cuda-11040",
14403        feature = "cuda-11050",
14404        feature = "cuda-11060",
14405        feature = "cuda-11070",
14406        feature = "cuda-11080",
14407        feature = "cuda-12000",
14408        feature = "cuda-12010",
14409        feature = "cuda-12020",
14410        feature = "cuda-12030",
14411        feature = "cuda-12040",
14412        feature = "cuda-12050",
14413        feature = "cuda-12060",
14414        feature = "cuda-12080",
14415        feature = "cuda-12090"
14416    ))]
14417    pub unsafe fn cudaThreadSetLimit(limit: cudaLimit, value: usize) -> cudaError_t {
14418        (culib().cudaThreadSetLimit)(limit, value)
14419    }
14420    #[cfg(any(
14421        feature = "cuda-11040",
14422        feature = "cuda-11050",
14423        feature = "cuda-11060",
14424        feature = "cuda-11070",
14425        feature = "cuda-11080",
14426        feature = "cuda-12000",
14427        feature = "cuda-12010",
14428        feature = "cuda-12020",
14429        feature = "cuda-12030",
14430        feature = "cuda-12040",
14431        feature = "cuda-12050",
14432        feature = "cuda-12060",
14433        feature = "cuda-12080",
14434        feature = "cuda-12090"
14435    ))]
14436    pub unsafe fn cudaThreadSynchronize() -> cudaError_t {
14437        (culib().cudaThreadSynchronize)()
14438    }
14439    #[cfg(any(
14440        feature = "cuda-11040",
14441        feature = "cuda-11050",
14442        feature = "cuda-11060",
14443        feature = "cuda-11070",
14444        feature = "cuda-11080"
14445    ))]
14446    pub unsafe fn cudaUnbindTexture(texref: *const textureReference) -> cudaError_t {
14447        (culib().cudaUnbindTexture)(texref)
14448    }
14449    pub unsafe fn cudaUserObjectCreate(
14450        object_out: *mut cudaUserObject_t,
14451        ptr: *mut ::core::ffi::c_void,
14452        destroy: cudaHostFn_t,
14453        initialRefcount: ::core::ffi::c_uint,
14454        flags: ::core::ffi::c_uint,
14455    ) -> cudaError_t {
14456        (culib().cudaUserObjectCreate)(object_out, ptr, destroy, initialRefcount, flags)
14457    }
14458    pub unsafe fn cudaUserObjectRelease(
14459        object: cudaUserObject_t,
14460        count: ::core::ffi::c_uint,
14461    ) -> cudaError_t {
14462        (culib().cudaUserObjectRelease)(object, count)
14463    }
14464    pub unsafe fn cudaUserObjectRetain(
14465        object: cudaUserObject_t,
14466        count: ::core::ffi::c_uint,
14467    ) -> cudaError_t {
14468        (culib().cudaUserObjectRetain)(object, count)
14469    }
14470    #[cfg(any(feature = "cuda-13000"))]
14471    pub unsafe fn cudaWaitExternalSemaphoresAsync(
14472        extSemArray: *const cudaExternalSemaphore_t,
14473        paramsArray: *const cudaExternalSemaphoreWaitParams,
14474        numExtSems: ::core::ffi::c_uint,
14475        stream: cudaStream_t,
14476    ) -> cudaError_t {
14477        (culib().cudaWaitExternalSemaphoresAsync)(extSemArray, paramsArray, numExtSems, stream)
14478    }
14479    #[cfg(any(
14480        feature = "cuda-11040",
14481        feature = "cuda-11050",
14482        feature = "cuda-11060",
14483        feature = "cuda-11070",
14484        feature = "cuda-11080",
14485        feature = "cuda-12000",
14486        feature = "cuda-12010",
14487        feature = "cuda-12020",
14488        feature = "cuda-12030",
14489        feature = "cuda-12040",
14490        feature = "cuda-12050",
14491        feature = "cuda-12060",
14492        feature = "cuda-12080",
14493        feature = "cuda-12090"
14494    ))]
14495    pub unsafe fn cudaWaitExternalSemaphoresAsync_v2(
14496        extSemArray: *const cudaExternalSemaphore_t,
14497        paramsArray: *const cudaExternalSemaphoreWaitParams,
14498        numExtSems: ::core::ffi::c_uint,
14499        stream: cudaStream_t,
14500    ) -> cudaError_t {
14501        (culib().cudaWaitExternalSemaphoresAsync_v2)(extSemArray, paramsArray, numExtSems, stream)
14502    }
14503    pub struct Lib {
14504        __library: ::libloading::Library,
14505        pub cudaArrayGetInfo: unsafe extern "C" fn(
14506            desc: *mut cudaChannelFormatDesc,
14507            extent: *mut cudaExtent,
14508            flags: *mut ::core::ffi::c_uint,
14509            array: cudaArray_t,
14510        ) -> cudaError_t,
14511        #[cfg(any(
14512            feature = "cuda-11060",
14513            feature = "cuda-11070",
14514            feature = "cuda-11080",
14515            feature = "cuda-12000",
14516            feature = "cuda-12010",
14517            feature = "cuda-12020",
14518            feature = "cuda-12030",
14519            feature = "cuda-12040",
14520            feature = "cuda-12050",
14521            feature = "cuda-12060",
14522            feature = "cuda-12080",
14523            feature = "cuda-12090",
14524            feature = "cuda-13000"
14525        ))]
14526        pub cudaArrayGetMemoryRequirements: unsafe extern "C" fn(
14527            memoryRequirements: *mut cudaArrayMemoryRequirements,
14528            array: cudaArray_t,
14529            device: ::core::ffi::c_int,
14530        ) -> cudaError_t,
14531        pub cudaArrayGetPlane: unsafe extern "C" fn(
14532            pPlaneArray: *mut cudaArray_t,
14533            hArray: cudaArray_t,
14534            planeIdx: ::core::ffi::c_uint,
14535        ) -> cudaError_t,
14536        pub cudaArrayGetSparseProperties: unsafe extern "C" fn(
14537            sparseProperties: *mut cudaArraySparseProperties,
14538            array: cudaArray_t,
14539        ) -> cudaError_t,
14540        #[cfg(any(
14541            feature = "cuda-11040",
14542            feature = "cuda-11050",
14543            feature = "cuda-11060",
14544            feature = "cuda-11070",
14545            feature = "cuda-11080"
14546        ))]
14547        pub cudaBindSurfaceToArray: unsafe extern "C" fn(
14548            surfref: *const surfaceReference,
14549            array: cudaArray_const_t,
14550            desc: *const cudaChannelFormatDesc,
14551        ) -> cudaError_t,
14552        #[cfg(any(
14553            feature = "cuda-11040",
14554            feature = "cuda-11050",
14555            feature = "cuda-11060",
14556            feature = "cuda-11070",
14557            feature = "cuda-11080"
14558        ))]
14559        pub cudaBindTexture: unsafe extern "C" fn(
14560            offset: *mut usize,
14561            texref: *const textureReference,
14562            devPtr: *const ::core::ffi::c_void,
14563            desc: *const cudaChannelFormatDesc,
14564            size: usize,
14565        ) -> cudaError_t,
14566        #[cfg(any(
14567            feature = "cuda-11040",
14568            feature = "cuda-11050",
14569            feature = "cuda-11060",
14570            feature = "cuda-11070",
14571            feature = "cuda-11080"
14572        ))]
14573        pub cudaBindTexture2D: unsafe extern "C" fn(
14574            offset: *mut usize,
14575            texref: *const textureReference,
14576            devPtr: *const ::core::ffi::c_void,
14577            desc: *const cudaChannelFormatDesc,
14578            width: usize,
14579            height: usize,
14580            pitch: usize,
14581        ) -> cudaError_t,
14582        #[cfg(any(
14583            feature = "cuda-11040",
14584            feature = "cuda-11050",
14585            feature = "cuda-11060",
14586            feature = "cuda-11070",
14587            feature = "cuda-11080"
14588        ))]
14589        pub cudaBindTextureToArray: unsafe extern "C" fn(
14590            texref: *const textureReference,
14591            array: cudaArray_const_t,
14592            desc: *const cudaChannelFormatDesc,
14593        ) -> cudaError_t,
14594        #[cfg(any(
14595            feature = "cuda-11040",
14596            feature = "cuda-11050",
14597            feature = "cuda-11060",
14598            feature = "cuda-11070",
14599            feature = "cuda-11080"
14600        ))]
14601        pub cudaBindTextureToMipmappedArray: unsafe extern "C" fn(
14602            texref: *const textureReference,
14603            mipmappedArray: cudaMipmappedArray_const_t,
14604            desc: *const cudaChannelFormatDesc,
14605        ) -> cudaError_t,
14606        pub cudaChooseDevice: unsafe extern "C" fn(
14607            device: *mut ::core::ffi::c_int,
14608            prop: *const cudaDeviceProp,
14609        ) -> cudaError_t,
14610        pub cudaCreateChannelDesc: unsafe extern "C" fn(
14611            x: ::core::ffi::c_int,
14612            y: ::core::ffi::c_int,
14613            z: ::core::ffi::c_int,
14614            w: ::core::ffi::c_int,
14615            f: cudaChannelFormatKind,
14616        ) -> cudaChannelFormatDesc,
14617        pub cudaCreateSurfaceObject: unsafe extern "C" fn(
14618            pSurfObject: *mut cudaSurfaceObject_t,
14619            pResDesc: *const cudaResourceDesc,
14620        ) -> cudaError_t,
14621        pub cudaCreateTextureObject: unsafe extern "C" fn(
14622            pTexObject: *mut cudaTextureObject_t,
14623            pResDesc: *const cudaResourceDesc,
14624            pTexDesc: *const cudaTextureDesc,
14625            pResViewDesc: *const cudaResourceViewDesc,
14626        ) -> cudaError_t,
14627        #[cfg(any(feature = "cuda-11080"))]
14628        pub cudaCreateTextureObject_v2: unsafe extern "C" fn(
14629            pTexObject: *mut cudaTextureObject_t,
14630            pResDesc: *const cudaResourceDesc,
14631            pTexDesc: *const cudaTextureDesc_v2,
14632            pResViewDesc: *const cudaResourceViewDesc,
14633        ) -> cudaError_t,
14634        pub cudaCtxResetPersistingL2Cache: unsafe extern "C" fn() -> cudaError_t,
14635        pub cudaDestroyExternalMemory:
14636            unsafe extern "C" fn(extMem: cudaExternalMemory_t) -> cudaError_t,
14637        pub cudaDestroyExternalSemaphore:
14638            unsafe extern "C" fn(extSem: cudaExternalSemaphore_t) -> cudaError_t,
14639        pub cudaDestroySurfaceObject:
14640            unsafe extern "C" fn(surfObject: cudaSurfaceObject_t) -> cudaError_t,
14641        pub cudaDestroyTextureObject:
14642            unsafe extern "C" fn(texObject: cudaTextureObject_t) -> cudaError_t,
14643        pub cudaDeviceCanAccessPeer: unsafe extern "C" fn(
14644            canAccessPeer: *mut ::core::ffi::c_int,
14645            device: ::core::ffi::c_int,
14646            peerDevice: ::core::ffi::c_int,
14647        ) -> cudaError_t,
14648        pub cudaDeviceDisablePeerAccess:
14649            unsafe extern "C" fn(peerDevice: ::core::ffi::c_int) -> cudaError_t,
14650        pub cudaDeviceEnablePeerAccess: unsafe extern "C" fn(
14651            peerDevice: ::core::ffi::c_int,
14652            flags: ::core::ffi::c_uint,
14653        ) -> cudaError_t,
14654        pub cudaDeviceFlushGPUDirectRDMAWrites: unsafe extern "C" fn(
14655            target: cudaFlushGPUDirectRDMAWritesTarget,
14656            scope: cudaFlushGPUDirectRDMAWritesScope,
14657        ) -> cudaError_t,
14658        pub cudaDeviceGetAttribute: unsafe extern "C" fn(
14659            value: *mut ::core::ffi::c_int,
14660            attr: cudaDeviceAttr,
14661            device: ::core::ffi::c_int,
14662        ) -> cudaError_t,
14663        pub cudaDeviceGetByPCIBusId: unsafe extern "C" fn(
14664            device: *mut ::core::ffi::c_int,
14665            pciBusId: *const ::core::ffi::c_char,
14666        ) -> cudaError_t,
14667        pub cudaDeviceGetCacheConfig:
14668            unsafe extern "C" fn(pCacheConfig: *mut cudaFuncCache) -> cudaError_t,
14669        pub cudaDeviceGetDefaultMemPool: unsafe extern "C" fn(
14670            memPool: *mut cudaMemPool_t,
14671            device: ::core::ffi::c_int,
14672        ) -> cudaError_t,
14673        pub cudaDeviceGetGraphMemAttribute: unsafe extern "C" fn(
14674            device: ::core::ffi::c_int,
14675            attr: cudaGraphMemAttributeType,
14676            value: *mut ::core::ffi::c_void,
14677        ) -> cudaError_t,
14678        #[cfg(any(feature = "cuda-13000"))]
14679        pub cudaDeviceGetHostAtomicCapabilities: unsafe extern "C" fn(
14680            capabilities: *mut ::core::ffi::c_uint,
14681            operations: *const cudaAtomicOperation,
14682            count: ::core::ffi::c_uint,
14683            device: ::core::ffi::c_int,
14684        ) -> cudaError_t,
14685        pub cudaDeviceGetLimit:
14686            unsafe extern "C" fn(pValue: *mut usize, limit: cudaLimit) -> cudaError_t,
14687        pub cudaDeviceGetMemPool: unsafe extern "C" fn(
14688            memPool: *mut cudaMemPool_t,
14689            device: ::core::ffi::c_int,
14690        ) -> cudaError_t,
14691        #[cfg(any(feature = "cuda-13000"))]
14692        pub cudaDeviceGetP2PAtomicCapabilities: unsafe extern "C" fn(
14693            capabilities: *mut ::core::ffi::c_uint,
14694            operations: *const cudaAtomicOperation,
14695            count: ::core::ffi::c_uint,
14696            srcDevice: ::core::ffi::c_int,
14697            dstDevice: ::core::ffi::c_int,
14698        ) -> cudaError_t,
14699        pub cudaDeviceGetP2PAttribute: unsafe extern "C" fn(
14700            value: *mut ::core::ffi::c_int,
14701            attr: cudaDeviceP2PAttr,
14702            srcDevice: ::core::ffi::c_int,
14703            dstDevice: ::core::ffi::c_int,
14704        ) -> cudaError_t,
14705        pub cudaDeviceGetPCIBusId: unsafe extern "C" fn(
14706            pciBusId: *mut ::core::ffi::c_char,
14707            len: ::core::ffi::c_int,
14708            device: ::core::ffi::c_int,
14709        ) -> cudaError_t,
14710        pub cudaDeviceGetSharedMemConfig:
14711            unsafe extern "C" fn(pConfig: *mut cudaSharedMemConfig) -> cudaError_t,
14712        pub cudaDeviceGetStreamPriorityRange: unsafe extern "C" fn(
14713            leastPriority: *mut ::core::ffi::c_int,
14714            greatestPriority: *mut ::core::ffi::c_int,
14715        ) -> cudaError_t,
14716        pub cudaDeviceGetTexture1DLinearMaxWidth: unsafe extern "C" fn(
14717            maxWidthInElements: *mut usize,
14718            fmtDesc: *const cudaChannelFormatDesc,
14719            device: ::core::ffi::c_int,
14720        ) -> cudaError_t,
14721        pub cudaDeviceGraphMemTrim: unsafe extern "C" fn(device: ::core::ffi::c_int) -> cudaError_t,
14722        #[cfg(any(
14723            feature = "cuda-12040",
14724            feature = "cuda-12050",
14725            feature = "cuda-12060",
14726            feature = "cuda-12080",
14727            feature = "cuda-12090",
14728            feature = "cuda-13000"
14729        ))]
14730        pub cudaDeviceRegisterAsyncNotification: unsafe extern "C" fn(
14731            device: ::core::ffi::c_int,
14732            callbackFunc: cudaAsyncCallback,
14733            userData: *mut ::core::ffi::c_void,
14734            callback: *mut cudaAsyncCallbackHandle_t,
14735        ) -> cudaError_t,
14736        pub cudaDeviceReset: unsafe extern "C" fn() -> cudaError_t,
14737        pub cudaDeviceSetCacheConfig:
14738            unsafe extern "C" fn(cacheConfig: cudaFuncCache) -> cudaError_t,
14739        pub cudaDeviceSetGraphMemAttribute: unsafe extern "C" fn(
14740            device: ::core::ffi::c_int,
14741            attr: cudaGraphMemAttributeType,
14742            value: *mut ::core::ffi::c_void,
14743        ) -> cudaError_t,
14744        pub cudaDeviceSetLimit: unsafe extern "C" fn(limit: cudaLimit, value: usize) -> cudaError_t,
14745        pub cudaDeviceSetMemPool:
14746            unsafe extern "C" fn(device: ::core::ffi::c_int, memPool: cudaMemPool_t) -> cudaError_t,
14747        pub cudaDeviceSetSharedMemConfig:
14748            unsafe extern "C" fn(config: cudaSharedMemConfig) -> cudaError_t,
14749        pub cudaDeviceSynchronize: unsafe extern "C" fn() -> cudaError_t,
14750        #[cfg(any(
14751            feature = "cuda-12040",
14752            feature = "cuda-12050",
14753            feature = "cuda-12060",
14754            feature = "cuda-12080",
14755            feature = "cuda-12090",
14756            feature = "cuda-13000"
14757        ))]
14758        pub cudaDeviceUnregisterAsyncNotification: unsafe extern "C" fn(
14759            device: ::core::ffi::c_int,
14760            callback: cudaAsyncCallbackHandle_t,
14761        ) -> cudaError_t,
14762        pub cudaDriverGetVersion:
14763            unsafe extern "C" fn(driverVersion: *mut ::core::ffi::c_int) -> cudaError_t,
14764        pub cudaEventCreate: unsafe extern "C" fn(event: *mut cudaEvent_t) -> cudaError_t,
14765        pub cudaEventCreateWithFlags: unsafe extern "C" fn(
14766            event: *mut cudaEvent_t,
14767            flags: ::core::ffi::c_uint,
14768        ) -> cudaError_t,
14769        pub cudaEventDestroy: unsafe extern "C" fn(event: cudaEvent_t) -> cudaError_t,
14770        pub cudaEventElapsedTime:
14771            unsafe extern "C" fn(ms: *mut f32, start: cudaEvent_t, end: cudaEvent_t) -> cudaError_t,
14772        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
14773        pub cudaEventElapsedTime_v2:
14774            unsafe extern "C" fn(ms: *mut f32, start: cudaEvent_t, end: cudaEvent_t) -> cudaError_t,
14775        pub cudaEventQuery: unsafe extern "C" fn(event: cudaEvent_t) -> cudaError_t,
14776        pub cudaEventRecord:
14777            unsafe extern "C" fn(event: cudaEvent_t, stream: cudaStream_t) -> cudaError_t,
14778        pub cudaEventRecordWithFlags: unsafe extern "C" fn(
14779            event: cudaEvent_t,
14780            stream: cudaStream_t,
14781            flags: ::core::ffi::c_uint,
14782        ) -> cudaError_t,
14783        pub cudaEventSynchronize: unsafe extern "C" fn(event: cudaEvent_t) -> cudaError_t,
14784        pub cudaExternalMemoryGetMappedBuffer: unsafe extern "C" fn(
14785            devPtr: *mut *mut ::core::ffi::c_void,
14786            extMem: cudaExternalMemory_t,
14787            bufferDesc: *const cudaExternalMemoryBufferDesc,
14788        ) -> cudaError_t,
14789        pub cudaExternalMemoryGetMappedMipmappedArray: unsafe extern "C" fn(
14790            mipmap: *mut cudaMipmappedArray_t,
14791            extMem: cudaExternalMemory_t,
14792            mipmapDesc: *const cudaExternalMemoryMipmappedArrayDesc,
14793        ) -> cudaError_t,
14794        pub cudaFree: unsafe extern "C" fn(devPtr: *mut ::core::ffi::c_void) -> cudaError_t,
14795        pub cudaFreeArray: unsafe extern "C" fn(array: cudaArray_t) -> cudaError_t,
14796        pub cudaFreeAsync: unsafe extern "C" fn(
14797            devPtr: *mut ::core::ffi::c_void,
14798            hStream: cudaStream_t,
14799        ) -> cudaError_t,
14800        pub cudaFreeHost: unsafe extern "C" fn(ptr: *mut ::core::ffi::c_void) -> cudaError_t,
14801        pub cudaFreeMipmappedArray:
14802            unsafe extern "C" fn(mipmappedArray: cudaMipmappedArray_t) -> cudaError_t,
14803        pub cudaFuncGetAttributes: unsafe extern "C" fn(
14804            attr: *mut cudaFuncAttributes,
14805            func: *const ::core::ffi::c_void,
14806        ) -> cudaError_t,
14807        #[cfg(any(
14808            feature = "cuda-12030",
14809            feature = "cuda-12040",
14810            feature = "cuda-12050",
14811            feature = "cuda-12060",
14812            feature = "cuda-12080",
14813            feature = "cuda-12090",
14814            feature = "cuda-13000"
14815        ))]
14816        pub cudaFuncGetName: unsafe extern "C" fn(
14817            name: *mut *const ::core::ffi::c_char,
14818            func: *const ::core::ffi::c_void,
14819        ) -> cudaError_t,
14820        #[cfg(any(
14821            feature = "cuda-12040",
14822            feature = "cuda-12050",
14823            feature = "cuda-12060",
14824            feature = "cuda-12080",
14825            feature = "cuda-12090",
14826            feature = "cuda-13000"
14827        ))]
14828        pub cudaFuncGetParamInfo: unsafe extern "C" fn(
14829            func: *const ::core::ffi::c_void,
14830            paramIndex: usize,
14831            paramOffset: *mut usize,
14832            paramSize: *mut usize,
14833        ) -> cudaError_t,
14834        pub cudaFuncSetAttribute: unsafe extern "C" fn(
14835            func: *const ::core::ffi::c_void,
14836            attr: cudaFuncAttribute,
14837            value: ::core::ffi::c_int,
14838        ) -> cudaError_t,
14839        pub cudaFuncSetCacheConfig: unsafe extern "C" fn(
14840            func: *const ::core::ffi::c_void,
14841            cacheConfig: cudaFuncCache,
14842        ) -> cudaError_t,
14843        pub cudaFuncSetSharedMemConfig: unsafe extern "C" fn(
14844            func: *const ::core::ffi::c_void,
14845            config: cudaSharedMemConfig,
14846        ) -> cudaError_t,
14847        pub cudaGetChannelDesc: unsafe extern "C" fn(
14848            desc: *mut cudaChannelFormatDesc,
14849            array: cudaArray_const_t,
14850        ) -> cudaError_t,
14851        pub cudaGetDevice: unsafe extern "C" fn(device: *mut ::core::ffi::c_int) -> cudaError_t,
14852        pub cudaGetDeviceCount: unsafe extern "C" fn(count: *mut ::core::ffi::c_int) -> cudaError_t,
14853        pub cudaGetDeviceFlags:
14854            unsafe extern "C" fn(flags: *mut ::core::ffi::c_uint) -> cudaError_t,
14855        #[cfg(any(
14856            feature = "cuda-11040",
14857            feature = "cuda-11050",
14858            feature = "cuda-11060",
14859            feature = "cuda-11070",
14860            feature = "cuda-11080",
14861            feature = "cuda-13000"
14862        ))]
14863        pub cudaGetDeviceProperties: unsafe extern "C" fn(
14864            prop: *mut cudaDeviceProp,
14865            device: ::core::ffi::c_int,
14866        ) -> cudaError_t,
14867        #[cfg(any(
14868            feature = "cuda-12000",
14869            feature = "cuda-12010",
14870            feature = "cuda-12020",
14871            feature = "cuda-12030",
14872            feature = "cuda-12040",
14873            feature = "cuda-12050",
14874            feature = "cuda-12060",
14875            feature = "cuda-12080",
14876            feature = "cuda-12090"
14877        ))]
14878        pub cudaGetDeviceProperties_v2: unsafe extern "C" fn(
14879            prop: *mut cudaDeviceProp,
14880            device: ::core::ffi::c_int,
14881        ) -> cudaError_t,
14882        #[cfg(any(
14883            feature = "cuda-11040",
14884            feature = "cuda-11050",
14885            feature = "cuda-11060",
14886            feature = "cuda-11070",
14887            feature = "cuda-11080"
14888        ))]
14889        pub cudaGetDriverEntryPoint: unsafe extern "C" fn(
14890            symbol: *const ::core::ffi::c_char,
14891            funcPtr: *mut *mut ::core::ffi::c_void,
14892            flags: ::core::ffi::c_ulonglong,
14893        ) -> cudaError_t,
14894        #[cfg(any(
14895            feature = "cuda-12000",
14896            feature = "cuda-12010",
14897            feature = "cuda-12020",
14898            feature = "cuda-12030",
14899            feature = "cuda-12040",
14900            feature = "cuda-12050",
14901            feature = "cuda-12060",
14902            feature = "cuda-12080",
14903            feature = "cuda-12090",
14904            feature = "cuda-13000"
14905        ))]
14906        pub cudaGetDriverEntryPoint: unsafe extern "C" fn(
14907            symbol: *const ::core::ffi::c_char,
14908            funcPtr: *mut *mut ::core::ffi::c_void,
14909            flags: ::core::ffi::c_ulonglong,
14910            driverStatus: *mut cudaDriverEntryPointQueryResult,
14911        ) -> cudaError_t,
14912        #[cfg(any(
14913            feature = "cuda-12050",
14914            feature = "cuda-12060",
14915            feature = "cuda-12080",
14916            feature = "cuda-12090",
14917            feature = "cuda-13000"
14918        ))]
14919        pub cudaGetDriverEntryPointByVersion: unsafe extern "C" fn(
14920            symbol: *const ::core::ffi::c_char,
14921            funcPtr: *mut *mut ::core::ffi::c_void,
14922            cudaVersion: ::core::ffi::c_uint,
14923            flags: ::core::ffi::c_ulonglong,
14924            driverStatus: *mut cudaDriverEntryPointQueryResult,
14925        ) -> cudaError_t,
14926        pub cudaGetErrorName:
14927            unsafe extern "C" fn(error: cudaError_t) -> *const ::core::ffi::c_char,
14928        pub cudaGetErrorString:
14929            unsafe extern "C" fn(error: cudaError_t) -> *const ::core::ffi::c_char,
14930        pub cudaGetExportTable: unsafe extern "C" fn(
14931            ppExportTable: *mut *const ::core::ffi::c_void,
14932            pExportTableId: *const cudaUUID_t,
14933        ) -> cudaError_t,
14934        pub cudaGetFuncBySymbol: unsafe extern "C" fn(
14935            functionPtr: *mut cudaFunction_t,
14936            symbolPtr: *const ::core::ffi::c_void,
14937        ) -> cudaError_t,
14938        #[cfg(any(
14939            feature = "cuda-12010",
14940            feature = "cuda-12020",
14941            feature = "cuda-12030",
14942            feature = "cuda-12040",
14943            feature = "cuda-12050",
14944            feature = "cuda-12060",
14945            feature = "cuda-12080",
14946            feature = "cuda-12090",
14947            feature = "cuda-13000"
14948        ))]
14949        pub cudaGetKernel: unsafe extern "C" fn(
14950            kernelPtr: *mut cudaKernel_t,
14951            entryFuncAddr: *const ::core::ffi::c_void,
14952        ) -> cudaError_t,
14953        pub cudaGetLastError: unsafe extern "C" fn() -> cudaError_t,
14954        pub cudaGetMipmappedArrayLevel: unsafe extern "C" fn(
14955            levelArray: *mut cudaArray_t,
14956            mipmappedArray: cudaMipmappedArray_const_t,
14957            level: ::core::ffi::c_uint,
14958        ) -> cudaError_t,
14959        pub cudaGetSurfaceObjectResourceDesc: unsafe extern "C" fn(
14960            pResDesc: *mut cudaResourceDesc,
14961            surfObject: cudaSurfaceObject_t,
14962        ) -> cudaError_t,
14963        #[cfg(any(
14964            feature = "cuda-11040",
14965            feature = "cuda-11050",
14966            feature = "cuda-11060",
14967            feature = "cuda-11070",
14968            feature = "cuda-11080"
14969        ))]
14970        pub cudaGetSurfaceReference: unsafe extern "C" fn(
14971            surfref: *mut *const surfaceReference,
14972            symbol: *const ::core::ffi::c_void,
14973        ) -> cudaError_t,
14974        pub cudaGetSymbolAddress: unsafe extern "C" fn(
14975            devPtr: *mut *mut ::core::ffi::c_void,
14976            symbol: *const ::core::ffi::c_void,
14977        ) -> cudaError_t,
14978        pub cudaGetSymbolSize: unsafe extern "C" fn(
14979            size: *mut usize,
14980            symbol: *const ::core::ffi::c_void,
14981        ) -> cudaError_t,
14982        #[cfg(any(
14983            feature = "cuda-11040",
14984            feature = "cuda-11050",
14985            feature = "cuda-11060",
14986            feature = "cuda-11070",
14987            feature = "cuda-11080"
14988        ))]
14989        pub cudaGetTextureAlignmentOffset: unsafe extern "C" fn(
14990            offset: *mut usize,
14991            texref: *const textureReference,
14992        ) -> cudaError_t,
14993        pub cudaGetTextureObjectResourceDesc: unsafe extern "C" fn(
14994            pResDesc: *mut cudaResourceDesc,
14995            texObject: cudaTextureObject_t,
14996        ) -> cudaError_t,
14997        pub cudaGetTextureObjectResourceViewDesc: unsafe extern "C" fn(
14998            pResViewDesc: *mut cudaResourceViewDesc,
14999            texObject: cudaTextureObject_t,
15000        ) -> cudaError_t,
15001        pub cudaGetTextureObjectTextureDesc: unsafe extern "C" fn(
15002            pTexDesc: *mut cudaTextureDesc,
15003            texObject: cudaTextureObject_t,
15004        ) -> cudaError_t,
15005        #[cfg(any(feature = "cuda-11080"))]
15006        pub cudaGetTextureObjectTextureDesc_v2: unsafe extern "C" fn(
15007            pTexDesc: *mut cudaTextureDesc_v2,
15008            texObject: cudaTextureObject_t,
15009        ) -> cudaError_t,
15010        #[cfg(any(
15011            feature = "cuda-11040",
15012            feature = "cuda-11050",
15013            feature = "cuda-11060",
15014            feature = "cuda-11070",
15015            feature = "cuda-11080"
15016        ))]
15017        pub cudaGetTextureReference: unsafe extern "C" fn(
15018            texref: *mut *const textureReference,
15019            symbol: *const ::core::ffi::c_void,
15020        ) -> cudaError_t,
15021        pub cudaGraphAddChildGraphNode: unsafe extern "C" fn(
15022            pGraphNode: *mut cudaGraphNode_t,
15023            graph: cudaGraph_t,
15024            pDependencies: *const cudaGraphNode_t,
15025            numDependencies: usize,
15026            childGraph: cudaGraph_t,
15027        ) -> cudaError_t,
15028        #[cfg(any(
15029            feature = "cuda-11040",
15030            feature = "cuda-11050",
15031            feature = "cuda-11060",
15032            feature = "cuda-11070",
15033            feature = "cuda-11080",
15034            feature = "cuda-12000",
15035            feature = "cuda-12010",
15036            feature = "cuda-12020",
15037            feature = "cuda-12030",
15038            feature = "cuda-12040",
15039            feature = "cuda-12050",
15040            feature = "cuda-12060",
15041            feature = "cuda-12080",
15042            feature = "cuda-12090"
15043        ))]
15044        pub cudaGraphAddDependencies: unsafe extern "C" fn(
15045            graph: cudaGraph_t,
15046            from: *const cudaGraphNode_t,
15047            to: *const cudaGraphNode_t,
15048            numDependencies: usize,
15049        ) -> cudaError_t,
15050        #[cfg(any(feature = "cuda-13000"))]
15051        pub cudaGraphAddDependencies: unsafe extern "C" fn(
15052            graph: cudaGraph_t,
15053            from: *const cudaGraphNode_t,
15054            to: *const cudaGraphNode_t,
15055            edgeData: *const cudaGraphEdgeData,
15056            numDependencies: usize,
15057        ) -> cudaError_t,
15058        #[cfg(any(
15059            feature = "cuda-12030",
15060            feature = "cuda-12040",
15061            feature = "cuda-12050",
15062            feature = "cuda-12060",
15063            feature = "cuda-12080",
15064            feature = "cuda-12090"
15065        ))]
15066        pub cudaGraphAddDependencies_v2: unsafe extern "C" fn(
15067            graph: cudaGraph_t,
15068            from: *const cudaGraphNode_t,
15069            to: *const cudaGraphNode_t,
15070            edgeData: *const cudaGraphEdgeData,
15071            numDependencies: usize,
15072        ) -> cudaError_t,
15073        pub cudaGraphAddEmptyNode: unsafe extern "C" fn(
15074            pGraphNode: *mut cudaGraphNode_t,
15075            graph: cudaGraph_t,
15076            pDependencies: *const cudaGraphNode_t,
15077            numDependencies: usize,
15078        ) -> cudaError_t,
15079        pub cudaGraphAddEventRecordNode: unsafe extern "C" fn(
15080            pGraphNode: *mut cudaGraphNode_t,
15081            graph: cudaGraph_t,
15082            pDependencies: *const cudaGraphNode_t,
15083            numDependencies: usize,
15084            event: cudaEvent_t,
15085        ) -> cudaError_t,
15086        pub cudaGraphAddEventWaitNode: unsafe extern "C" fn(
15087            pGraphNode: *mut cudaGraphNode_t,
15088            graph: cudaGraph_t,
15089            pDependencies: *const cudaGraphNode_t,
15090            numDependencies: usize,
15091            event: cudaEvent_t,
15092        ) -> cudaError_t,
15093        pub cudaGraphAddExternalSemaphoresSignalNode: unsafe extern "C" fn(
15094            pGraphNode: *mut cudaGraphNode_t,
15095            graph: cudaGraph_t,
15096            pDependencies: *const cudaGraphNode_t,
15097            numDependencies: usize,
15098            nodeParams: *const cudaExternalSemaphoreSignalNodeParams,
15099        ) -> cudaError_t,
15100        pub cudaGraphAddExternalSemaphoresWaitNode: unsafe extern "C" fn(
15101            pGraphNode: *mut cudaGraphNode_t,
15102            graph: cudaGraph_t,
15103            pDependencies: *const cudaGraphNode_t,
15104            numDependencies: usize,
15105            nodeParams: *const cudaExternalSemaphoreWaitNodeParams,
15106        ) -> cudaError_t,
15107        pub cudaGraphAddHostNode: unsafe extern "C" fn(
15108            pGraphNode: *mut cudaGraphNode_t,
15109            graph: cudaGraph_t,
15110            pDependencies: *const cudaGraphNode_t,
15111            numDependencies: usize,
15112            pNodeParams: *const cudaHostNodeParams,
15113        ) -> cudaError_t,
15114        pub cudaGraphAddKernelNode: unsafe extern "C" fn(
15115            pGraphNode: *mut cudaGraphNode_t,
15116            graph: cudaGraph_t,
15117            pDependencies: *const cudaGraphNode_t,
15118            numDependencies: usize,
15119            pNodeParams: *const cudaKernelNodeParams,
15120        ) -> cudaError_t,
15121        pub cudaGraphAddMemAllocNode: unsafe extern "C" fn(
15122            pGraphNode: *mut cudaGraphNode_t,
15123            graph: cudaGraph_t,
15124            pDependencies: *const cudaGraphNode_t,
15125            numDependencies: usize,
15126            nodeParams: *mut cudaMemAllocNodeParams,
15127        ) -> cudaError_t,
15128        pub cudaGraphAddMemFreeNode: unsafe extern "C" fn(
15129            pGraphNode: *mut cudaGraphNode_t,
15130            graph: cudaGraph_t,
15131            pDependencies: *const cudaGraphNode_t,
15132            numDependencies: usize,
15133            dptr: *mut ::core::ffi::c_void,
15134        ) -> cudaError_t,
15135        pub cudaGraphAddMemcpyNode: unsafe extern "C" fn(
15136            pGraphNode: *mut cudaGraphNode_t,
15137            graph: cudaGraph_t,
15138            pDependencies: *const cudaGraphNode_t,
15139            numDependencies: usize,
15140            pCopyParams: *const cudaMemcpy3DParms,
15141        ) -> cudaError_t,
15142        pub cudaGraphAddMemcpyNode1D: unsafe extern "C" fn(
15143            pGraphNode: *mut cudaGraphNode_t,
15144            graph: cudaGraph_t,
15145            pDependencies: *const cudaGraphNode_t,
15146            numDependencies: usize,
15147            dst: *mut ::core::ffi::c_void,
15148            src: *const ::core::ffi::c_void,
15149            count: usize,
15150            kind: cudaMemcpyKind,
15151        ) -> cudaError_t,
15152        pub cudaGraphAddMemcpyNodeFromSymbol: unsafe extern "C" fn(
15153            pGraphNode: *mut cudaGraphNode_t,
15154            graph: cudaGraph_t,
15155            pDependencies: *const cudaGraphNode_t,
15156            numDependencies: usize,
15157            dst: *mut ::core::ffi::c_void,
15158            symbol: *const ::core::ffi::c_void,
15159            count: usize,
15160            offset: usize,
15161            kind: cudaMemcpyKind,
15162        ) -> cudaError_t,
15163        pub cudaGraphAddMemcpyNodeToSymbol: unsafe extern "C" fn(
15164            pGraphNode: *mut cudaGraphNode_t,
15165            graph: cudaGraph_t,
15166            pDependencies: *const cudaGraphNode_t,
15167            numDependencies: usize,
15168            symbol: *const ::core::ffi::c_void,
15169            src: *const ::core::ffi::c_void,
15170            count: usize,
15171            offset: usize,
15172            kind: cudaMemcpyKind,
15173        ) -> cudaError_t,
15174        pub cudaGraphAddMemsetNode: unsafe extern "C" fn(
15175            pGraphNode: *mut cudaGraphNode_t,
15176            graph: cudaGraph_t,
15177            pDependencies: *const cudaGraphNode_t,
15178            numDependencies: usize,
15179            pMemsetParams: *const cudaMemsetParams,
15180        ) -> cudaError_t,
15181        #[cfg(any(
15182            feature = "cuda-12020",
15183            feature = "cuda-12030",
15184            feature = "cuda-12040",
15185            feature = "cuda-12050",
15186            feature = "cuda-12060",
15187            feature = "cuda-12080",
15188            feature = "cuda-12090"
15189        ))]
15190        pub cudaGraphAddNode: unsafe extern "C" fn(
15191            pGraphNode: *mut cudaGraphNode_t,
15192            graph: cudaGraph_t,
15193            pDependencies: *const cudaGraphNode_t,
15194            numDependencies: usize,
15195            nodeParams: *mut cudaGraphNodeParams,
15196        ) -> cudaError_t,
15197        #[cfg(any(feature = "cuda-13000"))]
15198        pub cudaGraphAddNode: unsafe extern "C" fn(
15199            pGraphNode: *mut cudaGraphNode_t,
15200            graph: cudaGraph_t,
15201            pDependencies: *const cudaGraphNode_t,
15202            dependencyData: *const cudaGraphEdgeData,
15203            numDependencies: usize,
15204            nodeParams: *mut cudaGraphNodeParams,
15205        ) -> cudaError_t,
15206        #[cfg(any(
15207            feature = "cuda-12030",
15208            feature = "cuda-12040",
15209            feature = "cuda-12050",
15210            feature = "cuda-12060",
15211            feature = "cuda-12080",
15212            feature = "cuda-12090"
15213        ))]
15214        pub cudaGraphAddNode_v2: unsafe extern "C" fn(
15215            pGraphNode: *mut cudaGraphNode_t,
15216            graph: cudaGraph_t,
15217            pDependencies: *const cudaGraphNode_t,
15218            dependencyData: *const cudaGraphEdgeData,
15219            numDependencies: usize,
15220            nodeParams: *mut cudaGraphNodeParams,
15221        ) -> cudaError_t,
15222        pub cudaGraphChildGraphNodeGetGraph:
15223            unsafe extern "C" fn(node: cudaGraphNode_t, pGraph: *mut cudaGraph_t) -> cudaError_t,
15224        pub cudaGraphClone: unsafe extern "C" fn(
15225            pGraphClone: *mut cudaGraph_t,
15226            originalGraph: cudaGraph_t,
15227        ) -> cudaError_t,
15228        #[cfg(any(
15229            feature = "cuda-12030",
15230            feature = "cuda-12040",
15231            feature = "cuda-12050",
15232            feature = "cuda-12060",
15233            feature = "cuda-12080",
15234            feature = "cuda-12090",
15235            feature = "cuda-13000"
15236        ))]
15237        pub cudaGraphConditionalHandleCreate: unsafe extern "C" fn(
15238            pHandle_out: *mut cudaGraphConditionalHandle,
15239            graph: cudaGraph_t,
15240            defaultLaunchValue: ::core::ffi::c_uint,
15241            flags: ::core::ffi::c_uint,
15242        ) -> cudaError_t,
15243        pub cudaGraphCreate: unsafe extern "C" fn(
15244            pGraph: *mut cudaGraph_t,
15245            flags: ::core::ffi::c_uint,
15246        ) -> cudaError_t,
15247        pub cudaGraphDebugDotPrint: unsafe extern "C" fn(
15248            graph: cudaGraph_t,
15249            path: *const ::core::ffi::c_char,
15250            flags: ::core::ffi::c_uint,
15251        ) -> cudaError_t,
15252        pub cudaGraphDestroy: unsafe extern "C" fn(graph: cudaGraph_t) -> cudaError_t,
15253        pub cudaGraphDestroyNode: unsafe extern "C" fn(node: cudaGraphNode_t) -> cudaError_t,
15254        pub cudaGraphEventRecordNodeGetEvent:
15255            unsafe extern "C" fn(node: cudaGraphNode_t, event_out: *mut cudaEvent_t) -> cudaError_t,
15256        pub cudaGraphEventRecordNodeSetEvent:
15257            unsafe extern "C" fn(node: cudaGraphNode_t, event: cudaEvent_t) -> cudaError_t,
15258        pub cudaGraphEventWaitNodeGetEvent:
15259            unsafe extern "C" fn(node: cudaGraphNode_t, event_out: *mut cudaEvent_t) -> cudaError_t,
15260        pub cudaGraphEventWaitNodeSetEvent:
15261            unsafe extern "C" fn(node: cudaGraphNode_t, event: cudaEvent_t) -> cudaError_t,
15262        pub cudaGraphExecChildGraphNodeSetParams: unsafe extern "C" fn(
15263            hGraphExec: cudaGraphExec_t,
15264            node: cudaGraphNode_t,
15265            childGraph: cudaGraph_t,
15266        ) -> cudaError_t,
15267        pub cudaGraphExecDestroy: unsafe extern "C" fn(graphExec: cudaGraphExec_t) -> cudaError_t,
15268        pub cudaGraphExecEventRecordNodeSetEvent: unsafe extern "C" fn(
15269            hGraphExec: cudaGraphExec_t,
15270            hNode: cudaGraphNode_t,
15271            event: cudaEvent_t,
15272        ) -> cudaError_t,
15273        pub cudaGraphExecEventWaitNodeSetEvent: unsafe extern "C" fn(
15274            hGraphExec: cudaGraphExec_t,
15275            hNode: cudaGraphNode_t,
15276            event: cudaEvent_t,
15277        ) -> cudaError_t,
15278        pub cudaGraphExecExternalSemaphoresSignalNodeSetParams: unsafe extern "C" fn(
15279            hGraphExec: cudaGraphExec_t,
15280            hNode: cudaGraphNode_t,
15281            nodeParams: *const cudaExternalSemaphoreSignalNodeParams,
15282        )
15283            -> cudaError_t,
15284        pub cudaGraphExecExternalSemaphoresWaitNodeSetParams: unsafe extern "C" fn(
15285            hGraphExec: cudaGraphExec_t,
15286            hNode: cudaGraphNode_t,
15287            nodeParams: *const cudaExternalSemaphoreWaitNodeParams,
15288        )
15289            -> cudaError_t,
15290        #[cfg(any(
15291            feature = "cuda-12000",
15292            feature = "cuda-12010",
15293            feature = "cuda-12020",
15294            feature = "cuda-12030",
15295            feature = "cuda-12040",
15296            feature = "cuda-12050",
15297            feature = "cuda-12060",
15298            feature = "cuda-12080",
15299            feature = "cuda-12090",
15300            feature = "cuda-13000"
15301        ))]
15302        pub cudaGraphExecGetFlags: unsafe extern "C" fn(
15303            graphExec: cudaGraphExec_t,
15304            flags: *mut ::core::ffi::c_ulonglong,
15305        ) -> cudaError_t,
15306        pub cudaGraphExecHostNodeSetParams: unsafe extern "C" fn(
15307            hGraphExec: cudaGraphExec_t,
15308            node: cudaGraphNode_t,
15309            pNodeParams: *const cudaHostNodeParams,
15310        ) -> cudaError_t,
15311        pub cudaGraphExecKernelNodeSetParams: unsafe extern "C" fn(
15312            hGraphExec: cudaGraphExec_t,
15313            node: cudaGraphNode_t,
15314            pNodeParams: *const cudaKernelNodeParams,
15315        ) -> cudaError_t,
15316        pub cudaGraphExecMemcpyNodeSetParams: unsafe extern "C" fn(
15317            hGraphExec: cudaGraphExec_t,
15318            node: cudaGraphNode_t,
15319            pNodeParams: *const cudaMemcpy3DParms,
15320        ) -> cudaError_t,
15321        pub cudaGraphExecMemcpyNodeSetParams1D: unsafe extern "C" fn(
15322            hGraphExec: cudaGraphExec_t,
15323            node: cudaGraphNode_t,
15324            dst: *mut ::core::ffi::c_void,
15325            src: *const ::core::ffi::c_void,
15326            count: usize,
15327            kind: cudaMemcpyKind,
15328        ) -> cudaError_t,
15329        pub cudaGraphExecMemcpyNodeSetParamsFromSymbol: unsafe extern "C" fn(
15330            hGraphExec: cudaGraphExec_t,
15331            node: cudaGraphNode_t,
15332            dst: *mut ::core::ffi::c_void,
15333            symbol: *const ::core::ffi::c_void,
15334            count: usize,
15335            offset: usize,
15336            kind: cudaMemcpyKind,
15337        )
15338            -> cudaError_t,
15339        pub cudaGraphExecMemcpyNodeSetParamsToSymbol: unsafe extern "C" fn(
15340            hGraphExec: cudaGraphExec_t,
15341            node: cudaGraphNode_t,
15342            symbol: *const ::core::ffi::c_void,
15343            src: *const ::core::ffi::c_void,
15344            count: usize,
15345            offset: usize,
15346            kind: cudaMemcpyKind,
15347        ) -> cudaError_t,
15348        pub cudaGraphExecMemsetNodeSetParams: unsafe extern "C" fn(
15349            hGraphExec: cudaGraphExec_t,
15350            node: cudaGraphNode_t,
15351            pNodeParams: *const cudaMemsetParams,
15352        ) -> cudaError_t,
15353        #[cfg(any(
15354            feature = "cuda-12020",
15355            feature = "cuda-12030",
15356            feature = "cuda-12040",
15357            feature = "cuda-12050",
15358            feature = "cuda-12060",
15359            feature = "cuda-12080",
15360            feature = "cuda-12090",
15361            feature = "cuda-13000"
15362        ))]
15363        pub cudaGraphExecNodeSetParams: unsafe extern "C" fn(
15364            graphExec: cudaGraphExec_t,
15365            node: cudaGraphNode_t,
15366            nodeParams: *mut cudaGraphNodeParams,
15367        ) -> cudaError_t,
15368        #[cfg(any(
15369            feature = "cuda-11040",
15370            feature = "cuda-11050",
15371            feature = "cuda-11060",
15372            feature = "cuda-11070",
15373            feature = "cuda-11080"
15374        ))]
15375        pub cudaGraphExecUpdate: unsafe extern "C" fn(
15376            hGraphExec: cudaGraphExec_t,
15377            hGraph: cudaGraph_t,
15378            hErrorNode_out: *mut cudaGraphNode_t,
15379            updateResult_out: *mut cudaGraphExecUpdateResult,
15380        ) -> cudaError_t,
15381        #[cfg(any(
15382            feature = "cuda-12000",
15383            feature = "cuda-12010",
15384            feature = "cuda-12020",
15385            feature = "cuda-12030",
15386            feature = "cuda-12040",
15387            feature = "cuda-12050",
15388            feature = "cuda-12060",
15389            feature = "cuda-12080",
15390            feature = "cuda-12090",
15391            feature = "cuda-13000"
15392        ))]
15393        pub cudaGraphExecUpdate: unsafe extern "C" fn(
15394            hGraphExec: cudaGraphExec_t,
15395            hGraph: cudaGraph_t,
15396            resultInfo: *mut cudaGraphExecUpdateResultInfo,
15397        ) -> cudaError_t,
15398        pub cudaGraphExternalSemaphoresSignalNodeGetParams: unsafe extern "C" fn(
15399            hNode: cudaGraphNode_t,
15400            params_out: *mut cudaExternalSemaphoreSignalNodeParams,
15401        )
15402            -> cudaError_t,
15403        pub cudaGraphExternalSemaphoresSignalNodeSetParams: unsafe extern "C" fn(
15404            hNode: cudaGraphNode_t,
15405            nodeParams: *const cudaExternalSemaphoreSignalNodeParams,
15406        )
15407            -> cudaError_t,
15408        pub cudaGraphExternalSemaphoresWaitNodeGetParams: unsafe extern "C" fn(
15409            hNode: cudaGraphNode_t,
15410            params_out: *mut cudaExternalSemaphoreWaitNodeParams,
15411        )
15412            -> cudaError_t,
15413        pub cudaGraphExternalSemaphoresWaitNodeSetParams: unsafe extern "C" fn(
15414            hNode: cudaGraphNode_t,
15415            nodeParams: *const cudaExternalSemaphoreWaitNodeParams,
15416        )
15417            -> cudaError_t,
15418        #[cfg(any(
15419            feature = "cuda-11040",
15420            feature = "cuda-11050",
15421            feature = "cuda-11060",
15422            feature = "cuda-11070",
15423            feature = "cuda-11080",
15424            feature = "cuda-12000",
15425            feature = "cuda-12010",
15426            feature = "cuda-12020",
15427            feature = "cuda-12030",
15428            feature = "cuda-12040",
15429            feature = "cuda-12050",
15430            feature = "cuda-12060",
15431            feature = "cuda-12080",
15432            feature = "cuda-12090"
15433        ))]
15434        pub cudaGraphGetEdges: unsafe extern "C" fn(
15435            graph: cudaGraph_t,
15436            from: *mut cudaGraphNode_t,
15437            to: *mut cudaGraphNode_t,
15438            numEdges: *mut usize,
15439        ) -> cudaError_t,
15440        #[cfg(any(feature = "cuda-13000"))]
15441        pub cudaGraphGetEdges: unsafe extern "C" fn(
15442            graph: cudaGraph_t,
15443            from: *mut cudaGraphNode_t,
15444            to: *mut cudaGraphNode_t,
15445            edgeData: *mut cudaGraphEdgeData,
15446            numEdges: *mut usize,
15447        ) -> cudaError_t,
15448        #[cfg(any(
15449            feature = "cuda-12030",
15450            feature = "cuda-12040",
15451            feature = "cuda-12050",
15452            feature = "cuda-12060",
15453            feature = "cuda-12080",
15454            feature = "cuda-12090"
15455        ))]
15456        pub cudaGraphGetEdges_v2: unsafe extern "C" fn(
15457            graph: cudaGraph_t,
15458            from: *mut cudaGraphNode_t,
15459            to: *mut cudaGraphNode_t,
15460            edgeData: *mut cudaGraphEdgeData,
15461            numEdges: *mut usize,
15462        ) -> cudaError_t,
15463        pub cudaGraphGetNodes: unsafe extern "C" fn(
15464            graph: cudaGraph_t,
15465            nodes: *mut cudaGraphNode_t,
15466            numNodes: *mut usize,
15467        ) -> cudaError_t,
15468        pub cudaGraphGetRootNodes: unsafe extern "C" fn(
15469            graph: cudaGraph_t,
15470            pRootNodes: *mut cudaGraphNode_t,
15471            pNumRootNodes: *mut usize,
15472        ) -> cudaError_t,
15473        pub cudaGraphHostNodeGetParams: unsafe extern "C" fn(
15474            node: cudaGraphNode_t,
15475            pNodeParams: *mut cudaHostNodeParams,
15476        ) -> cudaError_t,
15477        pub cudaGraphHostNodeSetParams: unsafe extern "C" fn(
15478            node: cudaGraphNode_t,
15479            pNodeParams: *const cudaHostNodeParams,
15480        ) -> cudaError_t,
15481        #[cfg(any(
15482            feature = "cuda-11040",
15483            feature = "cuda-11050",
15484            feature = "cuda-11060",
15485            feature = "cuda-11070",
15486            feature = "cuda-11080"
15487        ))]
15488        pub cudaGraphInstantiate: unsafe extern "C" fn(
15489            pGraphExec: *mut cudaGraphExec_t,
15490            graph: cudaGraph_t,
15491            pErrorNode: *mut cudaGraphNode_t,
15492            pLogBuffer: *mut ::core::ffi::c_char,
15493            bufferSize: usize,
15494        ) -> cudaError_t,
15495        #[cfg(any(
15496            feature = "cuda-12000",
15497            feature = "cuda-12010",
15498            feature = "cuda-12020",
15499            feature = "cuda-12030",
15500            feature = "cuda-12040",
15501            feature = "cuda-12050",
15502            feature = "cuda-12060",
15503            feature = "cuda-12080",
15504            feature = "cuda-12090",
15505            feature = "cuda-13000"
15506        ))]
15507        pub cudaGraphInstantiate: unsafe extern "C" fn(
15508            pGraphExec: *mut cudaGraphExec_t,
15509            graph: cudaGraph_t,
15510            flags: ::core::ffi::c_ulonglong,
15511        ) -> cudaError_t,
15512        pub cudaGraphInstantiateWithFlags: unsafe extern "C" fn(
15513            pGraphExec: *mut cudaGraphExec_t,
15514            graph: cudaGraph_t,
15515            flags: ::core::ffi::c_ulonglong,
15516        ) -> cudaError_t,
15517        #[cfg(any(
15518            feature = "cuda-12000",
15519            feature = "cuda-12010",
15520            feature = "cuda-12020",
15521            feature = "cuda-12030",
15522            feature = "cuda-12040",
15523            feature = "cuda-12050",
15524            feature = "cuda-12060",
15525            feature = "cuda-12080",
15526            feature = "cuda-12090",
15527            feature = "cuda-13000"
15528        ))]
15529        pub cudaGraphInstantiateWithParams: unsafe extern "C" fn(
15530            pGraphExec: *mut cudaGraphExec_t,
15531            graph: cudaGraph_t,
15532            instantiateParams: *mut cudaGraphInstantiateParams,
15533        ) -> cudaError_t,
15534        #[cfg(any(
15535            feature = "cuda-11040",
15536            feature = "cuda-11050",
15537            feature = "cuda-11060",
15538            feature = "cuda-11070",
15539            feature = "cuda-11080",
15540            feature = "cuda-12000",
15541            feature = "cuda-12010",
15542            feature = "cuda-12020",
15543            feature = "cuda-12030",
15544            feature = "cuda-12040",
15545            feature = "cuda-12050",
15546            feature = "cuda-12060",
15547            feature = "cuda-12080",
15548            feature = "cuda-12090"
15549        ))]
15550        pub cudaGraphKernelNodeCopyAttributes:
15551            unsafe extern "C" fn(hSrc: cudaGraphNode_t, hDst: cudaGraphNode_t) -> cudaError_t,
15552        #[cfg(any(feature = "cuda-13000"))]
15553        pub cudaGraphKernelNodeCopyAttributes:
15554            unsafe extern "C" fn(hDst: cudaGraphNode_t, hSrc: cudaGraphNode_t) -> cudaError_t,
15555        #[cfg(any(
15556            feature = "cuda-11040",
15557            feature = "cuda-11050",
15558            feature = "cuda-11060",
15559            feature = "cuda-11070"
15560        ))]
15561        pub cudaGraphKernelNodeGetAttribute: unsafe extern "C" fn(
15562            hNode: cudaGraphNode_t,
15563            attr: cudaKernelNodeAttrID,
15564            value_out: *mut cudaKernelNodeAttrValue,
15565        ) -> cudaError_t,
15566        #[cfg(any(
15567            feature = "cuda-11080",
15568            feature = "cuda-12000",
15569            feature = "cuda-12010",
15570            feature = "cuda-12020",
15571            feature = "cuda-12030",
15572            feature = "cuda-12040",
15573            feature = "cuda-12050",
15574            feature = "cuda-12060",
15575            feature = "cuda-12080",
15576            feature = "cuda-12090",
15577            feature = "cuda-13000"
15578        ))]
15579        pub cudaGraphKernelNodeGetAttribute: unsafe extern "C" fn(
15580            hNode: cudaGraphNode_t,
15581            attr: cudaLaunchAttributeID,
15582            value_out: *mut cudaLaunchAttributeValue,
15583        ) -> cudaError_t,
15584        pub cudaGraphKernelNodeGetParams: unsafe extern "C" fn(
15585            node: cudaGraphNode_t,
15586            pNodeParams: *mut cudaKernelNodeParams,
15587        ) -> cudaError_t,
15588        #[cfg(any(
15589            feature = "cuda-11040",
15590            feature = "cuda-11050",
15591            feature = "cuda-11060",
15592            feature = "cuda-11070"
15593        ))]
15594        pub cudaGraphKernelNodeSetAttribute: unsafe extern "C" fn(
15595            hNode: cudaGraphNode_t,
15596            attr: cudaKernelNodeAttrID,
15597            value: *const cudaKernelNodeAttrValue,
15598        ) -> cudaError_t,
15599        #[cfg(any(
15600            feature = "cuda-11080",
15601            feature = "cuda-12000",
15602            feature = "cuda-12010",
15603            feature = "cuda-12020",
15604            feature = "cuda-12030",
15605            feature = "cuda-12040",
15606            feature = "cuda-12050",
15607            feature = "cuda-12060",
15608            feature = "cuda-12080",
15609            feature = "cuda-12090",
15610            feature = "cuda-13000"
15611        ))]
15612        pub cudaGraphKernelNodeSetAttribute: unsafe extern "C" fn(
15613            hNode: cudaGraphNode_t,
15614            attr: cudaLaunchAttributeID,
15615            value: *const cudaLaunchAttributeValue,
15616        ) -> cudaError_t,
15617        pub cudaGraphKernelNodeSetParams: unsafe extern "C" fn(
15618            node: cudaGraphNode_t,
15619            pNodeParams: *const cudaKernelNodeParams,
15620        ) -> cudaError_t,
15621        pub cudaGraphLaunch:
15622            unsafe extern "C" fn(graphExec: cudaGraphExec_t, stream: cudaStream_t) -> cudaError_t,
15623        pub cudaGraphMemAllocNodeGetParams: unsafe extern "C" fn(
15624            node: cudaGraphNode_t,
15625            params_out: *mut cudaMemAllocNodeParams,
15626        ) -> cudaError_t,
15627        pub cudaGraphMemFreeNodeGetParams: unsafe extern "C" fn(
15628            node: cudaGraphNode_t,
15629            dptr_out: *mut ::core::ffi::c_void,
15630        ) -> cudaError_t,
15631        pub cudaGraphMemcpyNodeGetParams: unsafe extern "C" fn(
15632            node: cudaGraphNode_t,
15633            pNodeParams: *mut cudaMemcpy3DParms,
15634        ) -> cudaError_t,
15635        pub cudaGraphMemcpyNodeSetParams: unsafe extern "C" fn(
15636            node: cudaGraphNode_t,
15637            pNodeParams: *const cudaMemcpy3DParms,
15638        ) -> cudaError_t,
15639        pub cudaGraphMemcpyNodeSetParams1D: unsafe extern "C" fn(
15640            node: cudaGraphNode_t,
15641            dst: *mut ::core::ffi::c_void,
15642            src: *const ::core::ffi::c_void,
15643            count: usize,
15644            kind: cudaMemcpyKind,
15645        ) -> cudaError_t,
15646        pub cudaGraphMemcpyNodeSetParamsFromSymbol: unsafe extern "C" fn(
15647            node: cudaGraphNode_t,
15648            dst: *mut ::core::ffi::c_void,
15649            symbol: *const ::core::ffi::c_void,
15650            count: usize,
15651            offset: usize,
15652            kind: cudaMemcpyKind,
15653        ) -> cudaError_t,
15654        pub cudaGraphMemcpyNodeSetParamsToSymbol: unsafe extern "C" fn(
15655            node: cudaGraphNode_t,
15656            symbol: *const ::core::ffi::c_void,
15657            src: *const ::core::ffi::c_void,
15658            count: usize,
15659            offset: usize,
15660            kind: cudaMemcpyKind,
15661        ) -> cudaError_t,
15662        pub cudaGraphMemsetNodeGetParams: unsafe extern "C" fn(
15663            node: cudaGraphNode_t,
15664            pNodeParams: *mut cudaMemsetParams,
15665        ) -> cudaError_t,
15666        pub cudaGraphMemsetNodeSetParams: unsafe extern "C" fn(
15667            node: cudaGraphNode_t,
15668            pNodeParams: *const cudaMemsetParams,
15669        ) -> cudaError_t,
15670        pub cudaGraphNodeFindInClone: unsafe extern "C" fn(
15671            pNode: *mut cudaGraphNode_t,
15672            originalNode: cudaGraphNode_t,
15673            clonedGraph: cudaGraph_t,
15674        ) -> cudaError_t,
15675        #[cfg(any(
15676            feature = "cuda-11040",
15677            feature = "cuda-11050",
15678            feature = "cuda-11060",
15679            feature = "cuda-11070",
15680            feature = "cuda-11080",
15681            feature = "cuda-12000",
15682            feature = "cuda-12010",
15683            feature = "cuda-12020",
15684            feature = "cuda-12030",
15685            feature = "cuda-12040",
15686            feature = "cuda-12050",
15687            feature = "cuda-12060",
15688            feature = "cuda-12080",
15689            feature = "cuda-12090"
15690        ))]
15691        pub cudaGraphNodeGetDependencies: unsafe extern "C" fn(
15692            node: cudaGraphNode_t,
15693            pDependencies: *mut cudaGraphNode_t,
15694            pNumDependencies: *mut usize,
15695        ) -> cudaError_t,
15696        #[cfg(any(feature = "cuda-13000"))]
15697        pub cudaGraphNodeGetDependencies: unsafe extern "C" fn(
15698            node: cudaGraphNode_t,
15699            pDependencies: *mut cudaGraphNode_t,
15700            edgeData: *mut cudaGraphEdgeData,
15701            pNumDependencies: *mut usize,
15702        ) -> cudaError_t,
15703        #[cfg(any(
15704            feature = "cuda-12030",
15705            feature = "cuda-12040",
15706            feature = "cuda-12050",
15707            feature = "cuda-12060",
15708            feature = "cuda-12080",
15709            feature = "cuda-12090"
15710        ))]
15711        pub cudaGraphNodeGetDependencies_v2: unsafe extern "C" fn(
15712            node: cudaGraphNode_t,
15713            pDependencies: *mut cudaGraphNode_t,
15714            edgeData: *mut cudaGraphEdgeData,
15715            pNumDependencies: *mut usize,
15716        ) -> cudaError_t,
15717        #[cfg(any(
15718            feature = "cuda-11040",
15719            feature = "cuda-11050",
15720            feature = "cuda-11060",
15721            feature = "cuda-11070",
15722            feature = "cuda-11080",
15723            feature = "cuda-12000",
15724            feature = "cuda-12010",
15725            feature = "cuda-12020",
15726            feature = "cuda-12030",
15727            feature = "cuda-12040",
15728            feature = "cuda-12050",
15729            feature = "cuda-12060",
15730            feature = "cuda-12080",
15731            feature = "cuda-12090"
15732        ))]
15733        pub cudaGraphNodeGetDependentNodes: unsafe extern "C" fn(
15734            node: cudaGraphNode_t,
15735            pDependentNodes: *mut cudaGraphNode_t,
15736            pNumDependentNodes: *mut usize,
15737        ) -> cudaError_t,
15738        #[cfg(any(feature = "cuda-13000"))]
15739        pub cudaGraphNodeGetDependentNodes: unsafe extern "C" fn(
15740            node: cudaGraphNode_t,
15741            pDependentNodes: *mut cudaGraphNode_t,
15742            edgeData: *mut cudaGraphEdgeData,
15743            pNumDependentNodes: *mut usize,
15744        ) -> cudaError_t,
15745        #[cfg(any(
15746            feature = "cuda-12030",
15747            feature = "cuda-12040",
15748            feature = "cuda-12050",
15749            feature = "cuda-12060",
15750            feature = "cuda-12080",
15751            feature = "cuda-12090"
15752        ))]
15753        pub cudaGraphNodeGetDependentNodes_v2: unsafe extern "C" fn(
15754            node: cudaGraphNode_t,
15755            pDependentNodes: *mut cudaGraphNode_t,
15756            edgeData: *mut cudaGraphEdgeData,
15757            pNumDependentNodes: *mut usize,
15758        ) -> cudaError_t,
15759        #[cfg(any(
15760            feature = "cuda-11060",
15761            feature = "cuda-11070",
15762            feature = "cuda-11080",
15763            feature = "cuda-12000",
15764            feature = "cuda-12010",
15765            feature = "cuda-12020",
15766            feature = "cuda-12030",
15767            feature = "cuda-12040",
15768            feature = "cuda-12050",
15769            feature = "cuda-12060",
15770            feature = "cuda-12080",
15771            feature = "cuda-12090",
15772            feature = "cuda-13000"
15773        ))]
15774        pub cudaGraphNodeGetEnabled: unsafe extern "C" fn(
15775            hGraphExec: cudaGraphExec_t,
15776            hNode: cudaGraphNode_t,
15777            isEnabled: *mut ::core::ffi::c_uint,
15778        ) -> cudaError_t,
15779        pub cudaGraphNodeGetType: unsafe extern "C" fn(
15780            node: cudaGraphNode_t,
15781            pType: *mut cudaGraphNodeType,
15782        ) -> cudaError_t,
15783        #[cfg(any(
15784            feature = "cuda-11060",
15785            feature = "cuda-11070",
15786            feature = "cuda-11080",
15787            feature = "cuda-12000",
15788            feature = "cuda-12010",
15789            feature = "cuda-12020",
15790            feature = "cuda-12030",
15791            feature = "cuda-12040",
15792            feature = "cuda-12050",
15793            feature = "cuda-12060",
15794            feature = "cuda-12080",
15795            feature = "cuda-12090",
15796            feature = "cuda-13000"
15797        ))]
15798        pub cudaGraphNodeSetEnabled: unsafe extern "C" fn(
15799            hGraphExec: cudaGraphExec_t,
15800            hNode: cudaGraphNode_t,
15801            isEnabled: ::core::ffi::c_uint,
15802        ) -> cudaError_t,
15803        #[cfg(any(
15804            feature = "cuda-12020",
15805            feature = "cuda-12030",
15806            feature = "cuda-12040",
15807            feature = "cuda-12050",
15808            feature = "cuda-12060",
15809            feature = "cuda-12080",
15810            feature = "cuda-12090",
15811            feature = "cuda-13000"
15812        ))]
15813        pub cudaGraphNodeSetParams: unsafe extern "C" fn(
15814            node: cudaGraphNode_t,
15815            nodeParams: *mut cudaGraphNodeParams,
15816        ) -> cudaError_t,
15817        pub cudaGraphReleaseUserObject: unsafe extern "C" fn(
15818            graph: cudaGraph_t,
15819            object: cudaUserObject_t,
15820            count: ::core::ffi::c_uint,
15821        ) -> cudaError_t,
15822        #[cfg(any(
15823            feature = "cuda-11040",
15824            feature = "cuda-11050",
15825            feature = "cuda-11060",
15826            feature = "cuda-11070",
15827            feature = "cuda-11080",
15828            feature = "cuda-12000",
15829            feature = "cuda-12010",
15830            feature = "cuda-12020",
15831            feature = "cuda-12030",
15832            feature = "cuda-12040",
15833            feature = "cuda-12050",
15834            feature = "cuda-12060",
15835            feature = "cuda-12080",
15836            feature = "cuda-12090"
15837        ))]
15838        pub cudaGraphRemoveDependencies: unsafe extern "C" fn(
15839            graph: cudaGraph_t,
15840            from: *const cudaGraphNode_t,
15841            to: *const cudaGraphNode_t,
15842            numDependencies: usize,
15843        ) -> cudaError_t,
15844        #[cfg(any(feature = "cuda-13000"))]
15845        pub cudaGraphRemoveDependencies: unsafe extern "C" fn(
15846            graph: cudaGraph_t,
15847            from: *const cudaGraphNode_t,
15848            to: *const cudaGraphNode_t,
15849            edgeData: *const cudaGraphEdgeData,
15850            numDependencies: usize,
15851        ) -> cudaError_t,
15852        #[cfg(any(
15853            feature = "cuda-12030",
15854            feature = "cuda-12040",
15855            feature = "cuda-12050",
15856            feature = "cuda-12060",
15857            feature = "cuda-12080",
15858            feature = "cuda-12090"
15859        ))]
15860        pub cudaGraphRemoveDependencies_v2: unsafe extern "C" fn(
15861            graph: cudaGraph_t,
15862            from: *const cudaGraphNode_t,
15863            to: *const cudaGraphNode_t,
15864            edgeData: *const cudaGraphEdgeData,
15865            numDependencies: usize,
15866        ) -> cudaError_t,
15867        pub cudaGraphRetainUserObject: unsafe extern "C" fn(
15868            graph: cudaGraph_t,
15869            object: cudaUserObject_t,
15870            count: ::core::ffi::c_uint,
15871            flags: ::core::ffi::c_uint,
15872        ) -> cudaError_t,
15873        pub cudaGraphUpload:
15874            unsafe extern "C" fn(graphExec: cudaGraphExec_t, stream: cudaStream_t) -> cudaError_t,
15875        pub cudaGraphicsMapResources: unsafe extern "C" fn(
15876            count: ::core::ffi::c_int,
15877            resources: *mut cudaGraphicsResource_t,
15878            stream: cudaStream_t,
15879        ) -> cudaError_t,
15880        pub cudaGraphicsResourceGetMappedMipmappedArray: unsafe extern "C" fn(
15881            mipmappedArray: *mut cudaMipmappedArray_t,
15882            resource: cudaGraphicsResource_t,
15883        )
15884            -> cudaError_t,
15885        pub cudaGraphicsResourceGetMappedPointer: unsafe extern "C" fn(
15886            devPtr: *mut *mut ::core::ffi::c_void,
15887            size: *mut usize,
15888            resource: cudaGraphicsResource_t,
15889        ) -> cudaError_t,
15890        pub cudaGraphicsResourceSetMapFlags: unsafe extern "C" fn(
15891            resource: cudaGraphicsResource_t,
15892            flags: ::core::ffi::c_uint,
15893        ) -> cudaError_t,
15894        pub cudaGraphicsSubResourceGetMappedArray: unsafe extern "C" fn(
15895            array: *mut cudaArray_t,
15896            resource: cudaGraphicsResource_t,
15897            arrayIndex: ::core::ffi::c_uint,
15898            mipLevel: ::core::ffi::c_uint,
15899        ) -> cudaError_t,
15900        pub cudaGraphicsUnmapResources: unsafe extern "C" fn(
15901            count: ::core::ffi::c_int,
15902            resources: *mut cudaGraphicsResource_t,
15903            stream: cudaStream_t,
15904        ) -> cudaError_t,
15905        pub cudaGraphicsUnregisterResource:
15906            unsafe extern "C" fn(resource: cudaGraphicsResource_t) -> cudaError_t,
15907        pub cudaHostAlloc: unsafe extern "C" fn(
15908            pHost: *mut *mut ::core::ffi::c_void,
15909            size: usize,
15910            flags: ::core::ffi::c_uint,
15911        ) -> cudaError_t,
15912        pub cudaHostGetDevicePointer: unsafe extern "C" fn(
15913            pDevice: *mut *mut ::core::ffi::c_void,
15914            pHost: *mut ::core::ffi::c_void,
15915            flags: ::core::ffi::c_uint,
15916        ) -> cudaError_t,
15917        pub cudaHostGetFlags: unsafe extern "C" fn(
15918            pFlags: *mut ::core::ffi::c_uint,
15919            pHost: *mut ::core::ffi::c_void,
15920        ) -> cudaError_t,
15921        pub cudaHostRegister: unsafe extern "C" fn(
15922            ptr: *mut ::core::ffi::c_void,
15923            size: usize,
15924            flags: ::core::ffi::c_uint,
15925        ) -> cudaError_t,
15926        pub cudaHostUnregister: unsafe extern "C" fn(ptr: *mut ::core::ffi::c_void) -> cudaError_t,
15927        pub cudaImportExternalMemory: unsafe extern "C" fn(
15928            extMem_out: *mut cudaExternalMemory_t,
15929            memHandleDesc: *const cudaExternalMemoryHandleDesc,
15930        ) -> cudaError_t,
15931        pub cudaImportExternalSemaphore: unsafe extern "C" fn(
15932            extSem_out: *mut cudaExternalSemaphore_t,
15933            semHandleDesc: *const cudaExternalSemaphoreHandleDesc,
15934        ) -> cudaError_t,
15935        #[cfg(any(
15936            feature = "cuda-12000",
15937            feature = "cuda-12010",
15938            feature = "cuda-12020",
15939            feature = "cuda-12030",
15940            feature = "cuda-12040",
15941            feature = "cuda-12050",
15942            feature = "cuda-12060",
15943            feature = "cuda-12080",
15944            feature = "cuda-12090",
15945            feature = "cuda-13000"
15946        ))]
15947        pub cudaInitDevice: unsafe extern "C" fn(
15948            device: ::core::ffi::c_int,
15949            deviceFlags: ::core::ffi::c_uint,
15950            flags: ::core::ffi::c_uint,
15951        ) -> cudaError_t,
15952        pub cudaIpcCloseMemHandle:
15953            unsafe extern "C" fn(devPtr: *mut ::core::ffi::c_void) -> cudaError_t,
15954        pub cudaIpcGetEventHandle: unsafe extern "C" fn(
15955            handle: *mut cudaIpcEventHandle_t,
15956            event: cudaEvent_t,
15957        ) -> cudaError_t,
15958        pub cudaIpcGetMemHandle: unsafe extern "C" fn(
15959            handle: *mut cudaIpcMemHandle_t,
15960            devPtr: *mut ::core::ffi::c_void,
15961        ) -> cudaError_t,
15962        pub cudaIpcOpenEventHandle: unsafe extern "C" fn(
15963            event: *mut cudaEvent_t,
15964            handle: cudaIpcEventHandle_t,
15965        ) -> cudaError_t,
15966        pub cudaIpcOpenMemHandle: unsafe extern "C" fn(
15967            devPtr: *mut *mut ::core::ffi::c_void,
15968            handle: cudaIpcMemHandle_t,
15969            flags: ::core::ffi::c_uint,
15970        ) -> cudaError_t,
15971        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
15972        pub cudaKernelSetAttributeForDevice: unsafe extern "C" fn(
15973            kernel: cudaKernel_t,
15974            attr: cudaFuncAttribute,
15975            value: ::core::ffi::c_int,
15976            device: ::core::ffi::c_int,
15977        ) -> cudaError_t,
15978        pub cudaLaunchCooperativeKernel: unsafe extern "C" fn(
15979            func: *const ::core::ffi::c_void,
15980            gridDim: dim3,
15981            blockDim: dim3,
15982            args: *mut *mut ::core::ffi::c_void,
15983            sharedMem: usize,
15984            stream: cudaStream_t,
15985        ) -> cudaError_t,
15986        #[cfg(any(
15987            feature = "cuda-11040",
15988            feature = "cuda-11050",
15989            feature = "cuda-11060",
15990            feature = "cuda-11070",
15991            feature = "cuda-11080",
15992            feature = "cuda-12000",
15993            feature = "cuda-12010",
15994            feature = "cuda-12020",
15995            feature = "cuda-12030",
15996            feature = "cuda-12040",
15997            feature = "cuda-12050",
15998            feature = "cuda-12060",
15999            feature = "cuda-12080",
16000            feature = "cuda-12090"
16001        ))]
16002        pub cudaLaunchCooperativeKernelMultiDevice: unsafe extern "C" fn(
16003            launchParamsList: *mut cudaLaunchParams,
16004            numDevices: ::core::ffi::c_uint,
16005            flags: ::core::ffi::c_uint,
16006        ) -> cudaError_t,
16007        pub cudaLaunchHostFunc: unsafe extern "C" fn(
16008            stream: cudaStream_t,
16009            fn_: cudaHostFn_t,
16010            userData: *mut ::core::ffi::c_void,
16011        ) -> cudaError_t,
16012        pub cudaLaunchKernel: unsafe extern "C" fn(
16013            func: *const ::core::ffi::c_void,
16014            gridDim: dim3,
16015            blockDim: dim3,
16016            args: *mut *mut ::core::ffi::c_void,
16017            sharedMem: usize,
16018            stream: cudaStream_t,
16019        ) -> cudaError_t,
16020        #[cfg(any(
16021            feature = "cuda-11080",
16022            feature = "cuda-12000",
16023            feature = "cuda-12010",
16024            feature = "cuda-12020",
16025            feature = "cuda-12030",
16026            feature = "cuda-12040",
16027            feature = "cuda-12050",
16028            feature = "cuda-12060",
16029            feature = "cuda-12080",
16030            feature = "cuda-12090",
16031            feature = "cuda-13000"
16032        ))]
16033        pub cudaLaunchKernelExC: unsafe extern "C" fn(
16034            config: *const cudaLaunchConfig_t,
16035            func: *const ::core::ffi::c_void,
16036            args: *mut *mut ::core::ffi::c_void,
16037        ) -> cudaError_t,
16038        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16039        pub cudaLibraryEnumerateKernels: unsafe extern "C" fn(
16040            kernels: *mut cudaKernel_t,
16041            numKernels: ::core::ffi::c_uint,
16042            lib: cudaLibrary_t,
16043        ) -> cudaError_t,
16044        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16045        pub cudaLibraryGetGlobal: unsafe extern "C" fn(
16046            dptr: *mut *mut ::core::ffi::c_void,
16047            bytes: *mut usize,
16048            library: cudaLibrary_t,
16049            name: *const ::core::ffi::c_char,
16050        ) -> cudaError_t,
16051        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16052        pub cudaLibraryGetKernel: unsafe extern "C" fn(
16053            pKernel: *mut cudaKernel_t,
16054            library: cudaLibrary_t,
16055            name: *const ::core::ffi::c_char,
16056        ) -> cudaError_t,
16057        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16058        pub cudaLibraryGetKernelCount: unsafe extern "C" fn(
16059            count: *mut ::core::ffi::c_uint,
16060            lib: cudaLibrary_t,
16061        ) -> cudaError_t,
16062        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16063        pub cudaLibraryGetManaged: unsafe extern "C" fn(
16064            dptr: *mut *mut ::core::ffi::c_void,
16065            bytes: *mut usize,
16066            library: cudaLibrary_t,
16067            name: *const ::core::ffi::c_char,
16068        ) -> cudaError_t,
16069        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16070        pub cudaLibraryGetUnifiedFunction: unsafe extern "C" fn(
16071            fptr: *mut *mut ::core::ffi::c_void,
16072            library: cudaLibrary_t,
16073            symbol: *const ::core::ffi::c_char,
16074        ) -> cudaError_t,
16075        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16076        pub cudaLibraryLoadData: unsafe extern "C" fn(
16077            library: *mut cudaLibrary_t,
16078            code: *const ::core::ffi::c_void,
16079            jitOptions: *mut cudaJitOption,
16080            jitOptionsValues: *mut *mut ::core::ffi::c_void,
16081            numJitOptions: ::core::ffi::c_uint,
16082            libraryOptions: *mut cudaLibraryOption,
16083            libraryOptionValues: *mut *mut ::core::ffi::c_void,
16084            numLibraryOptions: ::core::ffi::c_uint,
16085        ) -> cudaError_t,
16086        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16087        pub cudaLibraryLoadFromFile: unsafe extern "C" fn(
16088            library: *mut cudaLibrary_t,
16089            fileName: *const ::core::ffi::c_char,
16090            jitOptions: *mut cudaJitOption,
16091            jitOptionsValues: *mut *mut ::core::ffi::c_void,
16092            numJitOptions: ::core::ffi::c_uint,
16093            libraryOptions: *mut cudaLibraryOption,
16094            libraryOptionValues: *mut *mut ::core::ffi::c_void,
16095            numLibraryOptions: ::core::ffi::c_uint,
16096        ) -> cudaError_t,
16097        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16098        pub cudaLibraryUnload: unsafe extern "C" fn(library: cudaLibrary_t) -> cudaError_t,
16099        #[cfg(any(feature = "cuda-13000"))]
16100        pub cudaLogsCurrent: unsafe extern "C" fn(
16101            iterator_out: *mut cudaLogIterator,
16102            flags: ::core::ffi::c_uint,
16103        ) -> cudaError_t,
16104        #[cfg(any(feature = "cuda-13000"))]
16105        pub cudaLogsDumpToFile: unsafe extern "C" fn(
16106            iterator: *mut cudaLogIterator,
16107            pathToFile: *const ::core::ffi::c_char,
16108            flags: ::core::ffi::c_uint,
16109        ) -> cudaError_t,
16110        #[cfg(any(feature = "cuda-13000"))]
16111        pub cudaLogsDumpToMemory: unsafe extern "C" fn(
16112            iterator: *mut cudaLogIterator,
16113            buffer: *mut ::core::ffi::c_char,
16114            size: *mut usize,
16115            flags: ::core::ffi::c_uint,
16116        ) -> cudaError_t,
16117        #[cfg(any(feature = "cuda-13000"))]
16118        pub cudaLogsRegisterCallback: unsafe extern "C" fn(
16119            callbackFunc: cudaLogsCallback_t,
16120            userData: *mut ::core::ffi::c_void,
16121            callback_out: *mut cudaLogsCallbackHandle,
16122        ) -> cudaError_t,
16123        #[cfg(any(feature = "cuda-13000"))]
16124        pub cudaLogsUnregisterCallback:
16125            unsafe extern "C" fn(callback: cudaLogsCallbackHandle) -> cudaError_t,
16126        pub cudaMalloc:
16127            unsafe extern "C" fn(devPtr: *mut *mut ::core::ffi::c_void, size: usize) -> cudaError_t,
16128        pub cudaMalloc3D: unsafe extern "C" fn(
16129            pitchedDevPtr: *mut cudaPitchedPtr,
16130            extent: cudaExtent,
16131        ) -> cudaError_t,
16132        pub cudaMalloc3DArray: unsafe extern "C" fn(
16133            array: *mut cudaArray_t,
16134            desc: *const cudaChannelFormatDesc,
16135            extent: cudaExtent,
16136            flags: ::core::ffi::c_uint,
16137        ) -> cudaError_t,
16138        pub cudaMallocArray: unsafe extern "C" fn(
16139            array: *mut cudaArray_t,
16140            desc: *const cudaChannelFormatDesc,
16141            width: usize,
16142            height: usize,
16143            flags: ::core::ffi::c_uint,
16144        ) -> cudaError_t,
16145        pub cudaMallocAsync: unsafe extern "C" fn(
16146            devPtr: *mut *mut ::core::ffi::c_void,
16147            size: usize,
16148            hStream: cudaStream_t,
16149        ) -> cudaError_t,
16150        pub cudaMallocFromPoolAsync: unsafe extern "C" fn(
16151            ptr: *mut *mut ::core::ffi::c_void,
16152            size: usize,
16153            memPool: cudaMemPool_t,
16154            stream: cudaStream_t,
16155        ) -> cudaError_t,
16156        pub cudaMallocHost:
16157            unsafe extern "C" fn(ptr: *mut *mut ::core::ffi::c_void, size: usize) -> cudaError_t,
16158        pub cudaMallocManaged: unsafe extern "C" fn(
16159            devPtr: *mut *mut ::core::ffi::c_void,
16160            size: usize,
16161            flags: ::core::ffi::c_uint,
16162        ) -> cudaError_t,
16163        pub cudaMallocMipmappedArray: unsafe extern "C" fn(
16164            mipmappedArray: *mut cudaMipmappedArray_t,
16165            desc: *const cudaChannelFormatDesc,
16166            extent: cudaExtent,
16167            numLevels: ::core::ffi::c_uint,
16168            flags: ::core::ffi::c_uint,
16169        ) -> cudaError_t,
16170        pub cudaMallocPitch: unsafe extern "C" fn(
16171            devPtr: *mut *mut ::core::ffi::c_void,
16172            pitch: *mut usize,
16173            width: usize,
16174            height: usize,
16175        ) -> cudaError_t,
16176        #[cfg(any(
16177            feature = "cuda-11040",
16178            feature = "cuda-11050",
16179            feature = "cuda-11060",
16180            feature = "cuda-11070",
16181            feature = "cuda-11080",
16182            feature = "cuda-12000",
16183            feature = "cuda-12010",
16184            feature = "cuda-12020",
16185            feature = "cuda-12030",
16186            feature = "cuda-12040",
16187            feature = "cuda-12050",
16188            feature = "cuda-12060",
16189            feature = "cuda-12080",
16190            feature = "cuda-12090"
16191        ))]
16192        pub cudaMemAdvise: unsafe extern "C" fn(
16193            devPtr: *const ::core::ffi::c_void,
16194            count: usize,
16195            advice: cudaMemoryAdvise,
16196            device: ::core::ffi::c_int,
16197        ) -> cudaError_t,
16198        #[cfg(any(feature = "cuda-13000"))]
16199        pub cudaMemAdvise: unsafe extern "C" fn(
16200            devPtr: *const ::core::ffi::c_void,
16201            count: usize,
16202            advice: cudaMemoryAdvise,
16203            location: cudaMemLocation,
16204        ) -> cudaError_t,
16205        #[cfg(any(
16206            feature = "cuda-12020",
16207            feature = "cuda-12030",
16208            feature = "cuda-12040",
16209            feature = "cuda-12050",
16210            feature = "cuda-12060",
16211            feature = "cuda-12080",
16212            feature = "cuda-12090"
16213        ))]
16214        pub cudaMemAdvise_v2: unsafe extern "C" fn(
16215            devPtr: *const ::core::ffi::c_void,
16216            count: usize,
16217            advice: cudaMemoryAdvise,
16218            location: cudaMemLocation,
16219        ) -> cudaError_t,
16220        #[cfg(any(feature = "cuda-13000"))]
16221        pub cudaMemDiscardAndPrefetchBatchAsync: unsafe extern "C" fn(
16222            dptrs: *mut *mut ::core::ffi::c_void,
16223            sizes: *mut usize,
16224            count: usize,
16225            prefetchLocs: *mut cudaMemLocation,
16226            prefetchLocIdxs: *mut usize,
16227            numPrefetchLocs: usize,
16228            flags: ::core::ffi::c_ulonglong,
16229            stream: cudaStream_t,
16230        ) -> cudaError_t,
16231        #[cfg(any(feature = "cuda-13000"))]
16232        pub cudaMemDiscardBatchAsync: unsafe extern "C" fn(
16233            dptrs: *mut *mut ::core::ffi::c_void,
16234            sizes: *mut usize,
16235            count: usize,
16236            flags: ::core::ffi::c_ulonglong,
16237            stream: cudaStream_t,
16238        ) -> cudaError_t,
16239        #[cfg(any(feature = "cuda-13000"))]
16240        pub cudaMemGetDefaultMemPool: unsafe extern "C" fn(
16241            memPool: *mut cudaMemPool_t,
16242            location: *mut cudaMemLocation,
16243            type_: cudaMemAllocationType,
16244        ) -> cudaError_t,
16245        pub cudaMemGetInfo:
16246            unsafe extern "C" fn(free: *mut usize, total: *mut usize) -> cudaError_t,
16247        #[cfg(any(feature = "cuda-13000"))]
16248        pub cudaMemGetMemPool: unsafe extern "C" fn(
16249            memPool: *mut cudaMemPool_t,
16250            location: *mut cudaMemLocation,
16251            type_: cudaMemAllocationType,
16252        ) -> cudaError_t,
16253        pub cudaMemPoolCreate: unsafe extern "C" fn(
16254            memPool: *mut cudaMemPool_t,
16255            poolProps: *const cudaMemPoolProps,
16256        ) -> cudaError_t,
16257        pub cudaMemPoolDestroy: unsafe extern "C" fn(memPool: cudaMemPool_t) -> cudaError_t,
16258        pub cudaMemPoolExportPointer: unsafe extern "C" fn(
16259            exportData: *mut cudaMemPoolPtrExportData,
16260            ptr: *mut ::core::ffi::c_void,
16261        ) -> cudaError_t,
16262        pub cudaMemPoolExportToShareableHandle: unsafe extern "C" fn(
16263            shareableHandle: *mut ::core::ffi::c_void,
16264            memPool: cudaMemPool_t,
16265            handleType: cudaMemAllocationHandleType,
16266            flags: ::core::ffi::c_uint,
16267        ) -> cudaError_t,
16268        pub cudaMemPoolGetAccess: unsafe extern "C" fn(
16269            flags: *mut cudaMemAccessFlags,
16270            memPool: cudaMemPool_t,
16271            location: *mut cudaMemLocation,
16272        ) -> cudaError_t,
16273        pub cudaMemPoolGetAttribute: unsafe extern "C" fn(
16274            memPool: cudaMemPool_t,
16275            attr: cudaMemPoolAttr,
16276            value: *mut ::core::ffi::c_void,
16277        ) -> cudaError_t,
16278        pub cudaMemPoolImportFromShareableHandle: unsafe extern "C" fn(
16279            memPool: *mut cudaMemPool_t,
16280            shareableHandle: *mut ::core::ffi::c_void,
16281            handleType: cudaMemAllocationHandleType,
16282            flags: ::core::ffi::c_uint,
16283        ) -> cudaError_t,
16284        pub cudaMemPoolImportPointer: unsafe extern "C" fn(
16285            ptr: *mut *mut ::core::ffi::c_void,
16286            memPool: cudaMemPool_t,
16287            exportData: *mut cudaMemPoolPtrExportData,
16288        ) -> cudaError_t,
16289        pub cudaMemPoolSetAccess: unsafe extern "C" fn(
16290            memPool: cudaMemPool_t,
16291            descList: *const cudaMemAccessDesc,
16292            count: usize,
16293        ) -> cudaError_t,
16294        pub cudaMemPoolSetAttribute: unsafe extern "C" fn(
16295            memPool: cudaMemPool_t,
16296            attr: cudaMemPoolAttr,
16297            value: *mut ::core::ffi::c_void,
16298        ) -> cudaError_t,
16299        pub cudaMemPoolTrimTo:
16300            unsafe extern "C" fn(memPool: cudaMemPool_t, minBytesToKeep: usize) -> cudaError_t,
16301        #[cfg(any(
16302            feature = "cuda-11040",
16303            feature = "cuda-11050",
16304            feature = "cuda-11060",
16305            feature = "cuda-11070",
16306            feature = "cuda-11080",
16307            feature = "cuda-12000",
16308            feature = "cuda-12010",
16309            feature = "cuda-12020",
16310            feature = "cuda-12030",
16311            feature = "cuda-12040",
16312            feature = "cuda-12050",
16313            feature = "cuda-12060",
16314            feature = "cuda-12080",
16315            feature = "cuda-12090"
16316        ))]
16317        pub cudaMemPrefetchAsync: unsafe extern "C" fn(
16318            devPtr: *const ::core::ffi::c_void,
16319            count: usize,
16320            dstDevice: ::core::ffi::c_int,
16321            stream: cudaStream_t,
16322        ) -> cudaError_t,
16323        #[cfg(any(feature = "cuda-13000"))]
16324        pub cudaMemPrefetchAsync: unsafe extern "C" fn(
16325            devPtr: *const ::core::ffi::c_void,
16326            count: usize,
16327            location: cudaMemLocation,
16328            flags: ::core::ffi::c_uint,
16329            stream: cudaStream_t,
16330        ) -> cudaError_t,
16331        #[cfg(any(
16332            feature = "cuda-12020",
16333            feature = "cuda-12030",
16334            feature = "cuda-12040",
16335            feature = "cuda-12050",
16336            feature = "cuda-12060",
16337            feature = "cuda-12080",
16338            feature = "cuda-12090"
16339        ))]
16340        pub cudaMemPrefetchAsync_v2: unsafe extern "C" fn(
16341            devPtr: *const ::core::ffi::c_void,
16342            count: usize,
16343            location: cudaMemLocation,
16344            flags: ::core::ffi::c_uint,
16345            stream: cudaStream_t,
16346        ) -> cudaError_t,
16347        #[cfg(any(feature = "cuda-13000"))]
16348        pub cudaMemPrefetchBatchAsync: unsafe extern "C" fn(
16349            dptrs: *mut *mut ::core::ffi::c_void,
16350            sizes: *mut usize,
16351            count: usize,
16352            prefetchLocs: *mut cudaMemLocation,
16353            prefetchLocIdxs: *mut usize,
16354            numPrefetchLocs: usize,
16355            flags: ::core::ffi::c_ulonglong,
16356            stream: cudaStream_t,
16357        ) -> cudaError_t,
16358        pub cudaMemRangeGetAttribute: unsafe extern "C" fn(
16359            data: *mut ::core::ffi::c_void,
16360            dataSize: usize,
16361            attribute: cudaMemRangeAttribute,
16362            devPtr: *const ::core::ffi::c_void,
16363            count: usize,
16364        ) -> cudaError_t,
16365        pub cudaMemRangeGetAttributes: unsafe extern "C" fn(
16366            data: *mut *mut ::core::ffi::c_void,
16367            dataSizes: *mut usize,
16368            attributes: *mut cudaMemRangeAttribute,
16369            numAttributes: usize,
16370            devPtr: *const ::core::ffi::c_void,
16371            count: usize,
16372        ) -> cudaError_t,
16373        #[cfg(any(feature = "cuda-13000"))]
16374        pub cudaMemSetMemPool: unsafe extern "C" fn(
16375            location: *mut cudaMemLocation,
16376            type_: cudaMemAllocationType,
16377            memPool: cudaMemPool_t,
16378        ) -> cudaError_t,
16379        pub cudaMemcpy: unsafe extern "C" fn(
16380            dst: *mut ::core::ffi::c_void,
16381            src: *const ::core::ffi::c_void,
16382            count: usize,
16383            kind: cudaMemcpyKind,
16384        ) -> cudaError_t,
16385        pub cudaMemcpy2D: unsafe extern "C" fn(
16386            dst: *mut ::core::ffi::c_void,
16387            dpitch: usize,
16388            src: *const ::core::ffi::c_void,
16389            spitch: usize,
16390            width: usize,
16391            height: usize,
16392            kind: cudaMemcpyKind,
16393        ) -> cudaError_t,
16394        pub cudaMemcpy2DArrayToArray: unsafe extern "C" fn(
16395            dst: cudaArray_t,
16396            wOffsetDst: usize,
16397            hOffsetDst: usize,
16398            src: cudaArray_const_t,
16399            wOffsetSrc: usize,
16400            hOffsetSrc: usize,
16401            width: usize,
16402            height: usize,
16403            kind: cudaMemcpyKind,
16404        ) -> cudaError_t,
16405        pub cudaMemcpy2DAsync: unsafe extern "C" fn(
16406            dst: *mut ::core::ffi::c_void,
16407            dpitch: usize,
16408            src: *const ::core::ffi::c_void,
16409            spitch: usize,
16410            width: usize,
16411            height: usize,
16412            kind: cudaMemcpyKind,
16413            stream: cudaStream_t,
16414        ) -> cudaError_t,
16415        pub cudaMemcpy2DFromArray: unsafe extern "C" fn(
16416            dst: *mut ::core::ffi::c_void,
16417            dpitch: usize,
16418            src: cudaArray_const_t,
16419            wOffset: usize,
16420            hOffset: usize,
16421            width: usize,
16422            height: usize,
16423            kind: cudaMemcpyKind,
16424        ) -> cudaError_t,
16425        pub cudaMemcpy2DFromArrayAsync: unsafe extern "C" fn(
16426            dst: *mut ::core::ffi::c_void,
16427            dpitch: usize,
16428            src: cudaArray_const_t,
16429            wOffset: usize,
16430            hOffset: usize,
16431            width: usize,
16432            height: usize,
16433            kind: cudaMemcpyKind,
16434            stream: cudaStream_t,
16435        ) -> cudaError_t,
16436        pub cudaMemcpy2DToArray: unsafe extern "C" fn(
16437            dst: cudaArray_t,
16438            wOffset: usize,
16439            hOffset: usize,
16440            src: *const ::core::ffi::c_void,
16441            spitch: usize,
16442            width: usize,
16443            height: usize,
16444            kind: cudaMemcpyKind,
16445        ) -> cudaError_t,
16446        pub cudaMemcpy2DToArrayAsync: unsafe extern "C" fn(
16447            dst: cudaArray_t,
16448            wOffset: usize,
16449            hOffset: usize,
16450            src: *const ::core::ffi::c_void,
16451            spitch: usize,
16452            width: usize,
16453            height: usize,
16454            kind: cudaMemcpyKind,
16455            stream: cudaStream_t,
16456        ) -> cudaError_t,
16457        pub cudaMemcpy3D: unsafe extern "C" fn(p: *const cudaMemcpy3DParms) -> cudaError_t,
16458        pub cudaMemcpy3DAsync:
16459            unsafe extern "C" fn(p: *const cudaMemcpy3DParms, stream: cudaStream_t) -> cudaError_t,
16460        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
16461        pub cudaMemcpy3DBatchAsync: unsafe extern "C" fn(
16462            numOps: usize,
16463            opList: *mut cudaMemcpy3DBatchOp,
16464            failIdx: *mut usize,
16465            flags: ::core::ffi::c_ulonglong,
16466            stream: cudaStream_t,
16467        ) -> cudaError_t,
16468        #[cfg(any(feature = "cuda-13000"))]
16469        pub cudaMemcpy3DBatchAsync: unsafe extern "C" fn(
16470            numOps: usize,
16471            opList: *mut cudaMemcpy3DBatchOp,
16472            flags: ::core::ffi::c_ulonglong,
16473            stream: cudaStream_t,
16474        ) -> cudaError_t,
16475        pub cudaMemcpy3DPeer: unsafe extern "C" fn(p: *const cudaMemcpy3DPeerParms) -> cudaError_t,
16476        pub cudaMemcpy3DPeerAsync: unsafe extern "C" fn(
16477            p: *const cudaMemcpy3DPeerParms,
16478            stream: cudaStream_t,
16479        ) -> cudaError_t,
16480        pub cudaMemcpyArrayToArray: unsafe extern "C" fn(
16481            dst: cudaArray_t,
16482            wOffsetDst: usize,
16483            hOffsetDst: usize,
16484            src: cudaArray_const_t,
16485            wOffsetSrc: usize,
16486            hOffsetSrc: usize,
16487            count: usize,
16488            kind: cudaMemcpyKind,
16489        ) -> cudaError_t,
16490        pub cudaMemcpyAsync: unsafe extern "C" fn(
16491            dst: *mut ::core::ffi::c_void,
16492            src: *const ::core::ffi::c_void,
16493            count: usize,
16494            kind: cudaMemcpyKind,
16495            stream: cudaStream_t,
16496        ) -> cudaError_t,
16497        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
16498        pub cudaMemcpyBatchAsync: unsafe extern "C" fn(
16499            dsts: *mut *mut ::core::ffi::c_void,
16500            srcs: *mut *mut ::core::ffi::c_void,
16501            sizes: *mut usize,
16502            count: usize,
16503            attrs: *mut cudaMemcpyAttributes,
16504            attrsIdxs: *mut usize,
16505            numAttrs: usize,
16506            failIdx: *mut usize,
16507            stream: cudaStream_t,
16508        ) -> cudaError_t,
16509        #[cfg(any(feature = "cuda-13000"))]
16510        pub cudaMemcpyBatchAsync: unsafe extern "C" fn(
16511            dsts: *const *mut ::core::ffi::c_void,
16512            srcs: *const *const ::core::ffi::c_void,
16513            sizes: *const usize,
16514            count: usize,
16515            attrs: *mut cudaMemcpyAttributes,
16516            attrsIdxs: *mut usize,
16517            numAttrs: usize,
16518            stream: cudaStream_t,
16519        ) -> cudaError_t,
16520        pub cudaMemcpyFromArray: unsafe extern "C" fn(
16521            dst: *mut ::core::ffi::c_void,
16522            src: cudaArray_const_t,
16523            wOffset: usize,
16524            hOffset: usize,
16525            count: usize,
16526            kind: cudaMemcpyKind,
16527        ) -> cudaError_t,
16528        pub cudaMemcpyFromArrayAsync: unsafe extern "C" fn(
16529            dst: *mut ::core::ffi::c_void,
16530            src: cudaArray_const_t,
16531            wOffset: usize,
16532            hOffset: usize,
16533            count: usize,
16534            kind: cudaMemcpyKind,
16535            stream: cudaStream_t,
16536        ) -> cudaError_t,
16537        pub cudaMemcpyFromSymbol: unsafe extern "C" fn(
16538            dst: *mut ::core::ffi::c_void,
16539            symbol: *const ::core::ffi::c_void,
16540            count: usize,
16541            offset: usize,
16542            kind: cudaMemcpyKind,
16543        ) -> cudaError_t,
16544        pub cudaMemcpyFromSymbolAsync: unsafe extern "C" fn(
16545            dst: *mut ::core::ffi::c_void,
16546            symbol: *const ::core::ffi::c_void,
16547            count: usize,
16548            offset: usize,
16549            kind: cudaMemcpyKind,
16550            stream: cudaStream_t,
16551        ) -> cudaError_t,
16552        pub cudaMemcpyPeer: unsafe extern "C" fn(
16553            dst: *mut ::core::ffi::c_void,
16554            dstDevice: ::core::ffi::c_int,
16555            src: *const ::core::ffi::c_void,
16556            srcDevice: ::core::ffi::c_int,
16557            count: usize,
16558        ) -> cudaError_t,
16559        pub cudaMemcpyPeerAsync: unsafe extern "C" fn(
16560            dst: *mut ::core::ffi::c_void,
16561            dstDevice: ::core::ffi::c_int,
16562            src: *const ::core::ffi::c_void,
16563            srcDevice: ::core::ffi::c_int,
16564            count: usize,
16565            stream: cudaStream_t,
16566        ) -> cudaError_t,
16567        pub cudaMemcpyToArray: unsafe extern "C" fn(
16568            dst: cudaArray_t,
16569            wOffset: usize,
16570            hOffset: usize,
16571            src: *const ::core::ffi::c_void,
16572            count: usize,
16573            kind: cudaMemcpyKind,
16574        ) -> cudaError_t,
16575        pub cudaMemcpyToArrayAsync: unsafe extern "C" fn(
16576            dst: cudaArray_t,
16577            wOffset: usize,
16578            hOffset: usize,
16579            src: *const ::core::ffi::c_void,
16580            count: usize,
16581            kind: cudaMemcpyKind,
16582            stream: cudaStream_t,
16583        ) -> cudaError_t,
16584        pub cudaMemcpyToSymbol: unsafe extern "C" fn(
16585            symbol: *const ::core::ffi::c_void,
16586            src: *const ::core::ffi::c_void,
16587            count: usize,
16588            offset: usize,
16589            kind: cudaMemcpyKind,
16590        ) -> cudaError_t,
16591        pub cudaMemcpyToSymbolAsync: unsafe extern "C" fn(
16592            symbol: *const ::core::ffi::c_void,
16593            src: *const ::core::ffi::c_void,
16594            count: usize,
16595            offset: usize,
16596            kind: cudaMemcpyKind,
16597            stream: cudaStream_t,
16598        ) -> cudaError_t,
16599        pub cudaMemset: unsafe extern "C" fn(
16600            devPtr: *mut ::core::ffi::c_void,
16601            value: ::core::ffi::c_int,
16602            count: usize,
16603        ) -> cudaError_t,
16604        pub cudaMemset2D: unsafe extern "C" fn(
16605            devPtr: *mut ::core::ffi::c_void,
16606            pitch: usize,
16607            value: ::core::ffi::c_int,
16608            width: usize,
16609            height: usize,
16610        ) -> cudaError_t,
16611        pub cudaMemset2DAsync: unsafe extern "C" fn(
16612            devPtr: *mut ::core::ffi::c_void,
16613            pitch: usize,
16614            value: ::core::ffi::c_int,
16615            width: usize,
16616            height: usize,
16617            stream: cudaStream_t,
16618        ) -> cudaError_t,
16619        pub cudaMemset3D: unsafe extern "C" fn(
16620            pitchedDevPtr: cudaPitchedPtr,
16621            value: ::core::ffi::c_int,
16622            extent: cudaExtent,
16623        ) -> cudaError_t,
16624        pub cudaMemset3DAsync: unsafe extern "C" fn(
16625            pitchedDevPtr: cudaPitchedPtr,
16626            value: ::core::ffi::c_int,
16627            extent: cudaExtent,
16628            stream: cudaStream_t,
16629        ) -> cudaError_t,
16630        pub cudaMemsetAsync: unsafe extern "C" fn(
16631            devPtr: *mut ::core::ffi::c_void,
16632            value: ::core::ffi::c_int,
16633            count: usize,
16634            stream: cudaStream_t,
16635        ) -> cudaError_t,
16636        #[cfg(any(
16637            feature = "cuda-11060",
16638            feature = "cuda-11070",
16639            feature = "cuda-11080",
16640            feature = "cuda-12000",
16641            feature = "cuda-12010",
16642            feature = "cuda-12020",
16643            feature = "cuda-12030",
16644            feature = "cuda-12040",
16645            feature = "cuda-12050",
16646            feature = "cuda-12060",
16647            feature = "cuda-12080",
16648            feature = "cuda-12090",
16649            feature = "cuda-13000"
16650        ))]
16651        pub cudaMipmappedArrayGetMemoryRequirements: unsafe extern "C" fn(
16652            memoryRequirements: *mut cudaArrayMemoryRequirements,
16653            mipmap: cudaMipmappedArray_t,
16654            device: ::core::ffi::c_int,
16655        ) -> cudaError_t,
16656        pub cudaMipmappedArrayGetSparseProperties: unsafe extern "C" fn(
16657            sparseProperties: *mut cudaArraySparseProperties,
16658            mipmap: cudaMipmappedArray_t,
16659        ) -> cudaError_t,
16660        pub cudaOccupancyAvailableDynamicSMemPerBlock: unsafe extern "C" fn(
16661            dynamicSmemSize: *mut usize,
16662            func: *const ::core::ffi::c_void,
16663            numBlocks: ::core::ffi::c_int,
16664            blockSize: ::core::ffi::c_int,
16665        ) -> cudaError_t,
16666        pub cudaOccupancyMaxActiveBlocksPerMultiprocessor: unsafe extern "C" fn(
16667            numBlocks: *mut ::core::ffi::c_int,
16668            func: *const ::core::ffi::c_void,
16669            blockSize: ::core::ffi::c_int,
16670            dynamicSMemSize: usize,
16671        )
16672            -> cudaError_t,
16673        pub cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags:
16674            unsafe extern "C" fn(
16675                numBlocks: *mut ::core::ffi::c_int,
16676                func: *const ::core::ffi::c_void,
16677                blockSize: ::core::ffi::c_int,
16678                dynamicSMemSize: usize,
16679                flags: ::core::ffi::c_uint,
16680            ) -> cudaError_t,
16681        #[cfg(any(
16682            feature = "cuda-11080",
16683            feature = "cuda-12000",
16684            feature = "cuda-12010",
16685            feature = "cuda-12020",
16686            feature = "cuda-12030",
16687            feature = "cuda-12040",
16688            feature = "cuda-12050",
16689            feature = "cuda-12060",
16690            feature = "cuda-12080",
16691            feature = "cuda-12090",
16692            feature = "cuda-13000"
16693        ))]
16694        pub cudaOccupancyMaxActiveClusters: unsafe extern "C" fn(
16695            numClusters: *mut ::core::ffi::c_int,
16696            func: *const ::core::ffi::c_void,
16697            launchConfig: *const cudaLaunchConfig_t,
16698        ) -> cudaError_t,
16699        #[cfg(any(
16700            feature = "cuda-11080",
16701            feature = "cuda-12000",
16702            feature = "cuda-12010",
16703            feature = "cuda-12020",
16704            feature = "cuda-12030",
16705            feature = "cuda-12040",
16706            feature = "cuda-12050",
16707            feature = "cuda-12060",
16708            feature = "cuda-12080",
16709            feature = "cuda-12090",
16710            feature = "cuda-13000"
16711        ))]
16712        pub cudaOccupancyMaxPotentialClusterSize: unsafe extern "C" fn(
16713            clusterSize: *mut ::core::ffi::c_int,
16714            func: *const ::core::ffi::c_void,
16715            launchConfig: *const cudaLaunchConfig_t,
16716        ) -> cudaError_t,
16717        pub cudaPeekAtLastError: unsafe extern "C" fn() -> cudaError_t,
16718        pub cudaPointerGetAttributes: unsafe extern "C" fn(
16719            attributes: *mut cudaPointerAttributes,
16720            ptr: *const ::core::ffi::c_void,
16721        ) -> cudaError_t,
16722        pub cudaProfilerStop: unsafe extern "C" fn() -> cudaError_t,
16723        pub cudaRuntimeGetVersion:
16724            unsafe extern "C" fn(runtimeVersion: *mut ::core::ffi::c_int) -> cudaError_t,
16725        pub cudaSetDevice: unsafe extern "C" fn(device: ::core::ffi::c_int) -> cudaError_t,
16726        pub cudaSetDeviceFlags: unsafe extern "C" fn(flags: ::core::ffi::c_uint) -> cudaError_t,
16727        #[cfg(any(
16728            feature = "cuda-11040",
16729            feature = "cuda-11050",
16730            feature = "cuda-11060",
16731            feature = "cuda-11070",
16732            feature = "cuda-11080",
16733            feature = "cuda-12000",
16734            feature = "cuda-12010",
16735            feature = "cuda-12020",
16736            feature = "cuda-12030",
16737            feature = "cuda-12040",
16738            feature = "cuda-12050",
16739            feature = "cuda-12060",
16740            feature = "cuda-12080",
16741            feature = "cuda-12090"
16742        ))]
16743        pub cudaSetDoubleForDevice: unsafe extern "C" fn(d: *mut f64) -> cudaError_t,
16744        #[cfg(any(
16745            feature = "cuda-11040",
16746            feature = "cuda-11050",
16747            feature = "cuda-11060",
16748            feature = "cuda-11070",
16749            feature = "cuda-11080",
16750            feature = "cuda-12000",
16751            feature = "cuda-12010",
16752            feature = "cuda-12020",
16753            feature = "cuda-12030",
16754            feature = "cuda-12040",
16755            feature = "cuda-12050",
16756            feature = "cuda-12060",
16757            feature = "cuda-12080",
16758            feature = "cuda-12090"
16759        ))]
16760        pub cudaSetDoubleForHost: unsafe extern "C" fn(d: *mut f64) -> cudaError_t,
16761        pub cudaSetValidDevices: unsafe extern "C" fn(
16762            device_arr: *mut ::core::ffi::c_int,
16763            len: ::core::ffi::c_int,
16764        ) -> cudaError_t,
16765        #[cfg(any(feature = "cuda-13000"))]
16766        pub cudaSignalExternalSemaphoresAsync: unsafe extern "C" fn(
16767            extSemArray: *const cudaExternalSemaphore_t,
16768            paramsArray: *const cudaExternalSemaphoreSignalParams,
16769            numExtSems: ::core::ffi::c_uint,
16770            stream: cudaStream_t,
16771        ) -> cudaError_t,
16772        #[cfg(any(
16773            feature = "cuda-11040",
16774            feature = "cuda-11050",
16775            feature = "cuda-11060",
16776            feature = "cuda-11070",
16777            feature = "cuda-11080",
16778            feature = "cuda-12000",
16779            feature = "cuda-12010",
16780            feature = "cuda-12020",
16781            feature = "cuda-12030",
16782            feature = "cuda-12040",
16783            feature = "cuda-12050",
16784            feature = "cuda-12060",
16785            feature = "cuda-12080",
16786            feature = "cuda-12090"
16787        ))]
16788        pub cudaSignalExternalSemaphoresAsync_v2: unsafe extern "C" fn(
16789            extSemArray: *const cudaExternalSemaphore_t,
16790            paramsArray: *const cudaExternalSemaphoreSignalParams,
16791            numExtSems: ::core::ffi::c_uint,
16792            stream: cudaStream_t,
16793        ) -> cudaError_t,
16794        pub cudaStreamAddCallback: unsafe extern "C" fn(
16795            stream: cudaStream_t,
16796            callback: cudaStreamCallback_t,
16797            userData: *mut ::core::ffi::c_void,
16798            flags: ::core::ffi::c_uint,
16799        ) -> cudaError_t,
16800        pub cudaStreamAttachMemAsync: unsafe extern "C" fn(
16801            stream: cudaStream_t,
16802            devPtr: *mut ::core::ffi::c_void,
16803            length: usize,
16804            flags: ::core::ffi::c_uint,
16805        ) -> cudaError_t,
16806        pub cudaStreamBeginCapture:
16807            unsafe extern "C" fn(stream: cudaStream_t, mode: cudaStreamCaptureMode) -> cudaError_t,
16808        #[cfg(any(
16809            feature = "cuda-12030",
16810            feature = "cuda-12040",
16811            feature = "cuda-12050",
16812            feature = "cuda-12060",
16813            feature = "cuda-12080",
16814            feature = "cuda-12090",
16815            feature = "cuda-13000"
16816        ))]
16817        pub cudaStreamBeginCaptureToGraph: unsafe extern "C" fn(
16818            stream: cudaStream_t,
16819            graph: cudaGraph_t,
16820            dependencies: *const cudaGraphNode_t,
16821            dependencyData: *const cudaGraphEdgeData,
16822            numDependencies: usize,
16823            mode: cudaStreamCaptureMode,
16824        ) -> cudaError_t,
16825        pub cudaStreamCopyAttributes:
16826            unsafe extern "C" fn(dst: cudaStream_t, src: cudaStream_t) -> cudaError_t,
16827        pub cudaStreamCreate: unsafe extern "C" fn(pStream: *mut cudaStream_t) -> cudaError_t,
16828        pub cudaStreamCreateWithFlags: unsafe extern "C" fn(
16829            pStream: *mut cudaStream_t,
16830            flags: ::core::ffi::c_uint,
16831        ) -> cudaError_t,
16832        pub cudaStreamCreateWithPriority: unsafe extern "C" fn(
16833            pStream: *mut cudaStream_t,
16834            flags: ::core::ffi::c_uint,
16835            priority: ::core::ffi::c_int,
16836        ) -> cudaError_t,
16837        pub cudaStreamDestroy: unsafe extern "C" fn(stream: cudaStream_t) -> cudaError_t,
16838        pub cudaStreamEndCapture:
16839            unsafe extern "C" fn(stream: cudaStream_t, pGraph: *mut cudaGraph_t) -> cudaError_t,
16840        #[cfg(any(
16841            feature = "cuda-11040",
16842            feature = "cuda-11050",
16843            feature = "cuda-11060",
16844            feature = "cuda-11070"
16845        ))]
16846        pub cudaStreamGetAttribute: unsafe extern "C" fn(
16847            hStream: cudaStream_t,
16848            attr: cudaStreamAttrID,
16849            value_out: *mut cudaStreamAttrValue,
16850        ) -> cudaError_t,
16851        #[cfg(any(
16852            feature = "cuda-11080",
16853            feature = "cuda-12000",
16854            feature = "cuda-12010",
16855            feature = "cuda-12020",
16856            feature = "cuda-12030",
16857            feature = "cuda-12040",
16858            feature = "cuda-12050",
16859            feature = "cuda-12060",
16860            feature = "cuda-12080",
16861            feature = "cuda-12090",
16862            feature = "cuda-13000"
16863        ))]
16864        pub cudaStreamGetAttribute: unsafe extern "C" fn(
16865            hStream: cudaStream_t,
16866            attr: cudaLaunchAttributeID,
16867            value_out: *mut cudaLaunchAttributeValue,
16868        ) -> cudaError_t,
16869        #[cfg(any(
16870            feature = "cuda-11040",
16871            feature = "cuda-11050",
16872            feature = "cuda-11060",
16873            feature = "cuda-11070",
16874            feature = "cuda-11080"
16875        ))]
16876        pub cudaStreamGetCaptureInfo: unsafe extern "C" fn(
16877            stream: cudaStream_t,
16878            pCaptureStatus: *mut cudaStreamCaptureStatus,
16879            pId: *mut ::core::ffi::c_ulonglong,
16880        ) -> cudaError_t,
16881        #[cfg(any(feature = "cuda-13000"))]
16882        pub cudaStreamGetCaptureInfo: unsafe extern "C" fn(
16883            stream: cudaStream_t,
16884            captureStatus_out: *mut cudaStreamCaptureStatus,
16885            id_out: *mut ::core::ffi::c_ulonglong,
16886            graph_out: *mut cudaGraph_t,
16887            dependencies_out: *mut *const cudaGraphNode_t,
16888            edgeData_out: *mut *const cudaGraphEdgeData,
16889            numDependencies_out: *mut usize,
16890        ) -> cudaError_t,
16891        #[cfg(any(
16892            feature = "cuda-11040",
16893            feature = "cuda-11050",
16894            feature = "cuda-11060",
16895            feature = "cuda-11070",
16896            feature = "cuda-11080",
16897            feature = "cuda-12000",
16898            feature = "cuda-12010",
16899            feature = "cuda-12020",
16900            feature = "cuda-12030",
16901            feature = "cuda-12040",
16902            feature = "cuda-12050",
16903            feature = "cuda-12060",
16904            feature = "cuda-12080",
16905            feature = "cuda-12090"
16906        ))]
16907        pub cudaStreamGetCaptureInfo_v2: unsafe extern "C" fn(
16908            stream: cudaStream_t,
16909            captureStatus_out: *mut cudaStreamCaptureStatus,
16910            id_out: *mut ::core::ffi::c_ulonglong,
16911            graph_out: *mut cudaGraph_t,
16912            dependencies_out: *mut *const cudaGraphNode_t,
16913            numDependencies_out: *mut usize,
16914        ) -> cudaError_t,
16915        #[cfg(any(
16916            feature = "cuda-12030",
16917            feature = "cuda-12040",
16918            feature = "cuda-12050",
16919            feature = "cuda-12060",
16920            feature = "cuda-12080",
16921            feature = "cuda-12090"
16922        ))]
16923        pub cudaStreamGetCaptureInfo_v3: unsafe extern "C" fn(
16924            stream: cudaStream_t,
16925            captureStatus_out: *mut cudaStreamCaptureStatus,
16926            id_out: *mut ::core::ffi::c_ulonglong,
16927            graph_out: *mut cudaGraph_t,
16928            dependencies_out: *mut *const cudaGraphNode_t,
16929            edgeData_out: *mut *const cudaGraphEdgeData,
16930            numDependencies_out: *mut usize,
16931        ) -> cudaError_t,
16932        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16933        pub cudaStreamGetDevice: unsafe extern "C" fn(
16934            hStream: cudaStream_t,
16935            device: *mut ::core::ffi::c_int,
16936        ) -> cudaError_t,
16937        pub cudaStreamGetFlags: unsafe extern "C" fn(
16938            hStream: cudaStream_t,
16939            flags: *mut ::core::ffi::c_uint,
16940        ) -> cudaError_t,
16941        #[cfg(any(
16942            feature = "cuda-12000",
16943            feature = "cuda-12010",
16944            feature = "cuda-12020",
16945            feature = "cuda-12030",
16946            feature = "cuda-12040",
16947            feature = "cuda-12050",
16948            feature = "cuda-12060",
16949            feature = "cuda-12080",
16950            feature = "cuda-12090",
16951            feature = "cuda-13000"
16952        ))]
16953        pub cudaStreamGetId: unsafe extern "C" fn(
16954            hStream: cudaStream_t,
16955            streamId: *mut ::core::ffi::c_ulonglong,
16956        ) -> cudaError_t,
16957        pub cudaStreamGetPriority: unsafe extern "C" fn(
16958            hStream: cudaStream_t,
16959            priority: *mut ::core::ffi::c_int,
16960        ) -> cudaError_t,
16961        pub cudaStreamIsCapturing: unsafe extern "C" fn(
16962            stream: cudaStream_t,
16963            pCaptureStatus: *mut cudaStreamCaptureStatus,
16964        ) -> cudaError_t,
16965        pub cudaStreamQuery: unsafe extern "C" fn(stream: cudaStream_t) -> cudaError_t,
16966        #[cfg(any(
16967            feature = "cuda-11040",
16968            feature = "cuda-11050",
16969            feature = "cuda-11060",
16970            feature = "cuda-11070"
16971        ))]
16972        pub cudaStreamSetAttribute: unsafe extern "C" fn(
16973            hStream: cudaStream_t,
16974            attr: cudaStreamAttrID,
16975            value: *const cudaStreamAttrValue,
16976        ) -> cudaError_t,
16977        #[cfg(any(
16978            feature = "cuda-11080",
16979            feature = "cuda-12000",
16980            feature = "cuda-12010",
16981            feature = "cuda-12020",
16982            feature = "cuda-12030",
16983            feature = "cuda-12040",
16984            feature = "cuda-12050",
16985            feature = "cuda-12060",
16986            feature = "cuda-12080",
16987            feature = "cuda-12090",
16988            feature = "cuda-13000"
16989        ))]
16990        pub cudaStreamSetAttribute: unsafe extern "C" fn(
16991            hStream: cudaStream_t,
16992            attr: cudaLaunchAttributeID,
16993            value: *const cudaLaunchAttributeValue,
16994        ) -> cudaError_t,
16995        pub cudaStreamSynchronize: unsafe extern "C" fn(stream: cudaStream_t) -> cudaError_t,
16996        #[cfg(any(
16997            feature = "cuda-11040",
16998            feature = "cuda-11050",
16999            feature = "cuda-11060",
17000            feature = "cuda-11070",
17001            feature = "cuda-11080",
17002            feature = "cuda-12000",
17003            feature = "cuda-12010",
17004            feature = "cuda-12020",
17005            feature = "cuda-12030",
17006            feature = "cuda-12040",
17007            feature = "cuda-12050",
17008            feature = "cuda-12060",
17009            feature = "cuda-12080",
17010            feature = "cuda-12090"
17011        ))]
17012        pub cudaStreamUpdateCaptureDependencies: unsafe extern "C" fn(
17013            stream: cudaStream_t,
17014            dependencies: *mut cudaGraphNode_t,
17015            numDependencies: usize,
17016            flags: ::core::ffi::c_uint,
17017        ) -> cudaError_t,
17018        #[cfg(any(feature = "cuda-13000"))]
17019        pub cudaStreamUpdateCaptureDependencies: unsafe extern "C" fn(
17020            stream: cudaStream_t,
17021            dependencies: *mut cudaGraphNode_t,
17022            dependencyData: *const cudaGraphEdgeData,
17023            numDependencies: usize,
17024            flags: ::core::ffi::c_uint,
17025        ) -> cudaError_t,
17026        #[cfg(any(
17027            feature = "cuda-12030",
17028            feature = "cuda-12040",
17029            feature = "cuda-12050",
17030            feature = "cuda-12060",
17031            feature = "cuda-12080",
17032            feature = "cuda-12090"
17033        ))]
17034        pub cudaStreamUpdateCaptureDependencies_v2: unsafe extern "C" fn(
17035            stream: cudaStream_t,
17036            dependencies: *mut cudaGraphNode_t,
17037            dependencyData: *const cudaGraphEdgeData,
17038            numDependencies: usize,
17039            flags: ::core::ffi::c_uint,
17040        ) -> cudaError_t,
17041        pub cudaStreamWaitEvent: unsafe extern "C" fn(
17042            stream: cudaStream_t,
17043            event: cudaEvent_t,
17044            flags: ::core::ffi::c_uint,
17045        ) -> cudaError_t,
17046        pub cudaThreadExchangeStreamCaptureMode:
17047            unsafe extern "C" fn(mode: *mut cudaStreamCaptureMode) -> cudaError_t,
17048        #[cfg(any(
17049            feature = "cuda-11040",
17050            feature = "cuda-11050",
17051            feature = "cuda-11060",
17052            feature = "cuda-11070",
17053            feature = "cuda-11080",
17054            feature = "cuda-12000",
17055            feature = "cuda-12010",
17056            feature = "cuda-12020",
17057            feature = "cuda-12030",
17058            feature = "cuda-12040",
17059            feature = "cuda-12050",
17060            feature = "cuda-12060",
17061            feature = "cuda-12080",
17062            feature = "cuda-12090"
17063        ))]
17064        pub cudaThreadExit: unsafe extern "C" fn() -> cudaError_t,
17065        #[cfg(any(
17066            feature = "cuda-11040",
17067            feature = "cuda-11050",
17068            feature = "cuda-11060",
17069            feature = "cuda-11070",
17070            feature = "cuda-11080",
17071            feature = "cuda-12000",
17072            feature = "cuda-12010",
17073            feature = "cuda-12020",
17074            feature = "cuda-12030",
17075            feature = "cuda-12040",
17076            feature = "cuda-12050",
17077            feature = "cuda-12060",
17078            feature = "cuda-12080",
17079            feature = "cuda-12090"
17080        ))]
17081        pub cudaThreadGetCacheConfig:
17082            unsafe extern "C" fn(pCacheConfig: *mut cudaFuncCache) -> cudaError_t,
17083        #[cfg(any(
17084            feature = "cuda-11040",
17085            feature = "cuda-11050",
17086            feature = "cuda-11060",
17087            feature = "cuda-11070",
17088            feature = "cuda-11080",
17089            feature = "cuda-12000",
17090            feature = "cuda-12010",
17091            feature = "cuda-12020",
17092            feature = "cuda-12030",
17093            feature = "cuda-12040",
17094            feature = "cuda-12050",
17095            feature = "cuda-12060",
17096            feature = "cuda-12080",
17097            feature = "cuda-12090"
17098        ))]
17099        pub cudaThreadGetLimit:
17100            unsafe extern "C" fn(pValue: *mut usize, limit: cudaLimit) -> cudaError_t,
17101        #[cfg(any(
17102            feature = "cuda-11040",
17103            feature = "cuda-11050",
17104            feature = "cuda-11060",
17105            feature = "cuda-11070",
17106            feature = "cuda-11080",
17107            feature = "cuda-12000",
17108            feature = "cuda-12010",
17109            feature = "cuda-12020",
17110            feature = "cuda-12030",
17111            feature = "cuda-12040",
17112            feature = "cuda-12050",
17113            feature = "cuda-12060",
17114            feature = "cuda-12080",
17115            feature = "cuda-12090"
17116        ))]
17117        pub cudaThreadSetCacheConfig:
17118            unsafe extern "C" fn(cacheConfig: cudaFuncCache) -> cudaError_t,
17119        #[cfg(any(
17120            feature = "cuda-11040",
17121            feature = "cuda-11050",
17122            feature = "cuda-11060",
17123            feature = "cuda-11070",
17124            feature = "cuda-11080",
17125            feature = "cuda-12000",
17126            feature = "cuda-12010",
17127            feature = "cuda-12020",
17128            feature = "cuda-12030",
17129            feature = "cuda-12040",
17130            feature = "cuda-12050",
17131            feature = "cuda-12060",
17132            feature = "cuda-12080",
17133            feature = "cuda-12090"
17134        ))]
17135        pub cudaThreadSetLimit: unsafe extern "C" fn(limit: cudaLimit, value: usize) -> cudaError_t,
17136        #[cfg(any(
17137            feature = "cuda-11040",
17138            feature = "cuda-11050",
17139            feature = "cuda-11060",
17140            feature = "cuda-11070",
17141            feature = "cuda-11080",
17142            feature = "cuda-12000",
17143            feature = "cuda-12010",
17144            feature = "cuda-12020",
17145            feature = "cuda-12030",
17146            feature = "cuda-12040",
17147            feature = "cuda-12050",
17148            feature = "cuda-12060",
17149            feature = "cuda-12080",
17150            feature = "cuda-12090"
17151        ))]
17152        pub cudaThreadSynchronize: unsafe extern "C" fn() -> cudaError_t,
17153        #[cfg(any(
17154            feature = "cuda-11040",
17155            feature = "cuda-11050",
17156            feature = "cuda-11060",
17157            feature = "cuda-11070",
17158            feature = "cuda-11080"
17159        ))]
17160        pub cudaUnbindTexture: unsafe extern "C" fn(texref: *const textureReference) -> cudaError_t,
17161        pub cudaUserObjectCreate: unsafe extern "C" fn(
17162            object_out: *mut cudaUserObject_t,
17163            ptr: *mut ::core::ffi::c_void,
17164            destroy: cudaHostFn_t,
17165            initialRefcount: ::core::ffi::c_uint,
17166            flags: ::core::ffi::c_uint,
17167        ) -> cudaError_t,
17168        pub cudaUserObjectRelease: unsafe extern "C" fn(
17169            object: cudaUserObject_t,
17170            count: ::core::ffi::c_uint,
17171        ) -> cudaError_t,
17172        pub cudaUserObjectRetain: unsafe extern "C" fn(
17173            object: cudaUserObject_t,
17174            count: ::core::ffi::c_uint,
17175        ) -> cudaError_t,
17176        #[cfg(any(feature = "cuda-13000"))]
17177        pub cudaWaitExternalSemaphoresAsync: unsafe extern "C" fn(
17178            extSemArray: *const cudaExternalSemaphore_t,
17179            paramsArray: *const cudaExternalSemaphoreWaitParams,
17180            numExtSems: ::core::ffi::c_uint,
17181            stream: cudaStream_t,
17182        ) -> cudaError_t,
17183        #[cfg(any(
17184            feature = "cuda-11040",
17185            feature = "cuda-11050",
17186            feature = "cuda-11060",
17187            feature = "cuda-11070",
17188            feature = "cuda-11080",
17189            feature = "cuda-12000",
17190            feature = "cuda-12010",
17191            feature = "cuda-12020",
17192            feature = "cuda-12030",
17193            feature = "cuda-12040",
17194            feature = "cuda-12050",
17195            feature = "cuda-12060",
17196            feature = "cuda-12080",
17197            feature = "cuda-12090"
17198        ))]
17199        pub cudaWaitExternalSemaphoresAsync_v2: unsafe extern "C" fn(
17200            extSemArray: *const cudaExternalSemaphore_t,
17201            paramsArray: *const cudaExternalSemaphoreWaitParams,
17202            numExtSems: ::core::ffi::c_uint,
17203            stream: cudaStream_t,
17204        ) -> cudaError_t,
17205    }
17206    impl Lib {
17207        pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
17208        where
17209            P: AsRef<::std::ffi::OsStr>,
17210        {
17211            let library = ::libloading::Library::new(path)?;
17212            Self::from_library(library)
17213        }
17214        pub unsafe fn from_library<L>(library: L) -> Result<Self, ::libloading::Error>
17215        where
17216            L: Into<::libloading::Library>,
17217        {
17218            let __library = library.into();
17219            let cudaArrayGetInfo = __library
17220                .get(b"cudaArrayGetInfo\0")
17221                .map(|sym| *sym)
17222                .expect("Expected symbol in library");
17223            #[cfg(any(
17224                feature = "cuda-11060",
17225                feature = "cuda-11070",
17226                feature = "cuda-11080",
17227                feature = "cuda-12000",
17228                feature = "cuda-12010",
17229                feature = "cuda-12020",
17230                feature = "cuda-12030",
17231                feature = "cuda-12040",
17232                feature = "cuda-12050",
17233                feature = "cuda-12060",
17234                feature = "cuda-12080",
17235                feature = "cuda-12090",
17236                feature = "cuda-13000"
17237            ))]
17238            let cudaArrayGetMemoryRequirements = __library
17239                .get(b"cudaArrayGetMemoryRequirements\0")
17240                .map(|sym| *sym)
17241                .expect("Expected symbol in library");
17242            let cudaArrayGetPlane = __library
17243                .get(b"cudaArrayGetPlane\0")
17244                .map(|sym| *sym)
17245                .expect("Expected symbol in library");
17246            let cudaArrayGetSparseProperties = __library
17247                .get(b"cudaArrayGetSparseProperties\0")
17248                .map(|sym| *sym)
17249                .expect("Expected symbol in library");
17250            #[cfg(any(
17251                feature = "cuda-11040",
17252                feature = "cuda-11050",
17253                feature = "cuda-11060",
17254                feature = "cuda-11070",
17255                feature = "cuda-11080"
17256            ))]
17257            let cudaBindSurfaceToArray = __library
17258                .get(b"cudaBindSurfaceToArray\0")
17259                .map(|sym| *sym)
17260                .expect("Expected symbol in library");
17261            #[cfg(any(
17262                feature = "cuda-11040",
17263                feature = "cuda-11050",
17264                feature = "cuda-11060",
17265                feature = "cuda-11070",
17266                feature = "cuda-11080"
17267            ))]
17268            let cudaBindTexture = __library
17269                .get(b"cudaBindTexture\0")
17270                .map(|sym| *sym)
17271                .expect("Expected symbol in library");
17272            #[cfg(any(
17273                feature = "cuda-11040",
17274                feature = "cuda-11050",
17275                feature = "cuda-11060",
17276                feature = "cuda-11070",
17277                feature = "cuda-11080"
17278            ))]
17279            let cudaBindTexture2D = __library
17280                .get(b"cudaBindTexture2D\0")
17281                .map(|sym| *sym)
17282                .expect("Expected symbol in library");
17283            #[cfg(any(
17284                feature = "cuda-11040",
17285                feature = "cuda-11050",
17286                feature = "cuda-11060",
17287                feature = "cuda-11070",
17288                feature = "cuda-11080"
17289            ))]
17290            let cudaBindTextureToArray = __library
17291                .get(b"cudaBindTextureToArray\0")
17292                .map(|sym| *sym)
17293                .expect("Expected symbol in library");
17294            #[cfg(any(
17295                feature = "cuda-11040",
17296                feature = "cuda-11050",
17297                feature = "cuda-11060",
17298                feature = "cuda-11070",
17299                feature = "cuda-11080"
17300            ))]
17301            let cudaBindTextureToMipmappedArray = __library
17302                .get(b"cudaBindTextureToMipmappedArray\0")
17303                .map(|sym| *sym)
17304                .expect("Expected symbol in library");
17305            let cudaChooseDevice = __library
17306                .get(b"cudaChooseDevice\0")
17307                .map(|sym| *sym)
17308                .expect("Expected symbol in library");
17309            let cudaCreateChannelDesc = __library
17310                .get(b"cudaCreateChannelDesc\0")
17311                .map(|sym| *sym)
17312                .expect("Expected symbol in library");
17313            let cudaCreateSurfaceObject = __library
17314                .get(b"cudaCreateSurfaceObject\0")
17315                .map(|sym| *sym)
17316                .expect("Expected symbol in library");
17317            let cudaCreateTextureObject = __library
17318                .get(b"cudaCreateTextureObject\0")
17319                .map(|sym| *sym)
17320                .expect("Expected symbol in library");
17321            #[cfg(any(feature = "cuda-11080"))]
17322            let cudaCreateTextureObject_v2 = __library
17323                .get(b"cudaCreateTextureObject_v2\0")
17324                .map(|sym| *sym)
17325                .expect("Expected symbol in library");
17326            let cudaCtxResetPersistingL2Cache = __library
17327                .get(b"cudaCtxResetPersistingL2Cache\0")
17328                .map(|sym| *sym)
17329                .expect("Expected symbol in library");
17330            let cudaDestroyExternalMemory = __library
17331                .get(b"cudaDestroyExternalMemory\0")
17332                .map(|sym| *sym)
17333                .expect("Expected symbol in library");
17334            let cudaDestroyExternalSemaphore = __library
17335                .get(b"cudaDestroyExternalSemaphore\0")
17336                .map(|sym| *sym)
17337                .expect("Expected symbol in library");
17338            let cudaDestroySurfaceObject = __library
17339                .get(b"cudaDestroySurfaceObject\0")
17340                .map(|sym| *sym)
17341                .expect("Expected symbol in library");
17342            let cudaDestroyTextureObject = __library
17343                .get(b"cudaDestroyTextureObject\0")
17344                .map(|sym| *sym)
17345                .expect("Expected symbol in library");
17346            let cudaDeviceCanAccessPeer = __library
17347                .get(b"cudaDeviceCanAccessPeer\0")
17348                .map(|sym| *sym)
17349                .expect("Expected symbol in library");
17350            let cudaDeviceDisablePeerAccess = __library
17351                .get(b"cudaDeviceDisablePeerAccess\0")
17352                .map(|sym| *sym)
17353                .expect("Expected symbol in library");
17354            let cudaDeviceEnablePeerAccess = __library
17355                .get(b"cudaDeviceEnablePeerAccess\0")
17356                .map(|sym| *sym)
17357                .expect("Expected symbol in library");
17358            let cudaDeviceFlushGPUDirectRDMAWrites = __library
17359                .get(b"cudaDeviceFlushGPUDirectRDMAWrites\0")
17360                .map(|sym| *sym)
17361                .expect("Expected symbol in library");
17362            let cudaDeviceGetAttribute = __library
17363                .get(b"cudaDeviceGetAttribute\0")
17364                .map(|sym| *sym)
17365                .expect("Expected symbol in library");
17366            let cudaDeviceGetByPCIBusId = __library
17367                .get(b"cudaDeviceGetByPCIBusId\0")
17368                .map(|sym| *sym)
17369                .expect("Expected symbol in library");
17370            let cudaDeviceGetCacheConfig = __library
17371                .get(b"cudaDeviceGetCacheConfig\0")
17372                .map(|sym| *sym)
17373                .expect("Expected symbol in library");
17374            let cudaDeviceGetDefaultMemPool = __library
17375                .get(b"cudaDeviceGetDefaultMemPool\0")
17376                .map(|sym| *sym)
17377                .expect("Expected symbol in library");
17378            let cudaDeviceGetGraphMemAttribute = __library
17379                .get(b"cudaDeviceGetGraphMemAttribute\0")
17380                .map(|sym| *sym)
17381                .expect("Expected symbol in library");
17382            #[cfg(any(feature = "cuda-13000"))]
17383            let cudaDeviceGetHostAtomicCapabilities = __library
17384                .get(b"cudaDeviceGetHostAtomicCapabilities\0")
17385                .map(|sym| *sym)
17386                .expect("Expected symbol in library");
17387            let cudaDeviceGetLimit = __library
17388                .get(b"cudaDeviceGetLimit\0")
17389                .map(|sym| *sym)
17390                .expect("Expected symbol in library");
17391            let cudaDeviceGetMemPool = __library
17392                .get(b"cudaDeviceGetMemPool\0")
17393                .map(|sym| *sym)
17394                .expect("Expected symbol in library");
17395            #[cfg(any(feature = "cuda-13000"))]
17396            let cudaDeviceGetP2PAtomicCapabilities = __library
17397                .get(b"cudaDeviceGetP2PAtomicCapabilities\0")
17398                .map(|sym| *sym)
17399                .expect("Expected symbol in library");
17400            let cudaDeviceGetP2PAttribute = __library
17401                .get(b"cudaDeviceGetP2PAttribute\0")
17402                .map(|sym| *sym)
17403                .expect("Expected symbol in library");
17404            let cudaDeviceGetPCIBusId = __library
17405                .get(b"cudaDeviceGetPCIBusId\0")
17406                .map(|sym| *sym)
17407                .expect("Expected symbol in library");
17408            let cudaDeviceGetSharedMemConfig = __library
17409                .get(b"cudaDeviceGetSharedMemConfig\0")
17410                .map(|sym| *sym)
17411                .expect("Expected symbol in library");
17412            let cudaDeviceGetStreamPriorityRange = __library
17413                .get(b"cudaDeviceGetStreamPriorityRange\0")
17414                .map(|sym| *sym)
17415                .expect("Expected symbol in library");
17416            let cudaDeviceGetTexture1DLinearMaxWidth = __library
17417                .get(b"cudaDeviceGetTexture1DLinearMaxWidth\0")
17418                .map(|sym| *sym)
17419                .expect("Expected symbol in library");
17420            let cudaDeviceGraphMemTrim = __library
17421                .get(b"cudaDeviceGraphMemTrim\0")
17422                .map(|sym| *sym)
17423                .expect("Expected symbol in library");
17424            #[cfg(any(
17425                feature = "cuda-12040",
17426                feature = "cuda-12050",
17427                feature = "cuda-12060",
17428                feature = "cuda-12080",
17429                feature = "cuda-12090",
17430                feature = "cuda-13000"
17431            ))]
17432            let cudaDeviceRegisterAsyncNotification = __library
17433                .get(b"cudaDeviceRegisterAsyncNotification\0")
17434                .map(|sym| *sym)
17435                .expect("Expected symbol in library");
17436            let cudaDeviceReset = __library
17437                .get(b"cudaDeviceReset\0")
17438                .map(|sym| *sym)
17439                .expect("Expected symbol in library");
17440            let cudaDeviceSetCacheConfig = __library
17441                .get(b"cudaDeviceSetCacheConfig\0")
17442                .map(|sym| *sym)
17443                .expect("Expected symbol in library");
17444            let cudaDeviceSetGraphMemAttribute = __library
17445                .get(b"cudaDeviceSetGraphMemAttribute\0")
17446                .map(|sym| *sym)
17447                .expect("Expected symbol in library");
17448            let cudaDeviceSetLimit = __library
17449                .get(b"cudaDeviceSetLimit\0")
17450                .map(|sym| *sym)
17451                .expect("Expected symbol in library");
17452            let cudaDeviceSetMemPool = __library
17453                .get(b"cudaDeviceSetMemPool\0")
17454                .map(|sym| *sym)
17455                .expect("Expected symbol in library");
17456            let cudaDeviceSetSharedMemConfig = __library
17457                .get(b"cudaDeviceSetSharedMemConfig\0")
17458                .map(|sym| *sym)
17459                .expect("Expected symbol in library");
17460            let cudaDeviceSynchronize = __library
17461                .get(b"cudaDeviceSynchronize\0")
17462                .map(|sym| *sym)
17463                .expect("Expected symbol in library");
17464            #[cfg(any(
17465                feature = "cuda-12040",
17466                feature = "cuda-12050",
17467                feature = "cuda-12060",
17468                feature = "cuda-12080",
17469                feature = "cuda-12090",
17470                feature = "cuda-13000"
17471            ))]
17472            let cudaDeviceUnregisterAsyncNotification = __library
17473                .get(b"cudaDeviceUnregisterAsyncNotification\0")
17474                .map(|sym| *sym)
17475                .expect("Expected symbol in library");
17476            let cudaDriverGetVersion = __library
17477                .get(b"cudaDriverGetVersion\0")
17478                .map(|sym| *sym)
17479                .expect("Expected symbol in library");
17480            let cudaEventCreate = __library
17481                .get(b"cudaEventCreate\0")
17482                .map(|sym| *sym)
17483                .expect("Expected symbol in library");
17484            let cudaEventCreateWithFlags = __library
17485                .get(b"cudaEventCreateWithFlags\0")
17486                .map(|sym| *sym)
17487                .expect("Expected symbol in library");
17488            let cudaEventDestroy = __library
17489                .get(b"cudaEventDestroy\0")
17490                .map(|sym| *sym)
17491                .expect("Expected symbol in library");
17492            let cudaEventElapsedTime = __library
17493                .get(b"cudaEventElapsedTime\0")
17494                .map(|sym| *sym)
17495                .expect("Expected symbol in library");
17496            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
17497            let cudaEventElapsedTime_v2 = __library
17498                .get(b"cudaEventElapsedTime_v2\0")
17499                .map(|sym| *sym)
17500                .expect("Expected symbol in library");
17501            let cudaEventQuery = __library
17502                .get(b"cudaEventQuery\0")
17503                .map(|sym| *sym)
17504                .expect("Expected symbol in library");
17505            let cudaEventRecord = __library
17506                .get(b"cudaEventRecord\0")
17507                .map(|sym| *sym)
17508                .expect("Expected symbol in library");
17509            let cudaEventRecordWithFlags = __library
17510                .get(b"cudaEventRecordWithFlags\0")
17511                .map(|sym| *sym)
17512                .expect("Expected symbol in library");
17513            let cudaEventSynchronize = __library
17514                .get(b"cudaEventSynchronize\0")
17515                .map(|sym| *sym)
17516                .expect("Expected symbol in library");
17517            let cudaExternalMemoryGetMappedBuffer = __library
17518                .get(b"cudaExternalMemoryGetMappedBuffer\0")
17519                .map(|sym| *sym)
17520                .expect("Expected symbol in library");
17521            let cudaExternalMemoryGetMappedMipmappedArray = __library
17522                .get(b"cudaExternalMemoryGetMappedMipmappedArray\0")
17523                .map(|sym| *sym)
17524                .expect("Expected symbol in library");
17525            let cudaFree = __library
17526                .get(b"cudaFree\0")
17527                .map(|sym| *sym)
17528                .expect("Expected symbol in library");
17529            let cudaFreeArray = __library
17530                .get(b"cudaFreeArray\0")
17531                .map(|sym| *sym)
17532                .expect("Expected symbol in library");
17533            let cudaFreeAsync = __library
17534                .get(b"cudaFreeAsync\0")
17535                .map(|sym| *sym)
17536                .expect("Expected symbol in library");
17537            let cudaFreeHost = __library
17538                .get(b"cudaFreeHost\0")
17539                .map(|sym| *sym)
17540                .expect("Expected symbol in library");
17541            let cudaFreeMipmappedArray = __library
17542                .get(b"cudaFreeMipmappedArray\0")
17543                .map(|sym| *sym)
17544                .expect("Expected symbol in library");
17545            let cudaFuncGetAttributes = __library
17546                .get(b"cudaFuncGetAttributes\0")
17547                .map(|sym| *sym)
17548                .expect("Expected symbol in library");
17549            #[cfg(any(
17550                feature = "cuda-12030",
17551                feature = "cuda-12040",
17552                feature = "cuda-12050",
17553                feature = "cuda-12060",
17554                feature = "cuda-12080",
17555                feature = "cuda-12090",
17556                feature = "cuda-13000"
17557            ))]
17558            let cudaFuncGetName = __library
17559                .get(b"cudaFuncGetName\0")
17560                .map(|sym| *sym)
17561                .expect("Expected symbol in library");
17562            #[cfg(any(
17563                feature = "cuda-12040",
17564                feature = "cuda-12050",
17565                feature = "cuda-12060",
17566                feature = "cuda-12080",
17567                feature = "cuda-12090",
17568                feature = "cuda-13000"
17569            ))]
17570            let cudaFuncGetParamInfo = __library
17571                .get(b"cudaFuncGetParamInfo\0")
17572                .map(|sym| *sym)
17573                .expect("Expected symbol in library");
17574            let cudaFuncSetAttribute = __library
17575                .get(b"cudaFuncSetAttribute\0")
17576                .map(|sym| *sym)
17577                .expect("Expected symbol in library");
17578            let cudaFuncSetCacheConfig = __library
17579                .get(b"cudaFuncSetCacheConfig\0")
17580                .map(|sym| *sym)
17581                .expect("Expected symbol in library");
17582            let cudaFuncSetSharedMemConfig = __library
17583                .get(b"cudaFuncSetSharedMemConfig\0")
17584                .map(|sym| *sym)
17585                .expect("Expected symbol in library");
17586            let cudaGetChannelDesc = __library
17587                .get(b"cudaGetChannelDesc\0")
17588                .map(|sym| *sym)
17589                .expect("Expected symbol in library");
17590            let cudaGetDevice = __library
17591                .get(b"cudaGetDevice\0")
17592                .map(|sym| *sym)
17593                .expect("Expected symbol in library");
17594            let cudaGetDeviceCount = __library
17595                .get(b"cudaGetDeviceCount\0")
17596                .map(|sym| *sym)
17597                .expect("Expected symbol in library");
17598            let cudaGetDeviceFlags = __library
17599                .get(b"cudaGetDeviceFlags\0")
17600                .map(|sym| *sym)
17601                .expect("Expected symbol in library");
17602            #[cfg(any(
17603                feature = "cuda-11040",
17604                feature = "cuda-11050",
17605                feature = "cuda-11060",
17606                feature = "cuda-11070",
17607                feature = "cuda-11080",
17608                feature = "cuda-13000"
17609            ))]
17610            let cudaGetDeviceProperties = __library
17611                .get(b"cudaGetDeviceProperties\0")
17612                .map(|sym| *sym)
17613                .expect("Expected symbol in library");
17614            #[cfg(any(
17615                feature = "cuda-12000",
17616                feature = "cuda-12010",
17617                feature = "cuda-12020",
17618                feature = "cuda-12030",
17619                feature = "cuda-12040",
17620                feature = "cuda-12050",
17621                feature = "cuda-12060",
17622                feature = "cuda-12080",
17623                feature = "cuda-12090"
17624            ))]
17625            let cudaGetDeviceProperties_v2 = __library
17626                .get(b"cudaGetDeviceProperties_v2\0")
17627                .map(|sym| *sym)
17628                .expect("Expected symbol in library");
17629            #[cfg(any(
17630                feature = "cuda-11040",
17631                feature = "cuda-11050",
17632                feature = "cuda-11060",
17633                feature = "cuda-11070",
17634                feature = "cuda-11080"
17635            ))]
17636            let cudaGetDriverEntryPoint = __library
17637                .get(b"cudaGetDriverEntryPoint\0")
17638                .map(|sym| *sym)
17639                .expect("Expected symbol in library");
17640            #[cfg(any(
17641                feature = "cuda-12000",
17642                feature = "cuda-12010",
17643                feature = "cuda-12020",
17644                feature = "cuda-12030",
17645                feature = "cuda-12040",
17646                feature = "cuda-12050",
17647                feature = "cuda-12060",
17648                feature = "cuda-12080",
17649                feature = "cuda-12090",
17650                feature = "cuda-13000"
17651            ))]
17652            let cudaGetDriverEntryPoint = __library
17653                .get(b"cudaGetDriverEntryPoint\0")
17654                .map(|sym| *sym)
17655                .expect("Expected symbol in library");
17656            #[cfg(any(
17657                feature = "cuda-12050",
17658                feature = "cuda-12060",
17659                feature = "cuda-12080",
17660                feature = "cuda-12090",
17661                feature = "cuda-13000"
17662            ))]
17663            let cudaGetDriverEntryPointByVersion = __library
17664                .get(b"cudaGetDriverEntryPointByVersion\0")
17665                .map(|sym| *sym)
17666                .expect("Expected symbol in library");
17667            let cudaGetErrorName = __library
17668                .get(b"cudaGetErrorName\0")
17669                .map(|sym| *sym)
17670                .expect("Expected symbol in library");
17671            let cudaGetErrorString = __library
17672                .get(b"cudaGetErrorString\0")
17673                .map(|sym| *sym)
17674                .expect("Expected symbol in library");
17675            let cudaGetExportTable = __library
17676                .get(b"cudaGetExportTable\0")
17677                .map(|sym| *sym)
17678                .expect("Expected symbol in library");
17679            let cudaGetFuncBySymbol = __library
17680                .get(b"cudaGetFuncBySymbol\0")
17681                .map(|sym| *sym)
17682                .expect("Expected symbol in library");
17683            #[cfg(any(
17684                feature = "cuda-12010",
17685                feature = "cuda-12020",
17686                feature = "cuda-12030",
17687                feature = "cuda-12040",
17688                feature = "cuda-12050",
17689                feature = "cuda-12060",
17690                feature = "cuda-12080",
17691                feature = "cuda-12090",
17692                feature = "cuda-13000"
17693            ))]
17694            let cudaGetKernel = __library
17695                .get(b"cudaGetKernel\0")
17696                .map(|sym| *sym)
17697                .expect("Expected symbol in library");
17698            let cudaGetLastError = __library
17699                .get(b"cudaGetLastError\0")
17700                .map(|sym| *sym)
17701                .expect("Expected symbol in library");
17702            let cudaGetMipmappedArrayLevel = __library
17703                .get(b"cudaGetMipmappedArrayLevel\0")
17704                .map(|sym| *sym)
17705                .expect("Expected symbol in library");
17706            let cudaGetSurfaceObjectResourceDesc = __library
17707                .get(b"cudaGetSurfaceObjectResourceDesc\0")
17708                .map(|sym| *sym)
17709                .expect("Expected symbol in library");
17710            #[cfg(any(
17711                feature = "cuda-11040",
17712                feature = "cuda-11050",
17713                feature = "cuda-11060",
17714                feature = "cuda-11070",
17715                feature = "cuda-11080"
17716            ))]
17717            let cudaGetSurfaceReference = __library
17718                .get(b"cudaGetSurfaceReference\0")
17719                .map(|sym| *sym)
17720                .expect("Expected symbol in library");
17721            let cudaGetSymbolAddress = __library
17722                .get(b"cudaGetSymbolAddress\0")
17723                .map(|sym| *sym)
17724                .expect("Expected symbol in library");
17725            let cudaGetSymbolSize = __library
17726                .get(b"cudaGetSymbolSize\0")
17727                .map(|sym| *sym)
17728                .expect("Expected symbol in library");
17729            #[cfg(any(
17730                feature = "cuda-11040",
17731                feature = "cuda-11050",
17732                feature = "cuda-11060",
17733                feature = "cuda-11070",
17734                feature = "cuda-11080"
17735            ))]
17736            let cudaGetTextureAlignmentOffset = __library
17737                .get(b"cudaGetTextureAlignmentOffset\0")
17738                .map(|sym| *sym)
17739                .expect("Expected symbol in library");
17740            let cudaGetTextureObjectResourceDesc = __library
17741                .get(b"cudaGetTextureObjectResourceDesc\0")
17742                .map(|sym| *sym)
17743                .expect("Expected symbol in library");
17744            let cudaGetTextureObjectResourceViewDesc = __library
17745                .get(b"cudaGetTextureObjectResourceViewDesc\0")
17746                .map(|sym| *sym)
17747                .expect("Expected symbol in library");
17748            let cudaGetTextureObjectTextureDesc = __library
17749                .get(b"cudaGetTextureObjectTextureDesc\0")
17750                .map(|sym| *sym)
17751                .expect("Expected symbol in library");
17752            #[cfg(any(feature = "cuda-11080"))]
17753            let cudaGetTextureObjectTextureDesc_v2 = __library
17754                .get(b"cudaGetTextureObjectTextureDesc_v2\0")
17755                .map(|sym| *sym)
17756                .expect("Expected symbol in library");
17757            #[cfg(any(
17758                feature = "cuda-11040",
17759                feature = "cuda-11050",
17760                feature = "cuda-11060",
17761                feature = "cuda-11070",
17762                feature = "cuda-11080"
17763            ))]
17764            let cudaGetTextureReference = __library
17765                .get(b"cudaGetTextureReference\0")
17766                .map(|sym| *sym)
17767                .expect("Expected symbol in library");
17768            let cudaGraphAddChildGraphNode = __library
17769                .get(b"cudaGraphAddChildGraphNode\0")
17770                .map(|sym| *sym)
17771                .expect("Expected symbol in library");
17772            #[cfg(any(
17773                feature = "cuda-11040",
17774                feature = "cuda-11050",
17775                feature = "cuda-11060",
17776                feature = "cuda-11070",
17777                feature = "cuda-11080",
17778                feature = "cuda-12000",
17779                feature = "cuda-12010",
17780                feature = "cuda-12020",
17781                feature = "cuda-12030",
17782                feature = "cuda-12040",
17783                feature = "cuda-12050",
17784                feature = "cuda-12060",
17785                feature = "cuda-12080",
17786                feature = "cuda-12090"
17787            ))]
17788            let cudaGraphAddDependencies = __library
17789                .get(b"cudaGraphAddDependencies\0")
17790                .map(|sym| *sym)
17791                .expect("Expected symbol in library");
17792            #[cfg(any(feature = "cuda-13000"))]
17793            let cudaGraphAddDependencies = __library
17794                .get(b"cudaGraphAddDependencies\0")
17795                .map(|sym| *sym)
17796                .expect("Expected symbol in library");
17797            #[cfg(any(
17798                feature = "cuda-12030",
17799                feature = "cuda-12040",
17800                feature = "cuda-12050",
17801                feature = "cuda-12060",
17802                feature = "cuda-12080",
17803                feature = "cuda-12090"
17804            ))]
17805            let cudaGraphAddDependencies_v2 = __library
17806                .get(b"cudaGraphAddDependencies_v2\0")
17807                .map(|sym| *sym)
17808                .expect("Expected symbol in library");
17809            let cudaGraphAddEmptyNode = __library
17810                .get(b"cudaGraphAddEmptyNode\0")
17811                .map(|sym| *sym)
17812                .expect("Expected symbol in library");
17813            let cudaGraphAddEventRecordNode = __library
17814                .get(b"cudaGraphAddEventRecordNode\0")
17815                .map(|sym| *sym)
17816                .expect("Expected symbol in library");
17817            let cudaGraphAddEventWaitNode = __library
17818                .get(b"cudaGraphAddEventWaitNode\0")
17819                .map(|sym| *sym)
17820                .expect("Expected symbol in library");
17821            let cudaGraphAddExternalSemaphoresSignalNode = __library
17822                .get(b"cudaGraphAddExternalSemaphoresSignalNode\0")
17823                .map(|sym| *sym)
17824                .expect("Expected symbol in library");
17825            let cudaGraphAddExternalSemaphoresWaitNode = __library
17826                .get(b"cudaGraphAddExternalSemaphoresWaitNode\0")
17827                .map(|sym| *sym)
17828                .expect("Expected symbol in library");
17829            let cudaGraphAddHostNode = __library
17830                .get(b"cudaGraphAddHostNode\0")
17831                .map(|sym| *sym)
17832                .expect("Expected symbol in library");
17833            let cudaGraphAddKernelNode = __library
17834                .get(b"cudaGraphAddKernelNode\0")
17835                .map(|sym| *sym)
17836                .expect("Expected symbol in library");
17837            let cudaGraphAddMemAllocNode = __library
17838                .get(b"cudaGraphAddMemAllocNode\0")
17839                .map(|sym| *sym)
17840                .expect("Expected symbol in library");
17841            let cudaGraphAddMemFreeNode = __library
17842                .get(b"cudaGraphAddMemFreeNode\0")
17843                .map(|sym| *sym)
17844                .expect("Expected symbol in library");
17845            let cudaGraphAddMemcpyNode = __library
17846                .get(b"cudaGraphAddMemcpyNode\0")
17847                .map(|sym| *sym)
17848                .expect("Expected symbol in library");
17849            let cudaGraphAddMemcpyNode1D = __library
17850                .get(b"cudaGraphAddMemcpyNode1D\0")
17851                .map(|sym| *sym)
17852                .expect("Expected symbol in library");
17853            let cudaGraphAddMemcpyNodeFromSymbol = __library
17854                .get(b"cudaGraphAddMemcpyNodeFromSymbol\0")
17855                .map(|sym| *sym)
17856                .expect("Expected symbol in library");
17857            let cudaGraphAddMemcpyNodeToSymbol = __library
17858                .get(b"cudaGraphAddMemcpyNodeToSymbol\0")
17859                .map(|sym| *sym)
17860                .expect("Expected symbol in library");
17861            let cudaGraphAddMemsetNode = __library
17862                .get(b"cudaGraphAddMemsetNode\0")
17863                .map(|sym| *sym)
17864                .expect("Expected symbol in library");
17865            #[cfg(any(
17866                feature = "cuda-12020",
17867                feature = "cuda-12030",
17868                feature = "cuda-12040",
17869                feature = "cuda-12050",
17870                feature = "cuda-12060",
17871                feature = "cuda-12080",
17872                feature = "cuda-12090"
17873            ))]
17874            let cudaGraphAddNode = __library
17875                .get(b"cudaGraphAddNode\0")
17876                .map(|sym| *sym)
17877                .expect("Expected symbol in library");
17878            #[cfg(any(feature = "cuda-13000"))]
17879            let cudaGraphAddNode = __library
17880                .get(b"cudaGraphAddNode\0")
17881                .map(|sym| *sym)
17882                .expect("Expected symbol in library");
17883            #[cfg(any(
17884                feature = "cuda-12030",
17885                feature = "cuda-12040",
17886                feature = "cuda-12050",
17887                feature = "cuda-12060",
17888                feature = "cuda-12080",
17889                feature = "cuda-12090"
17890            ))]
17891            let cudaGraphAddNode_v2 = __library
17892                .get(b"cudaGraphAddNode_v2\0")
17893                .map(|sym| *sym)
17894                .expect("Expected symbol in library");
17895            let cudaGraphChildGraphNodeGetGraph = __library
17896                .get(b"cudaGraphChildGraphNodeGetGraph\0")
17897                .map(|sym| *sym)
17898                .expect("Expected symbol in library");
17899            let cudaGraphClone = __library
17900                .get(b"cudaGraphClone\0")
17901                .map(|sym| *sym)
17902                .expect("Expected symbol in library");
17903            #[cfg(any(
17904                feature = "cuda-12030",
17905                feature = "cuda-12040",
17906                feature = "cuda-12050",
17907                feature = "cuda-12060",
17908                feature = "cuda-12080",
17909                feature = "cuda-12090",
17910                feature = "cuda-13000"
17911            ))]
17912            let cudaGraphConditionalHandleCreate = __library
17913                .get(b"cudaGraphConditionalHandleCreate\0")
17914                .map(|sym| *sym)
17915                .expect("Expected symbol in library");
17916            let cudaGraphCreate = __library
17917                .get(b"cudaGraphCreate\0")
17918                .map(|sym| *sym)
17919                .expect("Expected symbol in library");
17920            let cudaGraphDebugDotPrint = __library
17921                .get(b"cudaGraphDebugDotPrint\0")
17922                .map(|sym| *sym)
17923                .expect("Expected symbol in library");
17924            let cudaGraphDestroy = __library
17925                .get(b"cudaGraphDestroy\0")
17926                .map(|sym| *sym)
17927                .expect("Expected symbol in library");
17928            let cudaGraphDestroyNode = __library
17929                .get(b"cudaGraphDestroyNode\0")
17930                .map(|sym| *sym)
17931                .expect("Expected symbol in library");
17932            let cudaGraphEventRecordNodeGetEvent = __library
17933                .get(b"cudaGraphEventRecordNodeGetEvent\0")
17934                .map(|sym| *sym)
17935                .expect("Expected symbol in library");
17936            let cudaGraphEventRecordNodeSetEvent = __library
17937                .get(b"cudaGraphEventRecordNodeSetEvent\0")
17938                .map(|sym| *sym)
17939                .expect("Expected symbol in library");
17940            let cudaGraphEventWaitNodeGetEvent = __library
17941                .get(b"cudaGraphEventWaitNodeGetEvent\0")
17942                .map(|sym| *sym)
17943                .expect("Expected symbol in library");
17944            let cudaGraphEventWaitNodeSetEvent = __library
17945                .get(b"cudaGraphEventWaitNodeSetEvent\0")
17946                .map(|sym| *sym)
17947                .expect("Expected symbol in library");
17948            let cudaGraphExecChildGraphNodeSetParams = __library
17949                .get(b"cudaGraphExecChildGraphNodeSetParams\0")
17950                .map(|sym| *sym)
17951                .expect("Expected symbol in library");
17952            let cudaGraphExecDestroy = __library
17953                .get(b"cudaGraphExecDestroy\0")
17954                .map(|sym| *sym)
17955                .expect("Expected symbol in library");
17956            let cudaGraphExecEventRecordNodeSetEvent = __library
17957                .get(b"cudaGraphExecEventRecordNodeSetEvent\0")
17958                .map(|sym| *sym)
17959                .expect("Expected symbol in library");
17960            let cudaGraphExecEventWaitNodeSetEvent = __library
17961                .get(b"cudaGraphExecEventWaitNodeSetEvent\0")
17962                .map(|sym| *sym)
17963                .expect("Expected symbol in library");
17964            let cudaGraphExecExternalSemaphoresSignalNodeSetParams = __library
17965                .get(b"cudaGraphExecExternalSemaphoresSignalNodeSetParams\0")
17966                .map(|sym| *sym)
17967                .expect("Expected symbol in library");
17968            let cudaGraphExecExternalSemaphoresWaitNodeSetParams = __library
17969                .get(b"cudaGraphExecExternalSemaphoresWaitNodeSetParams\0")
17970                .map(|sym| *sym)
17971                .expect("Expected symbol in library");
17972            #[cfg(any(
17973                feature = "cuda-12000",
17974                feature = "cuda-12010",
17975                feature = "cuda-12020",
17976                feature = "cuda-12030",
17977                feature = "cuda-12040",
17978                feature = "cuda-12050",
17979                feature = "cuda-12060",
17980                feature = "cuda-12080",
17981                feature = "cuda-12090",
17982                feature = "cuda-13000"
17983            ))]
17984            let cudaGraphExecGetFlags = __library
17985                .get(b"cudaGraphExecGetFlags\0")
17986                .map(|sym| *sym)
17987                .expect("Expected symbol in library");
17988            let cudaGraphExecHostNodeSetParams = __library
17989                .get(b"cudaGraphExecHostNodeSetParams\0")
17990                .map(|sym| *sym)
17991                .expect("Expected symbol in library");
17992            let cudaGraphExecKernelNodeSetParams = __library
17993                .get(b"cudaGraphExecKernelNodeSetParams\0")
17994                .map(|sym| *sym)
17995                .expect("Expected symbol in library");
17996            let cudaGraphExecMemcpyNodeSetParams = __library
17997                .get(b"cudaGraphExecMemcpyNodeSetParams\0")
17998                .map(|sym| *sym)
17999                .expect("Expected symbol in library");
18000            let cudaGraphExecMemcpyNodeSetParams1D = __library
18001                .get(b"cudaGraphExecMemcpyNodeSetParams1D\0")
18002                .map(|sym| *sym)
18003                .expect("Expected symbol in library");
18004            let cudaGraphExecMemcpyNodeSetParamsFromSymbol = __library
18005                .get(b"cudaGraphExecMemcpyNodeSetParamsFromSymbol\0")
18006                .map(|sym| *sym)
18007                .expect("Expected symbol in library");
18008            let cudaGraphExecMemcpyNodeSetParamsToSymbol = __library
18009                .get(b"cudaGraphExecMemcpyNodeSetParamsToSymbol\0")
18010                .map(|sym| *sym)
18011                .expect("Expected symbol in library");
18012            let cudaGraphExecMemsetNodeSetParams = __library
18013                .get(b"cudaGraphExecMemsetNodeSetParams\0")
18014                .map(|sym| *sym)
18015                .expect("Expected symbol in library");
18016            #[cfg(any(
18017                feature = "cuda-12020",
18018                feature = "cuda-12030",
18019                feature = "cuda-12040",
18020                feature = "cuda-12050",
18021                feature = "cuda-12060",
18022                feature = "cuda-12080",
18023                feature = "cuda-12090",
18024                feature = "cuda-13000"
18025            ))]
18026            let cudaGraphExecNodeSetParams = __library
18027                .get(b"cudaGraphExecNodeSetParams\0")
18028                .map(|sym| *sym)
18029                .expect("Expected symbol in library");
18030            #[cfg(any(
18031                feature = "cuda-11040",
18032                feature = "cuda-11050",
18033                feature = "cuda-11060",
18034                feature = "cuda-11070",
18035                feature = "cuda-11080"
18036            ))]
18037            let cudaGraphExecUpdate = __library
18038                .get(b"cudaGraphExecUpdate\0")
18039                .map(|sym| *sym)
18040                .expect("Expected symbol in library");
18041            #[cfg(any(
18042                feature = "cuda-12000",
18043                feature = "cuda-12010",
18044                feature = "cuda-12020",
18045                feature = "cuda-12030",
18046                feature = "cuda-12040",
18047                feature = "cuda-12050",
18048                feature = "cuda-12060",
18049                feature = "cuda-12080",
18050                feature = "cuda-12090",
18051                feature = "cuda-13000"
18052            ))]
18053            let cudaGraphExecUpdate = __library
18054                .get(b"cudaGraphExecUpdate\0")
18055                .map(|sym| *sym)
18056                .expect("Expected symbol in library");
18057            let cudaGraphExternalSemaphoresSignalNodeGetParams = __library
18058                .get(b"cudaGraphExternalSemaphoresSignalNodeGetParams\0")
18059                .map(|sym| *sym)
18060                .expect("Expected symbol in library");
18061            let cudaGraphExternalSemaphoresSignalNodeSetParams = __library
18062                .get(b"cudaGraphExternalSemaphoresSignalNodeSetParams\0")
18063                .map(|sym| *sym)
18064                .expect("Expected symbol in library");
18065            let cudaGraphExternalSemaphoresWaitNodeGetParams = __library
18066                .get(b"cudaGraphExternalSemaphoresWaitNodeGetParams\0")
18067                .map(|sym| *sym)
18068                .expect("Expected symbol in library");
18069            let cudaGraphExternalSemaphoresWaitNodeSetParams = __library
18070                .get(b"cudaGraphExternalSemaphoresWaitNodeSetParams\0")
18071                .map(|sym| *sym)
18072                .expect("Expected symbol in library");
18073            #[cfg(any(
18074                feature = "cuda-11040",
18075                feature = "cuda-11050",
18076                feature = "cuda-11060",
18077                feature = "cuda-11070",
18078                feature = "cuda-11080",
18079                feature = "cuda-12000",
18080                feature = "cuda-12010",
18081                feature = "cuda-12020",
18082                feature = "cuda-12030",
18083                feature = "cuda-12040",
18084                feature = "cuda-12050",
18085                feature = "cuda-12060",
18086                feature = "cuda-12080",
18087                feature = "cuda-12090"
18088            ))]
18089            let cudaGraphGetEdges = __library
18090                .get(b"cudaGraphGetEdges\0")
18091                .map(|sym| *sym)
18092                .expect("Expected symbol in library");
18093            #[cfg(any(feature = "cuda-13000"))]
18094            let cudaGraphGetEdges = __library
18095                .get(b"cudaGraphGetEdges\0")
18096                .map(|sym| *sym)
18097                .expect("Expected symbol in library");
18098            #[cfg(any(
18099                feature = "cuda-12030",
18100                feature = "cuda-12040",
18101                feature = "cuda-12050",
18102                feature = "cuda-12060",
18103                feature = "cuda-12080",
18104                feature = "cuda-12090"
18105            ))]
18106            let cudaGraphGetEdges_v2 = __library
18107                .get(b"cudaGraphGetEdges_v2\0")
18108                .map(|sym| *sym)
18109                .expect("Expected symbol in library");
18110            let cudaGraphGetNodes = __library
18111                .get(b"cudaGraphGetNodes\0")
18112                .map(|sym| *sym)
18113                .expect("Expected symbol in library");
18114            let cudaGraphGetRootNodes = __library
18115                .get(b"cudaGraphGetRootNodes\0")
18116                .map(|sym| *sym)
18117                .expect("Expected symbol in library");
18118            let cudaGraphHostNodeGetParams = __library
18119                .get(b"cudaGraphHostNodeGetParams\0")
18120                .map(|sym| *sym)
18121                .expect("Expected symbol in library");
18122            let cudaGraphHostNodeSetParams = __library
18123                .get(b"cudaGraphHostNodeSetParams\0")
18124                .map(|sym| *sym)
18125                .expect("Expected symbol in library");
18126            #[cfg(any(
18127                feature = "cuda-11040",
18128                feature = "cuda-11050",
18129                feature = "cuda-11060",
18130                feature = "cuda-11070",
18131                feature = "cuda-11080"
18132            ))]
18133            let cudaGraphInstantiate = __library
18134                .get(b"cudaGraphInstantiate\0")
18135                .map(|sym| *sym)
18136                .expect("Expected symbol in library");
18137            #[cfg(any(
18138                feature = "cuda-12000",
18139                feature = "cuda-12010",
18140                feature = "cuda-12020",
18141                feature = "cuda-12030",
18142                feature = "cuda-12040",
18143                feature = "cuda-12050",
18144                feature = "cuda-12060",
18145                feature = "cuda-12080",
18146                feature = "cuda-12090",
18147                feature = "cuda-13000"
18148            ))]
18149            let cudaGraphInstantiate = __library
18150                .get(b"cudaGraphInstantiate\0")
18151                .map(|sym| *sym)
18152                .expect("Expected symbol in library");
18153            let cudaGraphInstantiateWithFlags = __library
18154                .get(b"cudaGraphInstantiateWithFlags\0")
18155                .map(|sym| *sym)
18156                .expect("Expected symbol in library");
18157            #[cfg(any(
18158                feature = "cuda-12000",
18159                feature = "cuda-12010",
18160                feature = "cuda-12020",
18161                feature = "cuda-12030",
18162                feature = "cuda-12040",
18163                feature = "cuda-12050",
18164                feature = "cuda-12060",
18165                feature = "cuda-12080",
18166                feature = "cuda-12090",
18167                feature = "cuda-13000"
18168            ))]
18169            let cudaGraphInstantiateWithParams = __library
18170                .get(b"cudaGraphInstantiateWithParams\0")
18171                .map(|sym| *sym)
18172                .expect("Expected symbol in library");
18173            #[cfg(any(
18174                feature = "cuda-11040",
18175                feature = "cuda-11050",
18176                feature = "cuda-11060",
18177                feature = "cuda-11070",
18178                feature = "cuda-11080",
18179                feature = "cuda-12000",
18180                feature = "cuda-12010",
18181                feature = "cuda-12020",
18182                feature = "cuda-12030",
18183                feature = "cuda-12040",
18184                feature = "cuda-12050",
18185                feature = "cuda-12060",
18186                feature = "cuda-12080",
18187                feature = "cuda-12090"
18188            ))]
18189            let cudaGraphKernelNodeCopyAttributes = __library
18190                .get(b"cudaGraphKernelNodeCopyAttributes\0")
18191                .map(|sym| *sym)
18192                .expect("Expected symbol in library");
18193            #[cfg(any(feature = "cuda-13000"))]
18194            let cudaGraphKernelNodeCopyAttributes = __library
18195                .get(b"cudaGraphKernelNodeCopyAttributes\0")
18196                .map(|sym| *sym)
18197                .expect("Expected symbol in library");
18198            #[cfg(any(
18199                feature = "cuda-11040",
18200                feature = "cuda-11050",
18201                feature = "cuda-11060",
18202                feature = "cuda-11070"
18203            ))]
18204            let cudaGraphKernelNodeGetAttribute = __library
18205                .get(b"cudaGraphKernelNodeGetAttribute\0")
18206                .map(|sym| *sym)
18207                .expect("Expected symbol in library");
18208            #[cfg(any(
18209                feature = "cuda-11080",
18210                feature = "cuda-12000",
18211                feature = "cuda-12010",
18212                feature = "cuda-12020",
18213                feature = "cuda-12030",
18214                feature = "cuda-12040",
18215                feature = "cuda-12050",
18216                feature = "cuda-12060",
18217                feature = "cuda-12080",
18218                feature = "cuda-12090",
18219                feature = "cuda-13000"
18220            ))]
18221            let cudaGraphKernelNodeGetAttribute = __library
18222                .get(b"cudaGraphKernelNodeGetAttribute\0")
18223                .map(|sym| *sym)
18224                .expect("Expected symbol in library");
18225            let cudaGraphKernelNodeGetParams = __library
18226                .get(b"cudaGraphKernelNodeGetParams\0")
18227                .map(|sym| *sym)
18228                .expect("Expected symbol in library");
18229            #[cfg(any(
18230                feature = "cuda-11040",
18231                feature = "cuda-11050",
18232                feature = "cuda-11060",
18233                feature = "cuda-11070"
18234            ))]
18235            let cudaGraphKernelNodeSetAttribute = __library
18236                .get(b"cudaGraphKernelNodeSetAttribute\0")
18237                .map(|sym| *sym)
18238                .expect("Expected symbol in library");
18239            #[cfg(any(
18240                feature = "cuda-11080",
18241                feature = "cuda-12000",
18242                feature = "cuda-12010",
18243                feature = "cuda-12020",
18244                feature = "cuda-12030",
18245                feature = "cuda-12040",
18246                feature = "cuda-12050",
18247                feature = "cuda-12060",
18248                feature = "cuda-12080",
18249                feature = "cuda-12090",
18250                feature = "cuda-13000"
18251            ))]
18252            let cudaGraphKernelNodeSetAttribute = __library
18253                .get(b"cudaGraphKernelNodeSetAttribute\0")
18254                .map(|sym| *sym)
18255                .expect("Expected symbol in library");
18256            let cudaGraphKernelNodeSetParams = __library
18257                .get(b"cudaGraphKernelNodeSetParams\0")
18258                .map(|sym| *sym)
18259                .expect("Expected symbol in library");
18260            let cudaGraphLaunch = __library
18261                .get(b"cudaGraphLaunch\0")
18262                .map(|sym| *sym)
18263                .expect("Expected symbol in library");
18264            let cudaGraphMemAllocNodeGetParams = __library
18265                .get(b"cudaGraphMemAllocNodeGetParams\0")
18266                .map(|sym| *sym)
18267                .expect("Expected symbol in library");
18268            let cudaGraphMemFreeNodeGetParams = __library
18269                .get(b"cudaGraphMemFreeNodeGetParams\0")
18270                .map(|sym| *sym)
18271                .expect("Expected symbol in library");
18272            let cudaGraphMemcpyNodeGetParams = __library
18273                .get(b"cudaGraphMemcpyNodeGetParams\0")
18274                .map(|sym| *sym)
18275                .expect("Expected symbol in library");
18276            let cudaGraphMemcpyNodeSetParams = __library
18277                .get(b"cudaGraphMemcpyNodeSetParams\0")
18278                .map(|sym| *sym)
18279                .expect("Expected symbol in library");
18280            let cudaGraphMemcpyNodeSetParams1D = __library
18281                .get(b"cudaGraphMemcpyNodeSetParams1D\0")
18282                .map(|sym| *sym)
18283                .expect("Expected symbol in library");
18284            let cudaGraphMemcpyNodeSetParamsFromSymbol = __library
18285                .get(b"cudaGraphMemcpyNodeSetParamsFromSymbol\0")
18286                .map(|sym| *sym)
18287                .expect("Expected symbol in library");
18288            let cudaGraphMemcpyNodeSetParamsToSymbol = __library
18289                .get(b"cudaGraphMemcpyNodeSetParamsToSymbol\0")
18290                .map(|sym| *sym)
18291                .expect("Expected symbol in library");
18292            let cudaGraphMemsetNodeGetParams = __library
18293                .get(b"cudaGraphMemsetNodeGetParams\0")
18294                .map(|sym| *sym)
18295                .expect("Expected symbol in library");
18296            let cudaGraphMemsetNodeSetParams = __library
18297                .get(b"cudaGraphMemsetNodeSetParams\0")
18298                .map(|sym| *sym)
18299                .expect("Expected symbol in library");
18300            let cudaGraphNodeFindInClone = __library
18301                .get(b"cudaGraphNodeFindInClone\0")
18302                .map(|sym| *sym)
18303                .expect("Expected symbol in library");
18304            #[cfg(any(
18305                feature = "cuda-11040",
18306                feature = "cuda-11050",
18307                feature = "cuda-11060",
18308                feature = "cuda-11070",
18309                feature = "cuda-11080",
18310                feature = "cuda-12000",
18311                feature = "cuda-12010",
18312                feature = "cuda-12020",
18313                feature = "cuda-12030",
18314                feature = "cuda-12040",
18315                feature = "cuda-12050",
18316                feature = "cuda-12060",
18317                feature = "cuda-12080",
18318                feature = "cuda-12090"
18319            ))]
18320            let cudaGraphNodeGetDependencies = __library
18321                .get(b"cudaGraphNodeGetDependencies\0")
18322                .map(|sym| *sym)
18323                .expect("Expected symbol in library");
18324            #[cfg(any(feature = "cuda-13000"))]
18325            let cudaGraphNodeGetDependencies = __library
18326                .get(b"cudaGraphNodeGetDependencies\0")
18327                .map(|sym| *sym)
18328                .expect("Expected symbol in library");
18329            #[cfg(any(
18330                feature = "cuda-12030",
18331                feature = "cuda-12040",
18332                feature = "cuda-12050",
18333                feature = "cuda-12060",
18334                feature = "cuda-12080",
18335                feature = "cuda-12090"
18336            ))]
18337            let cudaGraphNodeGetDependencies_v2 = __library
18338                .get(b"cudaGraphNodeGetDependencies_v2\0")
18339                .map(|sym| *sym)
18340                .expect("Expected symbol in library");
18341            #[cfg(any(
18342                feature = "cuda-11040",
18343                feature = "cuda-11050",
18344                feature = "cuda-11060",
18345                feature = "cuda-11070",
18346                feature = "cuda-11080",
18347                feature = "cuda-12000",
18348                feature = "cuda-12010",
18349                feature = "cuda-12020",
18350                feature = "cuda-12030",
18351                feature = "cuda-12040",
18352                feature = "cuda-12050",
18353                feature = "cuda-12060",
18354                feature = "cuda-12080",
18355                feature = "cuda-12090"
18356            ))]
18357            let cudaGraphNodeGetDependentNodes = __library
18358                .get(b"cudaGraphNodeGetDependentNodes\0")
18359                .map(|sym| *sym)
18360                .expect("Expected symbol in library");
18361            #[cfg(any(feature = "cuda-13000"))]
18362            let cudaGraphNodeGetDependentNodes = __library
18363                .get(b"cudaGraphNodeGetDependentNodes\0")
18364                .map(|sym| *sym)
18365                .expect("Expected symbol in library");
18366            #[cfg(any(
18367                feature = "cuda-12030",
18368                feature = "cuda-12040",
18369                feature = "cuda-12050",
18370                feature = "cuda-12060",
18371                feature = "cuda-12080",
18372                feature = "cuda-12090"
18373            ))]
18374            let cudaGraphNodeGetDependentNodes_v2 = __library
18375                .get(b"cudaGraphNodeGetDependentNodes_v2\0")
18376                .map(|sym| *sym)
18377                .expect("Expected symbol in library");
18378            #[cfg(any(
18379                feature = "cuda-11060",
18380                feature = "cuda-11070",
18381                feature = "cuda-11080",
18382                feature = "cuda-12000",
18383                feature = "cuda-12010",
18384                feature = "cuda-12020",
18385                feature = "cuda-12030",
18386                feature = "cuda-12040",
18387                feature = "cuda-12050",
18388                feature = "cuda-12060",
18389                feature = "cuda-12080",
18390                feature = "cuda-12090",
18391                feature = "cuda-13000"
18392            ))]
18393            let cudaGraphNodeGetEnabled = __library
18394                .get(b"cudaGraphNodeGetEnabled\0")
18395                .map(|sym| *sym)
18396                .expect("Expected symbol in library");
18397            let cudaGraphNodeGetType = __library
18398                .get(b"cudaGraphNodeGetType\0")
18399                .map(|sym| *sym)
18400                .expect("Expected symbol in library");
18401            #[cfg(any(
18402                feature = "cuda-11060",
18403                feature = "cuda-11070",
18404                feature = "cuda-11080",
18405                feature = "cuda-12000",
18406                feature = "cuda-12010",
18407                feature = "cuda-12020",
18408                feature = "cuda-12030",
18409                feature = "cuda-12040",
18410                feature = "cuda-12050",
18411                feature = "cuda-12060",
18412                feature = "cuda-12080",
18413                feature = "cuda-12090",
18414                feature = "cuda-13000"
18415            ))]
18416            let cudaGraphNodeSetEnabled = __library
18417                .get(b"cudaGraphNodeSetEnabled\0")
18418                .map(|sym| *sym)
18419                .expect("Expected symbol in library");
18420            #[cfg(any(
18421                feature = "cuda-12020",
18422                feature = "cuda-12030",
18423                feature = "cuda-12040",
18424                feature = "cuda-12050",
18425                feature = "cuda-12060",
18426                feature = "cuda-12080",
18427                feature = "cuda-12090",
18428                feature = "cuda-13000"
18429            ))]
18430            let cudaGraphNodeSetParams = __library
18431                .get(b"cudaGraphNodeSetParams\0")
18432                .map(|sym| *sym)
18433                .expect("Expected symbol in library");
18434            let cudaGraphReleaseUserObject = __library
18435                .get(b"cudaGraphReleaseUserObject\0")
18436                .map(|sym| *sym)
18437                .expect("Expected symbol in library");
18438            #[cfg(any(
18439                feature = "cuda-11040",
18440                feature = "cuda-11050",
18441                feature = "cuda-11060",
18442                feature = "cuda-11070",
18443                feature = "cuda-11080",
18444                feature = "cuda-12000",
18445                feature = "cuda-12010",
18446                feature = "cuda-12020",
18447                feature = "cuda-12030",
18448                feature = "cuda-12040",
18449                feature = "cuda-12050",
18450                feature = "cuda-12060",
18451                feature = "cuda-12080",
18452                feature = "cuda-12090"
18453            ))]
18454            let cudaGraphRemoveDependencies = __library
18455                .get(b"cudaGraphRemoveDependencies\0")
18456                .map(|sym| *sym)
18457                .expect("Expected symbol in library");
18458            #[cfg(any(feature = "cuda-13000"))]
18459            let cudaGraphRemoveDependencies = __library
18460                .get(b"cudaGraphRemoveDependencies\0")
18461                .map(|sym| *sym)
18462                .expect("Expected symbol in library");
18463            #[cfg(any(
18464                feature = "cuda-12030",
18465                feature = "cuda-12040",
18466                feature = "cuda-12050",
18467                feature = "cuda-12060",
18468                feature = "cuda-12080",
18469                feature = "cuda-12090"
18470            ))]
18471            let cudaGraphRemoveDependencies_v2 = __library
18472                .get(b"cudaGraphRemoveDependencies_v2\0")
18473                .map(|sym| *sym)
18474                .expect("Expected symbol in library");
18475            let cudaGraphRetainUserObject = __library
18476                .get(b"cudaGraphRetainUserObject\0")
18477                .map(|sym| *sym)
18478                .expect("Expected symbol in library");
18479            let cudaGraphUpload = __library
18480                .get(b"cudaGraphUpload\0")
18481                .map(|sym| *sym)
18482                .expect("Expected symbol in library");
18483            let cudaGraphicsMapResources = __library
18484                .get(b"cudaGraphicsMapResources\0")
18485                .map(|sym| *sym)
18486                .expect("Expected symbol in library");
18487            let cudaGraphicsResourceGetMappedMipmappedArray = __library
18488                .get(b"cudaGraphicsResourceGetMappedMipmappedArray\0")
18489                .map(|sym| *sym)
18490                .expect("Expected symbol in library");
18491            let cudaGraphicsResourceGetMappedPointer = __library
18492                .get(b"cudaGraphicsResourceGetMappedPointer\0")
18493                .map(|sym| *sym)
18494                .expect("Expected symbol in library");
18495            let cudaGraphicsResourceSetMapFlags = __library
18496                .get(b"cudaGraphicsResourceSetMapFlags\0")
18497                .map(|sym| *sym)
18498                .expect("Expected symbol in library");
18499            let cudaGraphicsSubResourceGetMappedArray = __library
18500                .get(b"cudaGraphicsSubResourceGetMappedArray\0")
18501                .map(|sym| *sym)
18502                .expect("Expected symbol in library");
18503            let cudaGraphicsUnmapResources = __library
18504                .get(b"cudaGraphicsUnmapResources\0")
18505                .map(|sym| *sym)
18506                .expect("Expected symbol in library");
18507            let cudaGraphicsUnregisterResource = __library
18508                .get(b"cudaGraphicsUnregisterResource\0")
18509                .map(|sym| *sym)
18510                .expect("Expected symbol in library");
18511            let cudaHostAlloc = __library
18512                .get(b"cudaHostAlloc\0")
18513                .map(|sym| *sym)
18514                .expect("Expected symbol in library");
18515            let cudaHostGetDevicePointer = __library
18516                .get(b"cudaHostGetDevicePointer\0")
18517                .map(|sym| *sym)
18518                .expect("Expected symbol in library");
18519            let cudaHostGetFlags = __library
18520                .get(b"cudaHostGetFlags\0")
18521                .map(|sym| *sym)
18522                .expect("Expected symbol in library");
18523            let cudaHostRegister = __library
18524                .get(b"cudaHostRegister\0")
18525                .map(|sym| *sym)
18526                .expect("Expected symbol in library");
18527            let cudaHostUnregister = __library
18528                .get(b"cudaHostUnregister\0")
18529                .map(|sym| *sym)
18530                .expect("Expected symbol in library");
18531            let cudaImportExternalMemory = __library
18532                .get(b"cudaImportExternalMemory\0")
18533                .map(|sym| *sym)
18534                .expect("Expected symbol in library");
18535            let cudaImportExternalSemaphore = __library
18536                .get(b"cudaImportExternalSemaphore\0")
18537                .map(|sym| *sym)
18538                .expect("Expected symbol in library");
18539            #[cfg(any(
18540                feature = "cuda-12000",
18541                feature = "cuda-12010",
18542                feature = "cuda-12020",
18543                feature = "cuda-12030",
18544                feature = "cuda-12040",
18545                feature = "cuda-12050",
18546                feature = "cuda-12060",
18547                feature = "cuda-12080",
18548                feature = "cuda-12090",
18549                feature = "cuda-13000"
18550            ))]
18551            let cudaInitDevice = __library
18552                .get(b"cudaInitDevice\0")
18553                .map(|sym| *sym)
18554                .expect("Expected symbol in library");
18555            let cudaIpcCloseMemHandle = __library
18556                .get(b"cudaIpcCloseMemHandle\0")
18557                .map(|sym| *sym)
18558                .expect("Expected symbol in library");
18559            let cudaIpcGetEventHandle = __library
18560                .get(b"cudaIpcGetEventHandle\0")
18561                .map(|sym| *sym)
18562                .expect("Expected symbol in library");
18563            let cudaIpcGetMemHandle = __library
18564                .get(b"cudaIpcGetMemHandle\0")
18565                .map(|sym| *sym)
18566                .expect("Expected symbol in library");
18567            let cudaIpcOpenEventHandle = __library
18568                .get(b"cudaIpcOpenEventHandle\0")
18569                .map(|sym| *sym)
18570                .expect("Expected symbol in library");
18571            let cudaIpcOpenMemHandle = __library
18572                .get(b"cudaIpcOpenMemHandle\0")
18573                .map(|sym| *sym)
18574                .expect("Expected symbol in library");
18575            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18576            let cudaKernelSetAttributeForDevice = __library
18577                .get(b"cudaKernelSetAttributeForDevice\0")
18578                .map(|sym| *sym)
18579                .expect("Expected symbol in library");
18580            let cudaLaunchCooperativeKernel = __library
18581                .get(b"cudaLaunchCooperativeKernel\0")
18582                .map(|sym| *sym)
18583                .expect("Expected symbol in library");
18584            #[cfg(any(
18585                feature = "cuda-11040",
18586                feature = "cuda-11050",
18587                feature = "cuda-11060",
18588                feature = "cuda-11070",
18589                feature = "cuda-11080",
18590                feature = "cuda-12000",
18591                feature = "cuda-12010",
18592                feature = "cuda-12020",
18593                feature = "cuda-12030",
18594                feature = "cuda-12040",
18595                feature = "cuda-12050",
18596                feature = "cuda-12060",
18597                feature = "cuda-12080",
18598                feature = "cuda-12090"
18599            ))]
18600            let cudaLaunchCooperativeKernelMultiDevice = __library
18601                .get(b"cudaLaunchCooperativeKernelMultiDevice\0")
18602                .map(|sym| *sym)
18603                .expect("Expected symbol in library");
18604            let cudaLaunchHostFunc = __library
18605                .get(b"cudaLaunchHostFunc\0")
18606                .map(|sym| *sym)
18607                .expect("Expected symbol in library");
18608            let cudaLaunchKernel = __library
18609                .get(b"cudaLaunchKernel\0")
18610                .map(|sym| *sym)
18611                .expect("Expected symbol in library");
18612            #[cfg(any(
18613                feature = "cuda-11080",
18614                feature = "cuda-12000",
18615                feature = "cuda-12010",
18616                feature = "cuda-12020",
18617                feature = "cuda-12030",
18618                feature = "cuda-12040",
18619                feature = "cuda-12050",
18620                feature = "cuda-12060",
18621                feature = "cuda-12080",
18622                feature = "cuda-12090",
18623                feature = "cuda-13000"
18624            ))]
18625            let cudaLaunchKernelExC = __library
18626                .get(b"cudaLaunchKernelExC\0")
18627                .map(|sym| *sym)
18628                .expect("Expected symbol in library");
18629            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18630            let cudaLibraryEnumerateKernels = __library
18631                .get(b"cudaLibraryEnumerateKernels\0")
18632                .map(|sym| *sym)
18633                .expect("Expected symbol in library");
18634            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18635            let cudaLibraryGetGlobal = __library
18636                .get(b"cudaLibraryGetGlobal\0")
18637                .map(|sym| *sym)
18638                .expect("Expected symbol in library");
18639            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18640            let cudaLibraryGetKernel = __library
18641                .get(b"cudaLibraryGetKernel\0")
18642                .map(|sym| *sym)
18643                .expect("Expected symbol in library");
18644            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18645            let cudaLibraryGetKernelCount = __library
18646                .get(b"cudaLibraryGetKernelCount\0")
18647                .map(|sym| *sym)
18648                .expect("Expected symbol in library");
18649            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18650            let cudaLibraryGetManaged = __library
18651                .get(b"cudaLibraryGetManaged\0")
18652                .map(|sym| *sym)
18653                .expect("Expected symbol in library");
18654            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18655            let cudaLibraryGetUnifiedFunction = __library
18656                .get(b"cudaLibraryGetUnifiedFunction\0")
18657                .map(|sym| *sym)
18658                .expect("Expected symbol in library");
18659            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18660            let cudaLibraryLoadData = __library
18661                .get(b"cudaLibraryLoadData\0")
18662                .map(|sym| *sym)
18663                .expect("Expected symbol in library");
18664            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18665            let cudaLibraryLoadFromFile = __library
18666                .get(b"cudaLibraryLoadFromFile\0")
18667                .map(|sym| *sym)
18668                .expect("Expected symbol in library");
18669            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18670            let cudaLibraryUnload = __library
18671                .get(b"cudaLibraryUnload\0")
18672                .map(|sym| *sym)
18673                .expect("Expected symbol in library");
18674            #[cfg(any(feature = "cuda-13000"))]
18675            let cudaLogsCurrent = __library
18676                .get(b"cudaLogsCurrent\0")
18677                .map(|sym| *sym)
18678                .expect("Expected symbol in library");
18679            #[cfg(any(feature = "cuda-13000"))]
18680            let cudaLogsDumpToFile = __library
18681                .get(b"cudaLogsDumpToFile\0")
18682                .map(|sym| *sym)
18683                .expect("Expected symbol in library");
18684            #[cfg(any(feature = "cuda-13000"))]
18685            let cudaLogsDumpToMemory = __library
18686                .get(b"cudaLogsDumpToMemory\0")
18687                .map(|sym| *sym)
18688                .expect("Expected symbol in library");
18689            #[cfg(any(feature = "cuda-13000"))]
18690            let cudaLogsRegisterCallback = __library
18691                .get(b"cudaLogsRegisterCallback\0")
18692                .map(|sym| *sym)
18693                .expect("Expected symbol in library");
18694            #[cfg(any(feature = "cuda-13000"))]
18695            let cudaLogsUnregisterCallback = __library
18696                .get(b"cudaLogsUnregisterCallback\0")
18697                .map(|sym| *sym)
18698                .expect("Expected symbol in library");
18699            let cudaMalloc = __library
18700                .get(b"cudaMalloc\0")
18701                .map(|sym| *sym)
18702                .expect("Expected symbol in library");
18703            let cudaMalloc3D = __library
18704                .get(b"cudaMalloc3D\0")
18705                .map(|sym| *sym)
18706                .expect("Expected symbol in library");
18707            let cudaMalloc3DArray = __library
18708                .get(b"cudaMalloc3DArray\0")
18709                .map(|sym| *sym)
18710                .expect("Expected symbol in library");
18711            let cudaMallocArray = __library
18712                .get(b"cudaMallocArray\0")
18713                .map(|sym| *sym)
18714                .expect("Expected symbol in library");
18715            let cudaMallocAsync = __library
18716                .get(b"cudaMallocAsync\0")
18717                .map(|sym| *sym)
18718                .expect("Expected symbol in library");
18719            let cudaMallocFromPoolAsync = __library
18720                .get(b"cudaMallocFromPoolAsync\0")
18721                .map(|sym| *sym)
18722                .expect("Expected symbol in library");
18723            let cudaMallocHost = __library
18724                .get(b"cudaMallocHost\0")
18725                .map(|sym| *sym)
18726                .expect("Expected symbol in library");
18727            let cudaMallocManaged = __library
18728                .get(b"cudaMallocManaged\0")
18729                .map(|sym| *sym)
18730                .expect("Expected symbol in library");
18731            let cudaMallocMipmappedArray = __library
18732                .get(b"cudaMallocMipmappedArray\0")
18733                .map(|sym| *sym)
18734                .expect("Expected symbol in library");
18735            let cudaMallocPitch = __library
18736                .get(b"cudaMallocPitch\0")
18737                .map(|sym| *sym)
18738                .expect("Expected symbol in library");
18739            #[cfg(any(
18740                feature = "cuda-11040",
18741                feature = "cuda-11050",
18742                feature = "cuda-11060",
18743                feature = "cuda-11070",
18744                feature = "cuda-11080",
18745                feature = "cuda-12000",
18746                feature = "cuda-12010",
18747                feature = "cuda-12020",
18748                feature = "cuda-12030",
18749                feature = "cuda-12040",
18750                feature = "cuda-12050",
18751                feature = "cuda-12060",
18752                feature = "cuda-12080",
18753                feature = "cuda-12090"
18754            ))]
18755            let cudaMemAdvise = __library
18756                .get(b"cudaMemAdvise\0")
18757                .map(|sym| *sym)
18758                .expect("Expected symbol in library");
18759            #[cfg(any(feature = "cuda-13000"))]
18760            let cudaMemAdvise = __library
18761                .get(b"cudaMemAdvise\0")
18762                .map(|sym| *sym)
18763                .expect("Expected symbol in library");
18764            #[cfg(any(
18765                feature = "cuda-12020",
18766                feature = "cuda-12030",
18767                feature = "cuda-12040",
18768                feature = "cuda-12050",
18769                feature = "cuda-12060",
18770                feature = "cuda-12080",
18771                feature = "cuda-12090"
18772            ))]
18773            let cudaMemAdvise_v2 = __library
18774                .get(b"cudaMemAdvise_v2\0")
18775                .map(|sym| *sym)
18776                .expect("Expected symbol in library");
18777            #[cfg(any(feature = "cuda-13000"))]
18778            let cudaMemDiscardAndPrefetchBatchAsync = __library
18779                .get(b"cudaMemDiscardAndPrefetchBatchAsync\0")
18780                .map(|sym| *sym)
18781                .expect("Expected symbol in library");
18782            #[cfg(any(feature = "cuda-13000"))]
18783            let cudaMemDiscardBatchAsync = __library
18784                .get(b"cudaMemDiscardBatchAsync\0")
18785                .map(|sym| *sym)
18786                .expect("Expected symbol in library");
18787            #[cfg(any(feature = "cuda-13000"))]
18788            let cudaMemGetDefaultMemPool = __library
18789                .get(b"cudaMemGetDefaultMemPool\0")
18790                .map(|sym| *sym)
18791                .expect("Expected symbol in library");
18792            let cudaMemGetInfo = __library
18793                .get(b"cudaMemGetInfo\0")
18794                .map(|sym| *sym)
18795                .expect("Expected symbol in library");
18796            #[cfg(any(feature = "cuda-13000"))]
18797            let cudaMemGetMemPool = __library
18798                .get(b"cudaMemGetMemPool\0")
18799                .map(|sym| *sym)
18800                .expect("Expected symbol in library");
18801            let cudaMemPoolCreate = __library
18802                .get(b"cudaMemPoolCreate\0")
18803                .map(|sym| *sym)
18804                .expect("Expected symbol in library");
18805            let cudaMemPoolDestroy = __library
18806                .get(b"cudaMemPoolDestroy\0")
18807                .map(|sym| *sym)
18808                .expect("Expected symbol in library");
18809            let cudaMemPoolExportPointer = __library
18810                .get(b"cudaMemPoolExportPointer\0")
18811                .map(|sym| *sym)
18812                .expect("Expected symbol in library");
18813            let cudaMemPoolExportToShareableHandle = __library
18814                .get(b"cudaMemPoolExportToShareableHandle\0")
18815                .map(|sym| *sym)
18816                .expect("Expected symbol in library");
18817            let cudaMemPoolGetAccess = __library
18818                .get(b"cudaMemPoolGetAccess\0")
18819                .map(|sym| *sym)
18820                .expect("Expected symbol in library");
18821            let cudaMemPoolGetAttribute = __library
18822                .get(b"cudaMemPoolGetAttribute\0")
18823                .map(|sym| *sym)
18824                .expect("Expected symbol in library");
18825            let cudaMemPoolImportFromShareableHandle = __library
18826                .get(b"cudaMemPoolImportFromShareableHandle\0")
18827                .map(|sym| *sym)
18828                .expect("Expected symbol in library");
18829            let cudaMemPoolImportPointer = __library
18830                .get(b"cudaMemPoolImportPointer\0")
18831                .map(|sym| *sym)
18832                .expect("Expected symbol in library");
18833            let cudaMemPoolSetAccess = __library
18834                .get(b"cudaMemPoolSetAccess\0")
18835                .map(|sym| *sym)
18836                .expect("Expected symbol in library");
18837            let cudaMemPoolSetAttribute = __library
18838                .get(b"cudaMemPoolSetAttribute\0")
18839                .map(|sym| *sym)
18840                .expect("Expected symbol in library");
18841            let cudaMemPoolTrimTo = __library
18842                .get(b"cudaMemPoolTrimTo\0")
18843                .map(|sym| *sym)
18844                .expect("Expected symbol in library");
18845            #[cfg(any(
18846                feature = "cuda-11040",
18847                feature = "cuda-11050",
18848                feature = "cuda-11060",
18849                feature = "cuda-11070",
18850                feature = "cuda-11080",
18851                feature = "cuda-12000",
18852                feature = "cuda-12010",
18853                feature = "cuda-12020",
18854                feature = "cuda-12030",
18855                feature = "cuda-12040",
18856                feature = "cuda-12050",
18857                feature = "cuda-12060",
18858                feature = "cuda-12080",
18859                feature = "cuda-12090"
18860            ))]
18861            let cudaMemPrefetchAsync = __library
18862                .get(b"cudaMemPrefetchAsync\0")
18863                .map(|sym| *sym)
18864                .expect("Expected symbol in library");
18865            #[cfg(any(feature = "cuda-13000"))]
18866            let cudaMemPrefetchAsync = __library
18867                .get(b"cudaMemPrefetchAsync\0")
18868                .map(|sym| *sym)
18869                .expect("Expected symbol in library");
18870            #[cfg(any(
18871                feature = "cuda-12020",
18872                feature = "cuda-12030",
18873                feature = "cuda-12040",
18874                feature = "cuda-12050",
18875                feature = "cuda-12060",
18876                feature = "cuda-12080",
18877                feature = "cuda-12090"
18878            ))]
18879            let cudaMemPrefetchAsync_v2 = __library
18880                .get(b"cudaMemPrefetchAsync_v2\0")
18881                .map(|sym| *sym)
18882                .expect("Expected symbol in library");
18883            #[cfg(any(feature = "cuda-13000"))]
18884            let cudaMemPrefetchBatchAsync = __library
18885                .get(b"cudaMemPrefetchBatchAsync\0")
18886                .map(|sym| *sym)
18887                .expect("Expected symbol in library");
18888            let cudaMemRangeGetAttribute = __library
18889                .get(b"cudaMemRangeGetAttribute\0")
18890                .map(|sym| *sym)
18891                .expect("Expected symbol in library");
18892            let cudaMemRangeGetAttributes = __library
18893                .get(b"cudaMemRangeGetAttributes\0")
18894                .map(|sym| *sym)
18895                .expect("Expected symbol in library");
18896            #[cfg(any(feature = "cuda-13000"))]
18897            let cudaMemSetMemPool = __library
18898                .get(b"cudaMemSetMemPool\0")
18899                .map(|sym| *sym)
18900                .expect("Expected symbol in library");
18901            let cudaMemcpy = __library
18902                .get(b"cudaMemcpy\0")
18903                .map(|sym| *sym)
18904                .expect("Expected symbol in library");
18905            let cudaMemcpy2D = __library
18906                .get(b"cudaMemcpy2D\0")
18907                .map(|sym| *sym)
18908                .expect("Expected symbol in library");
18909            let cudaMemcpy2DArrayToArray = __library
18910                .get(b"cudaMemcpy2DArrayToArray\0")
18911                .map(|sym| *sym)
18912                .expect("Expected symbol in library");
18913            let cudaMemcpy2DAsync = __library
18914                .get(b"cudaMemcpy2DAsync\0")
18915                .map(|sym| *sym)
18916                .expect("Expected symbol in library");
18917            let cudaMemcpy2DFromArray = __library
18918                .get(b"cudaMemcpy2DFromArray\0")
18919                .map(|sym| *sym)
18920                .expect("Expected symbol in library");
18921            let cudaMemcpy2DFromArrayAsync = __library
18922                .get(b"cudaMemcpy2DFromArrayAsync\0")
18923                .map(|sym| *sym)
18924                .expect("Expected symbol in library");
18925            let cudaMemcpy2DToArray = __library
18926                .get(b"cudaMemcpy2DToArray\0")
18927                .map(|sym| *sym)
18928                .expect("Expected symbol in library");
18929            let cudaMemcpy2DToArrayAsync = __library
18930                .get(b"cudaMemcpy2DToArrayAsync\0")
18931                .map(|sym| *sym)
18932                .expect("Expected symbol in library");
18933            let cudaMemcpy3D = __library
18934                .get(b"cudaMemcpy3D\0")
18935                .map(|sym| *sym)
18936                .expect("Expected symbol in library");
18937            let cudaMemcpy3DAsync = __library
18938                .get(b"cudaMemcpy3DAsync\0")
18939                .map(|sym| *sym)
18940                .expect("Expected symbol in library");
18941            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
18942            let cudaMemcpy3DBatchAsync = __library
18943                .get(b"cudaMemcpy3DBatchAsync\0")
18944                .map(|sym| *sym)
18945                .expect("Expected symbol in library");
18946            #[cfg(any(feature = "cuda-13000"))]
18947            let cudaMemcpy3DBatchAsync = __library
18948                .get(b"cudaMemcpy3DBatchAsync\0")
18949                .map(|sym| *sym)
18950                .expect("Expected symbol in library");
18951            let cudaMemcpy3DPeer = __library
18952                .get(b"cudaMemcpy3DPeer\0")
18953                .map(|sym| *sym)
18954                .expect("Expected symbol in library");
18955            let cudaMemcpy3DPeerAsync = __library
18956                .get(b"cudaMemcpy3DPeerAsync\0")
18957                .map(|sym| *sym)
18958                .expect("Expected symbol in library");
18959            let cudaMemcpyArrayToArray = __library
18960                .get(b"cudaMemcpyArrayToArray\0")
18961                .map(|sym| *sym)
18962                .expect("Expected symbol in library");
18963            let cudaMemcpyAsync = __library
18964                .get(b"cudaMemcpyAsync\0")
18965                .map(|sym| *sym)
18966                .expect("Expected symbol in library");
18967            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
18968            let cudaMemcpyBatchAsync = __library
18969                .get(b"cudaMemcpyBatchAsync\0")
18970                .map(|sym| *sym)
18971                .expect("Expected symbol in library");
18972            #[cfg(any(feature = "cuda-13000"))]
18973            let cudaMemcpyBatchAsync = __library
18974                .get(b"cudaMemcpyBatchAsync\0")
18975                .map(|sym| *sym)
18976                .expect("Expected symbol in library");
18977            let cudaMemcpyFromArray = __library
18978                .get(b"cudaMemcpyFromArray\0")
18979                .map(|sym| *sym)
18980                .expect("Expected symbol in library");
18981            let cudaMemcpyFromArrayAsync = __library
18982                .get(b"cudaMemcpyFromArrayAsync\0")
18983                .map(|sym| *sym)
18984                .expect("Expected symbol in library");
18985            let cudaMemcpyFromSymbol = __library
18986                .get(b"cudaMemcpyFromSymbol\0")
18987                .map(|sym| *sym)
18988                .expect("Expected symbol in library");
18989            let cudaMemcpyFromSymbolAsync = __library
18990                .get(b"cudaMemcpyFromSymbolAsync\0")
18991                .map(|sym| *sym)
18992                .expect("Expected symbol in library");
18993            let cudaMemcpyPeer = __library
18994                .get(b"cudaMemcpyPeer\0")
18995                .map(|sym| *sym)
18996                .expect("Expected symbol in library");
18997            let cudaMemcpyPeerAsync = __library
18998                .get(b"cudaMemcpyPeerAsync\0")
18999                .map(|sym| *sym)
19000                .expect("Expected symbol in library");
19001            let cudaMemcpyToArray = __library
19002                .get(b"cudaMemcpyToArray\0")
19003                .map(|sym| *sym)
19004                .expect("Expected symbol in library");
19005            let cudaMemcpyToArrayAsync = __library
19006                .get(b"cudaMemcpyToArrayAsync\0")
19007                .map(|sym| *sym)
19008                .expect("Expected symbol in library");
19009            let cudaMemcpyToSymbol = __library
19010                .get(b"cudaMemcpyToSymbol\0")
19011                .map(|sym| *sym)
19012                .expect("Expected symbol in library");
19013            let cudaMemcpyToSymbolAsync = __library
19014                .get(b"cudaMemcpyToSymbolAsync\0")
19015                .map(|sym| *sym)
19016                .expect("Expected symbol in library");
19017            let cudaMemset = __library
19018                .get(b"cudaMemset\0")
19019                .map(|sym| *sym)
19020                .expect("Expected symbol in library");
19021            let cudaMemset2D = __library
19022                .get(b"cudaMemset2D\0")
19023                .map(|sym| *sym)
19024                .expect("Expected symbol in library");
19025            let cudaMemset2DAsync = __library
19026                .get(b"cudaMemset2DAsync\0")
19027                .map(|sym| *sym)
19028                .expect("Expected symbol in library");
19029            let cudaMemset3D = __library
19030                .get(b"cudaMemset3D\0")
19031                .map(|sym| *sym)
19032                .expect("Expected symbol in library");
19033            let cudaMemset3DAsync = __library
19034                .get(b"cudaMemset3DAsync\0")
19035                .map(|sym| *sym)
19036                .expect("Expected symbol in library");
19037            let cudaMemsetAsync = __library
19038                .get(b"cudaMemsetAsync\0")
19039                .map(|sym| *sym)
19040                .expect("Expected symbol in library");
19041            #[cfg(any(
19042                feature = "cuda-11060",
19043                feature = "cuda-11070",
19044                feature = "cuda-11080",
19045                feature = "cuda-12000",
19046                feature = "cuda-12010",
19047                feature = "cuda-12020",
19048                feature = "cuda-12030",
19049                feature = "cuda-12040",
19050                feature = "cuda-12050",
19051                feature = "cuda-12060",
19052                feature = "cuda-12080",
19053                feature = "cuda-12090",
19054                feature = "cuda-13000"
19055            ))]
19056            let cudaMipmappedArrayGetMemoryRequirements = __library
19057                .get(b"cudaMipmappedArrayGetMemoryRequirements\0")
19058                .map(|sym| *sym)
19059                .expect("Expected symbol in library");
19060            let cudaMipmappedArrayGetSparseProperties = __library
19061                .get(b"cudaMipmappedArrayGetSparseProperties\0")
19062                .map(|sym| *sym)
19063                .expect("Expected symbol in library");
19064            let cudaOccupancyAvailableDynamicSMemPerBlock = __library
19065                .get(b"cudaOccupancyAvailableDynamicSMemPerBlock\0")
19066                .map(|sym| *sym)
19067                .expect("Expected symbol in library");
19068            let cudaOccupancyMaxActiveBlocksPerMultiprocessor = __library
19069                .get(b"cudaOccupancyMaxActiveBlocksPerMultiprocessor\0")
19070                .map(|sym| *sym)
19071                .expect("Expected symbol in library");
19072            let cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags = __library
19073                .get(b"cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\0")
19074                .map(|sym| *sym)
19075                .expect("Expected symbol in library");
19076            #[cfg(any(
19077                feature = "cuda-11080",
19078                feature = "cuda-12000",
19079                feature = "cuda-12010",
19080                feature = "cuda-12020",
19081                feature = "cuda-12030",
19082                feature = "cuda-12040",
19083                feature = "cuda-12050",
19084                feature = "cuda-12060",
19085                feature = "cuda-12080",
19086                feature = "cuda-12090",
19087                feature = "cuda-13000"
19088            ))]
19089            let cudaOccupancyMaxActiveClusters = __library
19090                .get(b"cudaOccupancyMaxActiveClusters\0")
19091                .map(|sym| *sym)
19092                .expect("Expected symbol in library");
19093            #[cfg(any(
19094                feature = "cuda-11080",
19095                feature = "cuda-12000",
19096                feature = "cuda-12010",
19097                feature = "cuda-12020",
19098                feature = "cuda-12030",
19099                feature = "cuda-12040",
19100                feature = "cuda-12050",
19101                feature = "cuda-12060",
19102                feature = "cuda-12080",
19103                feature = "cuda-12090",
19104                feature = "cuda-13000"
19105            ))]
19106            let cudaOccupancyMaxPotentialClusterSize = __library
19107                .get(b"cudaOccupancyMaxPotentialClusterSize\0")
19108                .map(|sym| *sym)
19109                .expect("Expected symbol in library");
19110            let cudaPeekAtLastError = __library
19111                .get(b"cudaPeekAtLastError\0")
19112                .map(|sym| *sym)
19113                .expect("Expected symbol in library");
19114            let cudaPointerGetAttributes = __library
19115                .get(b"cudaPointerGetAttributes\0")
19116                .map(|sym| *sym)
19117                .expect("Expected symbol in library");
19118            let cudaProfilerStop = __library
19119                .get(b"cudaProfilerStop\0")
19120                .map(|sym| *sym)
19121                .expect("Expected symbol in library");
19122            let cudaRuntimeGetVersion = __library
19123                .get(b"cudaRuntimeGetVersion\0")
19124                .map(|sym| *sym)
19125                .expect("Expected symbol in library");
19126            let cudaSetDevice = __library
19127                .get(b"cudaSetDevice\0")
19128                .map(|sym| *sym)
19129                .expect("Expected symbol in library");
19130            let cudaSetDeviceFlags = __library
19131                .get(b"cudaSetDeviceFlags\0")
19132                .map(|sym| *sym)
19133                .expect("Expected symbol in library");
19134            #[cfg(any(
19135                feature = "cuda-11040",
19136                feature = "cuda-11050",
19137                feature = "cuda-11060",
19138                feature = "cuda-11070",
19139                feature = "cuda-11080",
19140                feature = "cuda-12000",
19141                feature = "cuda-12010",
19142                feature = "cuda-12020",
19143                feature = "cuda-12030",
19144                feature = "cuda-12040",
19145                feature = "cuda-12050",
19146                feature = "cuda-12060",
19147                feature = "cuda-12080",
19148                feature = "cuda-12090"
19149            ))]
19150            let cudaSetDoubleForDevice = __library
19151                .get(b"cudaSetDoubleForDevice\0")
19152                .map(|sym| *sym)
19153                .expect("Expected symbol in library");
19154            #[cfg(any(
19155                feature = "cuda-11040",
19156                feature = "cuda-11050",
19157                feature = "cuda-11060",
19158                feature = "cuda-11070",
19159                feature = "cuda-11080",
19160                feature = "cuda-12000",
19161                feature = "cuda-12010",
19162                feature = "cuda-12020",
19163                feature = "cuda-12030",
19164                feature = "cuda-12040",
19165                feature = "cuda-12050",
19166                feature = "cuda-12060",
19167                feature = "cuda-12080",
19168                feature = "cuda-12090"
19169            ))]
19170            let cudaSetDoubleForHost = __library
19171                .get(b"cudaSetDoubleForHost\0")
19172                .map(|sym| *sym)
19173                .expect("Expected symbol in library");
19174            let cudaSetValidDevices = __library
19175                .get(b"cudaSetValidDevices\0")
19176                .map(|sym| *sym)
19177                .expect("Expected symbol in library");
19178            #[cfg(any(feature = "cuda-13000"))]
19179            let cudaSignalExternalSemaphoresAsync = __library
19180                .get(b"cudaSignalExternalSemaphoresAsync\0")
19181                .map(|sym| *sym)
19182                .expect("Expected symbol in library");
19183            #[cfg(any(
19184                feature = "cuda-11040",
19185                feature = "cuda-11050",
19186                feature = "cuda-11060",
19187                feature = "cuda-11070",
19188                feature = "cuda-11080",
19189                feature = "cuda-12000",
19190                feature = "cuda-12010",
19191                feature = "cuda-12020",
19192                feature = "cuda-12030",
19193                feature = "cuda-12040",
19194                feature = "cuda-12050",
19195                feature = "cuda-12060",
19196                feature = "cuda-12080",
19197                feature = "cuda-12090"
19198            ))]
19199            let cudaSignalExternalSemaphoresAsync_v2 = __library
19200                .get(b"cudaSignalExternalSemaphoresAsync_v2\0")
19201                .map(|sym| *sym)
19202                .expect("Expected symbol in library");
19203            let cudaStreamAddCallback = __library
19204                .get(b"cudaStreamAddCallback\0")
19205                .map(|sym| *sym)
19206                .expect("Expected symbol in library");
19207            let cudaStreamAttachMemAsync = __library
19208                .get(b"cudaStreamAttachMemAsync\0")
19209                .map(|sym| *sym)
19210                .expect("Expected symbol in library");
19211            let cudaStreamBeginCapture = __library
19212                .get(b"cudaStreamBeginCapture\0")
19213                .map(|sym| *sym)
19214                .expect("Expected symbol in library");
19215            #[cfg(any(
19216                feature = "cuda-12030",
19217                feature = "cuda-12040",
19218                feature = "cuda-12050",
19219                feature = "cuda-12060",
19220                feature = "cuda-12080",
19221                feature = "cuda-12090",
19222                feature = "cuda-13000"
19223            ))]
19224            let cudaStreamBeginCaptureToGraph = __library
19225                .get(b"cudaStreamBeginCaptureToGraph\0")
19226                .map(|sym| *sym)
19227                .expect("Expected symbol in library");
19228            let cudaStreamCopyAttributes = __library
19229                .get(b"cudaStreamCopyAttributes\0")
19230                .map(|sym| *sym)
19231                .expect("Expected symbol in library");
19232            let cudaStreamCreate = __library
19233                .get(b"cudaStreamCreate\0")
19234                .map(|sym| *sym)
19235                .expect("Expected symbol in library");
19236            let cudaStreamCreateWithFlags = __library
19237                .get(b"cudaStreamCreateWithFlags\0")
19238                .map(|sym| *sym)
19239                .expect("Expected symbol in library");
19240            let cudaStreamCreateWithPriority = __library
19241                .get(b"cudaStreamCreateWithPriority\0")
19242                .map(|sym| *sym)
19243                .expect("Expected symbol in library");
19244            let cudaStreamDestroy = __library
19245                .get(b"cudaStreamDestroy\0")
19246                .map(|sym| *sym)
19247                .expect("Expected symbol in library");
19248            let cudaStreamEndCapture = __library
19249                .get(b"cudaStreamEndCapture\0")
19250                .map(|sym| *sym)
19251                .expect("Expected symbol in library");
19252            #[cfg(any(
19253                feature = "cuda-11040",
19254                feature = "cuda-11050",
19255                feature = "cuda-11060",
19256                feature = "cuda-11070"
19257            ))]
19258            let cudaStreamGetAttribute = __library
19259                .get(b"cudaStreamGetAttribute\0")
19260                .map(|sym| *sym)
19261                .expect("Expected symbol in library");
19262            #[cfg(any(
19263                feature = "cuda-11080",
19264                feature = "cuda-12000",
19265                feature = "cuda-12010",
19266                feature = "cuda-12020",
19267                feature = "cuda-12030",
19268                feature = "cuda-12040",
19269                feature = "cuda-12050",
19270                feature = "cuda-12060",
19271                feature = "cuda-12080",
19272                feature = "cuda-12090",
19273                feature = "cuda-13000"
19274            ))]
19275            let cudaStreamGetAttribute = __library
19276                .get(b"cudaStreamGetAttribute\0")
19277                .map(|sym| *sym)
19278                .expect("Expected symbol in library");
19279            #[cfg(any(
19280                feature = "cuda-11040",
19281                feature = "cuda-11050",
19282                feature = "cuda-11060",
19283                feature = "cuda-11070",
19284                feature = "cuda-11080"
19285            ))]
19286            let cudaStreamGetCaptureInfo = __library
19287                .get(b"cudaStreamGetCaptureInfo\0")
19288                .map(|sym| *sym)
19289                .expect("Expected symbol in library");
19290            #[cfg(any(feature = "cuda-13000"))]
19291            let cudaStreamGetCaptureInfo = __library
19292                .get(b"cudaStreamGetCaptureInfo\0")
19293                .map(|sym| *sym)
19294                .expect("Expected symbol in library");
19295            #[cfg(any(
19296                feature = "cuda-11040",
19297                feature = "cuda-11050",
19298                feature = "cuda-11060",
19299                feature = "cuda-11070",
19300                feature = "cuda-11080",
19301                feature = "cuda-12000",
19302                feature = "cuda-12010",
19303                feature = "cuda-12020",
19304                feature = "cuda-12030",
19305                feature = "cuda-12040",
19306                feature = "cuda-12050",
19307                feature = "cuda-12060",
19308                feature = "cuda-12080",
19309                feature = "cuda-12090"
19310            ))]
19311            let cudaStreamGetCaptureInfo_v2 = __library
19312                .get(b"cudaStreamGetCaptureInfo_v2\0")
19313                .map(|sym| *sym)
19314                .expect("Expected symbol in library");
19315            #[cfg(any(
19316                feature = "cuda-12030",
19317                feature = "cuda-12040",
19318                feature = "cuda-12050",
19319                feature = "cuda-12060",
19320                feature = "cuda-12080",
19321                feature = "cuda-12090"
19322            ))]
19323            let cudaStreamGetCaptureInfo_v3 = __library
19324                .get(b"cudaStreamGetCaptureInfo_v3\0")
19325                .map(|sym| *sym)
19326                .expect("Expected symbol in library");
19327            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
19328            let cudaStreamGetDevice = __library
19329                .get(b"cudaStreamGetDevice\0")
19330                .map(|sym| *sym)
19331                .expect("Expected symbol in library");
19332            let cudaStreamGetFlags = __library
19333                .get(b"cudaStreamGetFlags\0")
19334                .map(|sym| *sym)
19335                .expect("Expected symbol in library");
19336            #[cfg(any(
19337                feature = "cuda-12000",
19338                feature = "cuda-12010",
19339                feature = "cuda-12020",
19340                feature = "cuda-12030",
19341                feature = "cuda-12040",
19342                feature = "cuda-12050",
19343                feature = "cuda-12060",
19344                feature = "cuda-12080",
19345                feature = "cuda-12090",
19346                feature = "cuda-13000"
19347            ))]
19348            let cudaStreamGetId = __library
19349                .get(b"cudaStreamGetId\0")
19350                .map(|sym| *sym)
19351                .expect("Expected symbol in library");
19352            let cudaStreamGetPriority = __library
19353                .get(b"cudaStreamGetPriority\0")
19354                .map(|sym| *sym)
19355                .expect("Expected symbol in library");
19356            let cudaStreamIsCapturing = __library
19357                .get(b"cudaStreamIsCapturing\0")
19358                .map(|sym| *sym)
19359                .expect("Expected symbol in library");
19360            let cudaStreamQuery = __library
19361                .get(b"cudaStreamQuery\0")
19362                .map(|sym| *sym)
19363                .expect("Expected symbol in library");
19364            #[cfg(any(
19365                feature = "cuda-11040",
19366                feature = "cuda-11050",
19367                feature = "cuda-11060",
19368                feature = "cuda-11070"
19369            ))]
19370            let cudaStreamSetAttribute = __library
19371                .get(b"cudaStreamSetAttribute\0")
19372                .map(|sym| *sym)
19373                .expect("Expected symbol in library");
19374            #[cfg(any(
19375                feature = "cuda-11080",
19376                feature = "cuda-12000",
19377                feature = "cuda-12010",
19378                feature = "cuda-12020",
19379                feature = "cuda-12030",
19380                feature = "cuda-12040",
19381                feature = "cuda-12050",
19382                feature = "cuda-12060",
19383                feature = "cuda-12080",
19384                feature = "cuda-12090",
19385                feature = "cuda-13000"
19386            ))]
19387            let cudaStreamSetAttribute = __library
19388                .get(b"cudaStreamSetAttribute\0")
19389                .map(|sym| *sym)
19390                .expect("Expected symbol in library");
19391            let cudaStreamSynchronize = __library
19392                .get(b"cudaStreamSynchronize\0")
19393                .map(|sym| *sym)
19394                .expect("Expected symbol in library");
19395            #[cfg(any(
19396                feature = "cuda-11040",
19397                feature = "cuda-11050",
19398                feature = "cuda-11060",
19399                feature = "cuda-11070",
19400                feature = "cuda-11080",
19401                feature = "cuda-12000",
19402                feature = "cuda-12010",
19403                feature = "cuda-12020",
19404                feature = "cuda-12030",
19405                feature = "cuda-12040",
19406                feature = "cuda-12050",
19407                feature = "cuda-12060",
19408                feature = "cuda-12080",
19409                feature = "cuda-12090"
19410            ))]
19411            let cudaStreamUpdateCaptureDependencies = __library
19412                .get(b"cudaStreamUpdateCaptureDependencies\0")
19413                .map(|sym| *sym)
19414                .expect("Expected symbol in library");
19415            #[cfg(any(feature = "cuda-13000"))]
19416            let cudaStreamUpdateCaptureDependencies = __library
19417                .get(b"cudaStreamUpdateCaptureDependencies\0")
19418                .map(|sym| *sym)
19419                .expect("Expected symbol in library");
19420            #[cfg(any(
19421                feature = "cuda-12030",
19422                feature = "cuda-12040",
19423                feature = "cuda-12050",
19424                feature = "cuda-12060",
19425                feature = "cuda-12080",
19426                feature = "cuda-12090"
19427            ))]
19428            let cudaStreamUpdateCaptureDependencies_v2 = __library
19429                .get(b"cudaStreamUpdateCaptureDependencies_v2\0")
19430                .map(|sym| *sym)
19431                .expect("Expected symbol in library");
19432            let cudaStreamWaitEvent = __library
19433                .get(b"cudaStreamWaitEvent\0")
19434                .map(|sym| *sym)
19435                .expect("Expected symbol in library");
19436            let cudaThreadExchangeStreamCaptureMode = __library
19437                .get(b"cudaThreadExchangeStreamCaptureMode\0")
19438                .map(|sym| *sym)
19439                .expect("Expected symbol in library");
19440            #[cfg(any(
19441                feature = "cuda-11040",
19442                feature = "cuda-11050",
19443                feature = "cuda-11060",
19444                feature = "cuda-11070",
19445                feature = "cuda-11080",
19446                feature = "cuda-12000",
19447                feature = "cuda-12010",
19448                feature = "cuda-12020",
19449                feature = "cuda-12030",
19450                feature = "cuda-12040",
19451                feature = "cuda-12050",
19452                feature = "cuda-12060",
19453                feature = "cuda-12080",
19454                feature = "cuda-12090"
19455            ))]
19456            let cudaThreadExit = __library
19457                .get(b"cudaThreadExit\0")
19458                .map(|sym| *sym)
19459                .expect("Expected symbol in library");
19460            #[cfg(any(
19461                feature = "cuda-11040",
19462                feature = "cuda-11050",
19463                feature = "cuda-11060",
19464                feature = "cuda-11070",
19465                feature = "cuda-11080",
19466                feature = "cuda-12000",
19467                feature = "cuda-12010",
19468                feature = "cuda-12020",
19469                feature = "cuda-12030",
19470                feature = "cuda-12040",
19471                feature = "cuda-12050",
19472                feature = "cuda-12060",
19473                feature = "cuda-12080",
19474                feature = "cuda-12090"
19475            ))]
19476            let cudaThreadGetCacheConfig = __library
19477                .get(b"cudaThreadGetCacheConfig\0")
19478                .map(|sym| *sym)
19479                .expect("Expected symbol in library");
19480            #[cfg(any(
19481                feature = "cuda-11040",
19482                feature = "cuda-11050",
19483                feature = "cuda-11060",
19484                feature = "cuda-11070",
19485                feature = "cuda-11080",
19486                feature = "cuda-12000",
19487                feature = "cuda-12010",
19488                feature = "cuda-12020",
19489                feature = "cuda-12030",
19490                feature = "cuda-12040",
19491                feature = "cuda-12050",
19492                feature = "cuda-12060",
19493                feature = "cuda-12080",
19494                feature = "cuda-12090"
19495            ))]
19496            let cudaThreadGetLimit = __library
19497                .get(b"cudaThreadGetLimit\0")
19498                .map(|sym| *sym)
19499                .expect("Expected symbol in library");
19500            #[cfg(any(
19501                feature = "cuda-11040",
19502                feature = "cuda-11050",
19503                feature = "cuda-11060",
19504                feature = "cuda-11070",
19505                feature = "cuda-11080",
19506                feature = "cuda-12000",
19507                feature = "cuda-12010",
19508                feature = "cuda-12020",
19509                feature = "cuda-12030",
19510                feature = "cuda-12040",
19511                feature = "cuda-12050",
19512                feature = "cuda-12060",
19513                feature = "cuda-12080",
19514                feature = "cuda-12090"
19515            ))]
19516            let cudaThreadSetCacheConfig = __library
19517                .get(b"cudaThreadSetCacheConfig\0")
19518                .map(|sym| *sym)
19519                .expect("Expected symbol in library");
19520            #[cfg(any(
19521                feature = "cuda-11040",
19522                feature = "cuda-11050",
19523                feature = "cuda-11060",
19524                feature = "cuda-11070",
19525                feature = "cuda-11080",
19526                feature = "cuda-12000",
19527                feature = "cuda-12010",
19528                feature = "cuda-12020",
19529                feature = "cuda-12030",
19530                feature = "cuda-12040",
19531                feature = "cuda-12050",
19532                feature = "cuda-12060",
19533                feature = "cuda-12080",
19534                feature = "cuda-12090"
19535            ))]
19536            let cudaThreadSetLimit = __library
19537                .get(b"cudaThreadSetLimit\0")
19538                .map(|sym| *sym)
19539                .expect("Expected symbol in library");
19540            #[cfg(any(
19541                feature = "cuda-11040",
19542                feature = "cuda-11050",
19543                feature = "cuda-11060",
19544                feature = "cuda-11070",
19545                feature = "cuda-11080",
19546                feature = "cuda-12000",
19547                feature = "cuda-12010",
19548                feature = "cuda-12020",
19549                feature = "cuda-12030",
19550                feature = "cuda-12040",
19551                feature = "cuda-12050",
19552                feature = "cuda-12060",
19553                feature = "cuda-12080",
19554                feature = "cuda-12090"
19555            ))]
19556            let cudaThreadSynchronize = __library
19557                .get(b"cudaThreadSynchronize\0")
19558                .map(|sym| *sym)
19559                .expect("Expected symbol in library");
19560            #[cfg(any(
19561                feature = "cuda-11040",
19562                feature = "cuda-11050",
19563                feature = "cuda-11060",
19564                feature = "cuda-11070",
19565                feature = "cuda-11080"
19566            ))]
19567            let cudaUnbindTexture = __library
19568                .get(b"cudaUnbindTexture\0")
19569                .map(|sym| *sym)
19570                .expect("Expected symbol in library");
19571            let cudaUserObjectCreate = __library
19572                .get(b"cudaUserObjectCreate\0")
19573                .map(|sym| *sym)
19574                .expect("Expected symbol in library");
19575            let cudaUserObjectRelease = __library
19576                .get(b"cudaUserObjectRelease\0")
19577                .map(|sym| *sym)
19578                .expect("Expected symbol in library");
19579            let cudaUserObjectRetain = __library
19580                .get(b"cudaUserObjectRetain\0")
19581                .map(|sym| *sym)
19582                .expect("Expected symbol in library");
19583            #[cfg(any(feature = "cuda-13000"))]
19584            let cudaWaitExternalSemaphoresAsync = __library
19585                .get(b"cudaWaitExternalSemaphoresAsync\0")
19586                .map(|sym| *sym)
19587                .expect("Expected symbol in library");
19588            #[cfg(any(
19589                feature = "cuda-11040",
19590                feature = "cuda-11050",
19591                feature = "cuda-11060",
19592                feature = "cuda-11070",
19593                feature = "cuda-11080",
19594                feature = "cuda-12000",
19595                feature = "cuda-12010",
19596                feature = "cuda-12020",
19597                feature = "cuda-12030",
19598                feature = "cuda-12040",
19599                feature = "cuda-12050",
19600                feature = "cuda-12060",
19601                feature = "cuda-12080",
19602                feature = "cuda-12090"
19603            ))]
19604            let cudaWaitExternalSemaphoresAsync_v2 = __library
19605                .get(b"cudaWaitExternalSemaphoresAsync_v2\0")
19606                .map(|sym| *sym)
19607                .expect("Expected symbol in library");
19608            Ok(Self {
19609                __library,
19610                cudaArrayGetInfo,
19611                #[cfg(any(
19612                    feature = "cuda-11060",
19613                    feature = "cuda-11070",
19614                    feature = "cuda-11080",
19615                    feature = "cuda-12000",
19616                    feature = "cuda-12010",
19617                    feature = "cuda-12020",
19618                    feature = "cuda-12030",
19619                    feature = "cuda-12040",
19620                    feature = "cuda-12050",
19621                    feature = "cuda-12060",
19622                    feature = "cuda-12080",
19623                    feature = "cuda-12090",
19624                    feature = "cuda-13000"
19625                ))]
19626                cudaArrayGetMemoryRequirements,
19627                cudaArrayGetPlane,
19628                cudaArrayGetSparseProperties,
19629                #[cfg(any(
19630                    feature = "cuda-11040",
19631                    feature = "cuda-11050",
19632                    feature = "cuda-11060",
19633                    feature = "cuda-11070",
19634                    feature = "cuda-11080"
19635                ))]
19636                cudaBindSurfaceToArray,
19637                #[cfg(any(
19638                    feature = "cuda-11040",
19639                    feature = "cuda-11050",
19640                    feature = "cuda-11060",
19641                    feature = "cuda-11070",
19642                    feature = "cuda-11080"
19643                ))]
19644                cudaBindTexture,
19645                #[cfg(any(
19646                    feature = "cuda-11040",
19647                    feature = "cuda-11050",
19648                    feature = "cuda-11060",
19649                    feature = "cuda-11070",
19650                    feature = "cuda-11080"
19651                ))]
19652                cudaBindTexture2D,
19653                #[cfg(any(
19654                    feature = "cuda-11040",
19655                    feature = "cuda-11050",
19656                    feature = "cuda-11060",
19657                    feature = "cuda-11070",
19658                    feature = "cuda-11080"
19659                ))]
19660                cudaBindTextureToArray,
19661                #[cfg(any(
19662                    feature = "cuda-11040",
19663                    feature = "cuda-11050",
19664                    feature = "cuda-11060",
19665                    feature = "cuda-11070",
19666                    feature = "cuda-11080"
19667                ))]
19668                cudaBindTextureToMipmappedArray,
19669                cudaChooseDevice,
19670                cudaCreateChannelDesc,
19671                cudaCreateSurfaceObject,
19672                cudaCreateTextureObject,
19673                #[cfg(any(feature = "cuda-11080"))]
19674                cudaCreateTextureObject_v2,
19675                cudaCtxResetPersistingL2Cache,
19676                cudaDestroyExternalMemory,
19677                cudaDestroyExternalSemaphore,
19678                cudaDestroySurfaceObject,
19679                cudaDestroyTextureObject,
19680                cudaDeviceCanAccessPeer,
19681                cudaDeviceDisablePeerAccess,
19682                cudaDeviceEnablePeerAccess,
19683                cudaDeviceFlushGPUDirectRDMAWrites,
19684                cudaDeviceGetAttribute,
19685                cudaDeviceGetByPCIBusId,
19686                cudaDeviceGetCacheConfig,
19687                cudaDeviceGetDefaultMemPool,
19688                cudaDeviceGetGraphMemAttribute,
19689                #[cfg(any(feature = "cuda-13000"))]
19690                cudaDeviceGetHostAtomicCapabilities,
19691                cudaDeviceGetLimit,
19692                cudaDeviceGetMemPool,
19693                #[cfg(any(feature = "cuda-13000"))]
19694                cudaDeviceGetP2PAtomicCapabilities,
19695                cudaDeviceGetP2PAttribute,
19696                cudaDeviceGetPCIBusId,
19697                cudaDeviceGetSharedMemConfig,
19698                cudaDeviceGetStreamPriorityRange,
19699                cudaDeviceGetTexture1DLinearMaxWidth,
19700                cudaDeviceGraphMemTrim,
19701                #[cfg(any(
19702                    feature = "cuda-12040",
19703                    feature = "cuda-12050",
19704                    feature = "cuda-12060",
19705                    feature = "cuda-12080",
19706                    feature = "cuda-12090",
19707                    feature = "cuda-13000"
19708                ))]
19709                cudaDeviceRegisterAsyncNotification,
19710                cudaDeviceReset,
19711                cudaDeviceSetCacheConfig,
19712                cudaDeviceSetGraphMemAttribute,
19713                cudaDeviceSetLimit,
19714                cudaDeviceSetMemPool,
19715                cudaDeviceSetSharedMemConfig,
19716                cudaDeviceSynchronize,
19717                #[cfg(any(
19718                    feature = "cuda-12040",
19719                    feature = "cuda-12050",
19720                    feature = "cuda-12060",
19721                    feature = "cuda-12080",
19722                    feature = "cuda-12090",
19723                    feature = "cuda-13000"
19724                ))]
19725                cudaDeviceUnregisterAsyncNotification,
19726                cudaDriverGetVersion,
19727                cudaEventCreate,
19728                cudaEventCreateWithFlags,
19729                cudaEventDestroy,
19730                cudaEventElapsedTime,
19731                #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
19732                cudaEventElapsedTime_v2,
19733                cudaEventQuery,
19734                cudaEventRecord,
19735                cudaEventRecordWithFlags,
19736                cudaEventSynchronize,
19737                cudaExternalMemoryGetMappedBuffer,
19738                cudaExternalMemoryGetMappedMipmappedArray,
19739                cudaFree,
19740                cudaFreeArray,
19741                cudaFreeAsync,
19742                cudaFreeHost,
19743                cudaFreeMipmappedArray,
19744                cudaFuncGetAttributes,
19745                #[cfg(any(
19746                    feature = "cuda-12030",
19747                    feature = "cuda-12040",
19748                    feature = "cuda-12050",
19749                    feature = "cuda-12060",
19750                    feature = "cuda-12080",
19751                    feature = "cuda-12090",
19752                    feature = "cuda-13000"
19753                ))]
19754                cudaFuncGetName,
19755                #[cfg(any(
19756                    feature = "cuda-12040",
19757                    feature = "cuda-12050",
19758                    feature = "cuda-12060",
19759                    feature = "cuda-12080",
19760                    feature = "cuda-12090",
19761                    feature = "cuda-13000"
19762                ))]
19763                cudaFuncGetParamInfo,
19764                cudaFuncSetAttribute,
19765                cudaFuncSetCacheConfig,
19766                cudaFuncSetSharedMemConfig,
19767                cudaGetChannelDesc,
19768                cudaGetDevice,
19769                cudaGetDeviceCount,
19770                cudaGetDeviceFlags,
19771                #[cfg(any(
19772                    feature = "cuda-11040",
19773                    feature = "cuda-11050",
19774                    feature = "cuda-11060",
19775                    feature = "cuda-11070",
19776                    feature = "cuda-11080",
19777                    feature = "cuda-13000"
19778                ))]
19779                cudaGetDeviceProperties,
19780                #[cfg(any(
19781                    feature = "cuda-12000",
19782                    feature = "cuda-12010",
19783                    feature = "cuda-12020",
19784                    feature = "cuda-12030",
19785                    feature = "cuda-12040",
19786                    feature = "cuda-12050",
19787                    feature = "cuda-12060",
19788                    feature = "cuda-12080",
19789                    feature = "cuda-12090"
19790                ))]
19791                cudaGetDeviceProperties_v2,
19792                #[cfg(any(
19793                    feature = "cuda-11040",
19794                    feature = "cuda-11050",
19795                    feature = "cuda-11060",
19796                    feature = "cuda-11070",
19797                    feature = "cuda-11080"
19798                ))]
19799                cudaGetDriverEntryPoint,
19800                #[cfg(any(
19801                    feature = "cuda-12000",
19802                    feature = "cuda-12010",
19803                    feature = "cuda-12020",
19804                    feature = "cuda-12030",
19805                    feature = "cuda-12040",
19806                    feature = "cuda-12050",
19807                    feature = "cuda-12060",
19808                    feature = "cuda-12080",
19809                    feature = "cuda-12090",
19810                    feature = "cuda-13000"
19811                ))]
19812                cudaGetDriverEntryPoint,
19813                #[cfg(any(
19814                    feature = "cuda-12050",
19815                    feature = "cuda-12060",
19816                    feature = "cuda-12080",
19817                    feature = "cuda-12090",
19818                    feature = "cuda-13000"
19819                ))]
19820                cudaGetDriverEntryPointByVersion,
19821                cudaGetErrorName,
19822                cudaGetErrorString,
19823                cudaGetExportTable,
19824                cudaGetFuncBySymbol,
19825                #[cfg(any(
19826                    feature = "cuda-12010",
19827                    feature = "cuda-12020",
19828                    feature = "cuda-12030",
19829                    feature = "cuda-12040",
19830                    feature = "cuda-12050",
19831                    feature = "cuda-12060",
19832                    feature = "cuda-12080",
19833                    feature = "cuda-12090",
19834                    feature = "cuda-13000"
19835                ))]
19836                cudaGetKernel,
19837                cudaGetLastError,
19838                cudaGetMipmappedArrayLevel,
19839                cudaGetSurfaceObjectResourceDesc,
19840                #[cfg(any(
19841                    feature = "cuda-11040",
19842                    feature = "cuda-11050",
19843                    feature = "cuda-11060",
19844                    feature = "cuda-11070",
19845                    feature = "cuda-11080"
19846                ))]
19847                cudaGetSurfaceReference,
19848                cudaGetSymbolAddress,
19849                cudaGetSymbolSize,
19850                #[cfg(any(
19851                    feature = "cuda-11040",
19852                    feature = "cuda-11050",
19853                    feature = "cuda-11060",
19854                    feature = "cuda-11070",
19855                    feature = "cuda-11080"
19856                ))]
19857                cudaGetTextureAlignmentOffset,
19858                cudaGetTextureObjectResourceDesc,
19859                cudaGetTextureObjectResourceViewDesc,
19860                cudaGetTextureObjectTextureDesc,
19861                #[cfg(any(feature = "cuda-11080"))]
19862                cudaGetTextureObjectTextureDesc_v2,
19863                #[cfg(any(
19864                    feature = "cuda-11040",
19865                    feature = "cuda-11050",
19866                    feature = "cuda-11060",
19867                    feature = "cuda-11070",
19868                    feature = "cuda-11080"
19869                ))]
19870                cudaGetTextureReference,
19871                cudaGraphAddChildGraphNode,
19872                #[cfg(any(
19873                    feature = "cuda-11040",
19874                    feature = "cuda-11050",
19875                    feature = "cuda-11060",
19876                    feature = "cuda-11070",
19877                    feature = "cuda-11080",
19878                    feature = "cuda-12000",
19879                    feature = "cuda-12010",
19880                    feature = "cuda-12020",
19881                    feature = "cuda-12030",
19882                    feature = "cuda-12040",
19883                    feature = "cuda-12050",
19884                    feature = "cuda-12060",
19885                    feature = "cuda-12080",
19886                    feature = "cuda-12090"
19887                ))]
19888                cudaGraphAddDependencies,
19889                #[cfg(any(feature = "cuda-13000"))]
19890                cudaGraphAddDependencies,
19891                #[cfg(any(
19892                    feature = "cuda-12030",
19893                    feature = "cuda-12040",
19894                    feature = "cuda-12050",
19895                    feature = "cuda-12060",
19896                    feature = "cuda-12080",
19897                    feature = "cuda-12090"
19898                ))]
19899                cudaGraphAddDependencies_v2,
19900                cudaGraphAddEmptyNode,
19901                cudaGraphAddEventRecordNode,
19902                cudaGraphAddEventWaitNode,
19903                cudaGraphAddExternalSemaphoresSignalNode,
19904                cudaGraphAddExternalSemaphoresWaitNode,
19905                cudaGraphAddHostNode,
19906                cudaGraphAddKernelNode,
19907                cudaGraphAddMemAllocNode,
19908                cudaGraphAddMemFreeNode,
19909                cudaGraphAddMemcpyNode,
19910                cudaGraphAddMemcpyNode1D,
19911                cudaGraphAddMemcpyNodeFromSymbol,
19912                cudaGraphAddMemcpyNodeToSymbol,
19913                cudaGraphAddMemsetNode,
19914                #[cfg(any(
19915                    feature = "cuda-12020",
19916                    feature = "cuda-12030",
19917                    feature = "cuda-12040",
19918                    feature = "cuda-12050",
19919                    feature = "cuda-12060",
19920                    feature = "cuda-12080",
19921                    feature = "cuda-12090"
19922                ))]
19923                cudaGraphAddNode,
19924                #[cfg(any(feature = "cuda-13000"))]
19925                cudaGraphAddNode,
19926                #[cfg(any(
19927                    feature = "cuda-12030",
19928                    feature = "cuda-12040",
19929                    feature = "cuda-12050",
19930                    feature = "cuda-12060",
19931                    feature = "cuda-12080",
19932                    feature = "cuda-12090"
19933                ))]
19934                cudaGraphAddNode_v2,
19935                cudaGraphChildGraphNodeGetGraph,
19936                cudaGraphClone,
19937                #[cfg(any(
19938                    feature = "cuda-12030",
19939                    feature = "cuda-12040",
19940                    feature = "cuda-12050",
19941                    feature = "cuda-12060",
19942                    feature = "cuda-12080",
19943                    feature = "cuda-12090",
19944                    feature = "cuda-13000"
19945                ))]
19946                cudaGraphConditionalHandleCreate,
19947                cudaGraphCreate,
19948                cudaGraphDebugDotPrint,
19949                cudaGraphDestroy,
19950                cudaGraphDestroyNode,
19951                cudaGraphEventRecordNodeGetEvent,
19952                cudaGraphEventRecordNodeSetEvent,
19953                cudaGraphEventWaitNodeGetEvent,
19954                cudaGraphEventWaitNodeSetEvent,
19955                cudaGraphExecChildGraphNodeSetParams,
19956                cudaGraphExecDestroy,
19957                cudaGraphExecEventRecordNodeSetEvent,
19958                cudaGraphExecEventWaitNodeSetEvent,
19959                cudaGraphExecExternalSemaphoresSignalNodeSetParams,
19960                cudaGraphExecExternalSemaphoresWaitNodeSetParams,
19961                #[cfg(any(
19962                    feature = "cuda-12000",
19963                    feature = "cuda-12010",
19964                    feature = "cuda-12020",
19965                    feature = "cuda-12030",
19966                    feature = "cuda-12040",
19967                    feature = "cuda-12050",
19968                    feature = "cuda-12060",
19969                    feature = "cuda-12080",
19970                    feature = "cuda-12090",
19971                    feature = "cuda-13000"
19972                ))]
19973                cudaGraphExecGetFlags,
19974                cudaGraphExecHostNodeSetParams,
19975                cudaGraphExecKernelNodeSetParams,
19976                cudaGraphExecMemcpyNodeSetParams,
19977                cudaGraphExecMemcpyNodeSetParams1D,
19978                cudaGraphExecMemcpyNodeSetParamsFromSymbol,
19979                cudaGraphExecMemcpyNodeSetParamsToSymbol,
19980                cudaGraphExecMemsetNodeSetParams,
19981                #[cfg(any(
19982                    feature = "cuda-12020",
19983                    feature = "cuda-12030",
19984                    feature = "cuda-12040",
19985                    feature = "cuda-12050",
19986                    feature = "cuda-12060",
19987                    feature = "cuda-12080",
19988                    feature = "cuda-12090",
19989                    feature = "cuda-13000"
19990                ))]
19991                cudaGraphExecNodeSetParams,
19992                #[cfg(any(
19993                    feature = "cuda-11040",
19994                    feature = "cuda-11050",
19995                    feature = "cuda-11060",
19996                    feature = "cuda-11070",
19997                    feature = "cuda-11080"
19998                ))]
19999                cudaGraphExecUpdate,
20000                #[cfg(any(
20001                    feature = "cuda-12000",
20002                    feature = "cuda-12010",
20003                    feature = "cuda-12020",
20004                    feature = "cuda-12030",
20005                    feature = "cuda-12040",
20006                    feature = "cuda-12050",
20007                    feature = "cuda-12060",
20008                    feature = "cuda-12080",
20009                    feature = "cuda-12090",
20010                    feature = "cuda-13000"
20011                ))]
20012                cudaGraphExecUpdate,
20013                cudaGraphExternalSemaphoresSignalNodeGetParams,
20014                cudaGraphExternalSemaphoresSignalNodeSetParams,
20015                cudaGraphExternalSemaphoresWaitNodeGetParams,
20016                cudaGraphExternalSemaphoresWaitNodeSetParams,
20017                #[cfg(any(
20018                    feature = "cuda-11040",
20019                    feature = "cuda-11050",
20020                    feature = "cuda-11060",
20021                    feature = "cuda-11070",
20022                    feature = "cuda-11080",
20023                    feature = "cuda-12000",
20024                    feature = "cuda-12010",
20025                    feature = "cuda-12020",
20026                    feature = "cuda-12030",
20027                    feature = "cuda-12040",
20028                    feature = "cuda-12050",
20029                    feature = "cuda-12060",
20030                    feature = "cuda-12080",
20031                    feature = "cuda-12090"
20032                ))]
20033                cudaGraphGetEdges,
20034                #[cfg(any(feature = "cuda-13000"))]
20035                cudaGraphGetEdges,
20036                #[cfg(any(
20037                    feature = "cuda-12030",
20038                    feature = "cuda-12040",
20039                    feature = "cuda-12050",
20040                    feature = "cuda-12060",
20041                    feature = "cuda-12080",
20042                    feature = "cuda-12090"
20043                ))]
20044                cudaGraphGetEdges_v2,
20045                cudaGraphGetNodes,
20046                cudaGraphGetRootNodes,
20047                cudaGraphHostNodeGetParams,
20048                cudaGraphHostNodeSetParams,
20049                #[cfg(any(
20050                    feature = "cuda-11040",
20051                    feature = "cuda-11050",
20052                    feature = "cuda-11060",
20053                    feature = "cuda-11070",
20054                    feature = "cuda-11080"
20055                ))]
20056                cudaGraphInstantiate,
20057                #[cfg(any(
20058                    feature = "cuda-12000",
20059                    feature = "cuda-12010",
20060                    feature = "cuda-12020",
20061                    feature = "cuda-12030",
20062                    feature = "cuda-12040",
20063                    feature = "cuda-12050",
20064                    feature = "cuda-12060",
20065                    feature = "cuda-12080",
20066                    feature = "cuda-12090",
20067                    feature = "cuda-13000"
20068                ))]
20069                cudaGraphInstantiate,
20070                cudaGraphInstantiateWithFlags,
20071                #[cfg(any(
20072                    feature = "cuda-12000",
20073                    feature = "cuda-12010",
20074                    feature = "cuda-12020",
20075                    feature = "cuda-12030",
20076                    feature = "cuda-12040",
20077                    feature = "cuda-12050",
20078                    feature = "cuda-12060",
20079                    feature = "cuda-12080",
20080                    feature = "cuda-12090",
20081                    feature = "cuda-13000"
20082                ))]
20083                cudaGraphInstantiateWithParams,
20084                #[cfg(any(
20085                    feature = "cuda-11040",
20086                    feature = "cuda-11050",
20087                    feature = "cuda-11060",
20088                    feature = "cuda-11070",
20089                    feature = "cuda-11080",
20090                    feature = "cuda-12000",
20091                    feature = "cuda-12010",
20092                    feature = "cuda-12020",
20093                    feature = "cuda-12030",
20094                    feature = "cuda-12040",
20095                    feature = "cuda-12050",
20096                    feature = "cuda-12060",
20097                    feature = "cuda-12080",
20098                    feature = "cuda-12090"
20099                ))]
20100                cudaGraphKernelNodeCopyAttributes,
20101                #[cfg(any(feature = "cuda-13000"))]
20102                cudaGraphKernelNodeCopyAttributes,
20103                #[cfg(any(
20104                    feature = "cuda-11040",
20105                    feature = "cuda-11050",
20106                    feature = "cuda-11060",
20107                    feature = "cuda-11070"
20108                ))]
20109                cudaGraphKernelNodeGetAttribute,
20110                #[cfg(any(
20111                    feature = "cuda-11080",
20112                    feature = "cuda-12000",
20113                    feature = "cuda-12010",
20114                    feature = "cuda-12020",
20115                    feature = "cuda-12030",
20116                    feature = "cuda-12040",
20117                    feature = "cuda-12050",
20118                    feature = "cuda-12060",
20119                    feature = "cuda-12080",
20120                    feature = "cuda-12090",
20121                    feature = "cuda-13000"
20122                ))]
20123                cudaGraphKernelNodeGetAttribute,
20124                cudaGraphKernelNodeGetParams,
20125                #[cfg(any(
20126                    feature = "cuda-11040",
20127                    feature = "cuda-11050",
20128                    feature = "cuda-11060",
20129                    feature = "cuda-11070"
20130                ))]
20131                cudaGraphKernelNodeSetAttribute,
20132                #[cfg(any(
20133                    feature = "cuda-11080",
20134                    feature = "cuda-12000",
20135                    feature = "cuda-12010",
20136                    feature = "cuda-12020",
20137                    feature = "cuda-12030",
20138                    feature = "cuda-12040",
20139                    feature = "cuda-12050",
20140                    feature = "cuda-12060",
20141                    feature = "cuda-12080",
20142                    feature = "cuda-12090",
20143                    feature = "cuda-13000"
20144                ))]
20145                cudaGraphKernelNodeSetAttribute,
20146                cudaGraphKernelNodeSetParams,
20147                cudaGraphLaunch,
20148                cudaGraphMemAllocNodeGetParams,
20149                cudaGraphMemFreeNodeGetParams,
20150                cudaGraphMemcpyNodeGetParams,
20151                cudaGraphMemcpyNodeSetParams,
20152                cudaGraphMemcpyNodeSetParams1D,
20153                cudaGraphMemcpyNodeSetParamsFromSymbol,
20154                cudaGraphMemcpyNodeSetParamsToSymbol,
20155                cudaGraphMemsetNodeGetParams,
20156                cudaGraphMemsetNodeSetParams,
20157                cudaGraphNodeFindInClone,
20158                #[cfg(any(
20159                    feature = "cuda-11040",
20160                    feature = "cuda-11050",
20161                    feature = "cuda-11060",
20162                    feature = "cuda-11070",
20163                    feature = "cuda-11080",
20164                    feature = "cuda-12000",
20165                    feature = "cuda-12010",
20166                    feature = "cuda-12020",
20167                    feature = "cuda-12030",
20168                    feature = "cuda-12040",
20169                    feature = "cuda-12050",
20170                    feature = "cuda-12060",
20171                    feature = "cuda-12080",
20172                    feature = "cuda-12090"
20173                ))]
20174                cudaGraphNodeGetDependencies,
20175                #[cfg(any(feature = "cuda-13000"))]
20176                cudaGraphNodeGetDependencies,
20177                #[cfg(any(
20178                    feature = "cuda-12030",
20179                    feature = "cuda-12040",
20180                    feature = "cuda-12050",
20181                    feature = "cuda-12060",
20182                    feature = "cuda-12080",
20183                    feature = "cuda-12090"
20184                ))]
20185                cudaGraphNodeGetDependencies_v2,
20186                #[cfg(any(
20187                    feature = "cuda-11040",
20188                    feature = "cuda-11050",
20189                    feature = "cuda-11060",
20190                    feature = "cuda-11070",
20191                    feature = "cuda-11080",
20192                    feature = "cuda-12000",
20193                    feature = "cuda-12010",
20194                    feature = "cuda-12020",
20195                    feature = "cuda-12030",
20196                    feature = "cuda-12040",
20197                    feature = "cuda-12050",
20198                    feature = "cuda-12060",
20199                    feature = "cuda-12080",
20200                    feature = "cuda-12090"
20201                ))]
20202                cudaGraphNodeGetDependentNodes,
20203                #[cfg(any(feature = "cuda-13000"))]
20204                cudaGraphNodeGetDependentNodes,
20205                #[cfg(any(
20206                    feature = "cuda-12030",
20207                    feature = "cuda-12040",
20208                    feature = "cuda-12050",
20209                    feature = "cuda-12060",
20210                    feature = "cuda-12080",
20211                    feature = "cuda-12090"
20212                ))]
20213                cudaGraphNodeGetDependentNodes_v2,
20214                #[cfg(any(
20215                    feature = "cuda-11060",
20216                    feature = "cuda-11070",
20217                    feature = "cuda-11080",
20218                    feature = "cuda-12000",
20219                    feature = "cuda-12010",
20220                    feature = "cuda-12020",
20221                    feature = "cuda-12030",
20222                    feature = "cuda-12040",
20223                    feature = "cuda-12050",
20224                    feature = "cuda-12060",
20225                    feature = "cuda-12080",
20226                    feature = "cuda-12090",
20227                    feature = "cuda-13000"
20228                ))]
20229                cudaGraphNodeGetEnabled,
20230                cudaGraphNodeGetType,
20231                #[cfg(any(
20232                    feature = "cuda-11060",
20233                    feature = "cuda-11070",
20234                    feature = "cuda-11080",
20235                    feature = "cuda-12000",
20236                    feature = "cuda-12010",
20237                    feature = "cuda-12020",
20238                    feature = "cuda-12030",
20239                    feature = "cuda-12040",
20240                    feature = "cuda-12050",
20241                    feature = "cuda-12060",
20242                    feature = "cuda-12080",
20243                    feature = "cuda-12090",
20244                    feature = "cuda-13000"
20245                ))]
20246                cudaGraphNodeSetEnabled,
20247                #[cfg(any(
20248                    feature = "cuda-12020",
20249                    feature = "cuda-12030",
20250                    feature = "cuda-12040",
20251                    feature = "cuda-12050",
20252                    feature = "cuda-12060",
20253                    feature = "cuda-12080",
20254                    feature = "cuda-12090",
20255                    feature = "cuda-13000"
20256                ))]
20257                cudaGraphNodeSetParams,
20258                cudaGraphReleaseUserObject,
20259                #[cfg(any(
20260                    feature = "cuda-11040",
20261                    feature = "cuda-11050",
20262                    feature = "cuda-11060",
20263                    feature = "cuda-11070",
20264                    feature = "cuda-11080",
20265                    feature = "cuda-12000",
20266                    feature = "cuda-12010",
20267                    feature = "cuda-12020",
20268                    feature = "cuda-12030",
20269                    feature = "cuda-12040",
20270                    feature = "cuda-12050",
20271                    feature = "cuda-12060",
20272                    feature = "cuda-12080",
20273                    feature = "cuda-12090"
20274                ))]
20275                cudaGraphRemoveDependencies,
20276                #[cfg(any(feature = "cuda-13000"))]
20277                cudaGraphRemoveDependencies,
20278                #[cfg(any(
20279                    feature = "cuda-12030",
20280                    feature = "cuda-12040",
20281                    feature = "cuda-12050",
20282                    feature = "cuda-12060",
20283                    feature = "cuda-12080",
20284                    feature = "cuda-12090"
20285                ))]
20286                cudaGraphRemoveDependencies_v2,
20287                cudaGraphRetainUserObject,
20288                cudaGraphUpload,
20289                cudaGraphicsMapResources,
20290                cudaGraphicsResourceGetMappedMipmappedArray,
20291                cudaGraphicsResourceGetMappedPointer,
20292                cudaGraphicsResourceSetMapFlags,
20293                cudaGraphicsSubResourceGetMappedArray,
20294                cudaGraphicsUnmapResources,
20295                cudaGraphicsUnregisterResource,
20296                cudaHostAlloc,
20297                cudaHostGetDevicePointer,
20298                cudaHostGetFlags,
20299                cudaHostRegister,
20300                cudaHostUnregister,
20301                cudaImportExternalMemory,
20302                cudaImportExternalSemaphore,
20303                #[cfg(any(
20304                    feature = "cuda-12000",
20305                    feature = "cuda-12010",
20306                    feature = "cuda-12020",
20307                    feature = "cuda-12030",
20308                    feature = "cuda-12040",
20309                    feature = "cuda-12050",
20310                    feature = "cuda-12060",
20311                    feature = "cuda-12080",
20312                    feature = "cuda-12090",
20313                    feature = "cuda-13000"
20314                ))]
20315                cudaInitDevice,
20316                cudaIpcCloseMemHandle,
20317                cudaIpcGetEventHandle,
20318                cudaIpcGetMemHandle,
20319                cudaIpcOpenEventHandle,
20320                cudaIpcOpenMemHandle,
20321                #[cfg(any(
20322                    feature = "cuda-12080",
20323                    feature = "cuda-12090",
20324                    feature = "cuda-13000"
20325                ))]
20326                cudaKernelSetAttributeForDevice,
20327                cudaLaunchCooperativeKernel,
20328                #[cfg(any(
20329                    feature = "cuda-11040",
20330                    feature = "cuda-11050",
20331                    feature = "cuda-11060",
20332                    feature = "cuda-11070",
20333                    feature = "cuda-11080",
20334                    feature = "cuda-12000",
20335                    feature = "cuda-12010",
20336                    feature = "cuda-12020",
20337                    feature = "cuda-12030",
20338                    feature = "cuda-12040",
20339                    feature = "cuda-12050",
20340                    feature = "cuda-12060",
20341                    feature = "cuda-12080",
20342                    feature = "cuda-12090"
20343                ))]
20344                cudaLaunchCooperativeKernelMultiDevice,
20345                cudaLaunchHostFunc,
20346                cudaLaunchKernel,
20347                #[cfg(any(
20348                    feature = "cuda-11080",
20349                    feature = "cuda-12000",
20350                    feature = "cuda-12010",
20351                    feature = "cuda-12020",
20352                    feature = "cuda-12030",
20353                    feature = "cuda-12040",
20354                    feature = "cuda-12050",
20355                    feature = "cuda-12060",
20356                    feature = "cuda-12080",
20357                    feature = "cuda-12090",
20358                    feature = "cuda-13000"
20359                ))]
20360                cudaLaunchKernelExC,
20361                #[cfg(any(
20362                    feature = "cuda-12080",
20363                    feature = "cuda-12090",
20364                    feature = "cuda-13000"
20365                ))]
20366                cudaLibraryEnumerateKernels,
20367                #[cfg(any(
20368                    feature = "cuda-12080",
20369                    feature = "cuda-12090",
20370                    feature = "cuda-13000"
20371                ))]
20372                cudaLibraryGetGlobal,
20373                #[cfg(any(
20374                    feature = "cuda-12080",
20375                    feature = "cuda-12090",
20376                    feature = "cuda-13000"
20377                ))]
20378                cudaLibraryGetKernel,
20379                #[cfg(any(
20380                    feature = "cuda-12080",
20381                    feature = "cuda-12090",
20382                    feature = "cuda-13000"
20383                ))]
20384                cudaLibraryGetKernelCount,
20385                #[cfg(any(
20386                    feature = "cuda-12080",
20387                    feature = "cuda-12090",
20388                    feature = "cuda-13000"
20389                ))]
20390                cudaLibraryGetManaged,
20391                #[cfg(any(
20392                    feature = "cuda-12080",
20393                    feature = "cuda-12090",
20394                    feature = "cuda-13000"
20395                ))]
20396                cudaLibraryGetUnifiedFunction,
20397                #[cfg(any(
20398                    feature = "cuda-12080",
20399                    feature = "cuda-12090",
20400                    feature = "cuda-13000"
20401                ))]
20402                cudaLibraryLoadData,
20403                #[cfg(any(
20404                    feature = "cuda-12080",
20405                    feature = "cuda-12090",
20406                    feature = "cuda-13000"
20407                ))]
20408                cudaLibraryLoadFromFile,
20409                #[cfg(any(
20410                    feature = "cuda-12080",
20411                    feature = "cuda-12090",
20412                    feature = "cuda-13000"
20413                ))]
20414                cudaLibraryUnload,
20415                #[cfg(any(feature = "cuda-13000"))]
20416                cudaLogsCurrent,
20417                #[cfg(any(feature = "cuda-13000"))]
20418                cudaLogsDumpToFile,
20419                #[cfg(any(feature = "cuda-13000"))]
20420                cudaLogsDumpToMemory,
20421                #[cfg(any(feature = "cuda-13000"))]
20422                cudaLogsRegisterCallback,
20423                #[cfg(any(feature = "cuda-13000"))]
20424                cudaLogsUnregisterCallback,
20425                cudaMalloc,
20426                cudaMalloc3D,
20427                cudaMalloc3DArray,
20428                cudaMallocArray,
20429                cudaMallocAsync,
20430                cudaMallocFromPoolAsync,
20431                cudaMallocHost,
20432                cudaMallocManaged,
20433                cudaMallocMipmappedArray,
20434                cudaMallocPitch,
20435                #[cfg(any(
20436                    feature = "cuda-11040",
20437                    feature = "cuda-11050",
20438                    feature = "cuda-11060",
20439                    feature = "cuda-11070",
20440                    feature = "cuda-11080",
20441                    feature = "cuda-12000",
20442                    feature = "cuda-12010",
20443                    feature = "cuda-12020",
20444                    feature = "cuda-12030",
20445                    feature = "cuda-12040",
20446                    feature = "cuda-12050",
20447                    feature = "cuda-12060",
20448                    feature = "cuda-12080",
20449                    feature = "cuda-12090"
20450                ))]
20451                cudaMemAdvise,
20452                #[cfg(any(feature = "cuda-13000"))]
20453                cudaMemAdvise,
20454                #[cfg(any(
20455                    feature = "cuda-12020",
20456                    feature = "cuda-12030",
20457                    feature = "cuda-12040",
20458                    feature = "cuda-12050",
20459                    feature = "cuda-12060",
20460                    feature = "cuda-12080",
20461                    feature = "cuda-12090"
20462                ))]
20463                cudaMemAdvise_v2,
20464                #[cfg(any(feature = "cuda-13000"))]
20465                cudaMemDiscardAndPrefetchBatchAsync,
20466                #[cfg(any(feature = "cuda-13000"))]
20467                cudaMemDiscardBatchAsync,
20468                #[cfg(any(feature = "cuda-13000"))]
20469                cudaMemGetDefaultMemPool,
20470                cudaMemGetInfo,
20471                #[cfg(any(feature = "cuda-13000"))]
20472                cudaMemGetMemPool,
20473                cudaMemPoolCreate,
20474                cudaMemPoolDestroy,
20475                cudaMemPoolExportPointer,
20476                cudaMemPoolExportToShareableHandle,
20477                cudaMemPoolGetAccess,
20478                cudaMemPoolGetAttribute,
20479                cudaMemPoolImportFromShareableHandle,
20480                cudaMemPoolImportPointer,
20481                cudaMemPoolSetAccess,
20482                cudaMemPoolSetAttribute,
20483                cudaMemPoolTrimTo,
20484                #[cfg(any(
20485                    feature = "cuda-11040",
20486                    feature = "cuda-11050",
20487                    feature = "cuda-11060",
20488                    feature = "cuda-11070",
20489                    feature = "cuda-11080",
20490                    feature = "cuda-12000",
20491                    feature = "cuda-12010",
20492                    feature = "cuda-12020",
20493                    feature = "cuda-12030",
20494                    feature = "cuda-12040",
20495                    feature = "cuda-12050",
20496                    feature = "cuda-12060",
20497                    feature = "cuda-12080",
20498                    feature = "cuda-12090"
20499                ))]
20500                cudaMemPrefetchAsync,
20501                #[cfg(any(feature = "cuda-13000"))]
20502                cudaMemPrefetchAsync,
20503                #[cfg(any(
20504                    feature = "cuda-12020",
20505                    feature = "cuda-12030",
20506                    feature = "cuda-12040",
20507                    feature = "cuda-12050",
20508                    feature = "cuda-12060",
20509                    feature = "cuda-12080",
20510                    feature = "cuda-12090"
20511                ))]
20512                cudaMemPrefetchAsync_v2,
20513                #[cfg(any(feature = "cuda-13000"))]
20514                cudaMemPrefetchBatchAsync,
20515                cudaMemRangeGetAttribute,
20516                cudaMemRangeGetAttributes,
20517                #[cfg(any(feature = "cuda-13000"))]
20518                cudaMemSetMemPool,
20519                cudaMemcpy,
20520                cudaMemcpy2D,
20521                cudaMemcpy2DArrayToArray,
20522                cudaMemcpy2DAsync,
20523                cudaMemcpy2DFromArray,
20524                cudaMemcpy2DFromArrayAsync,
20525                cudaMemcpy2DToArray,
20526                cudaMemcpy2DToArrayAsync,
20527                cudaMemcpy3D,
20528                cudaMemcpy3DAsync,
20529                #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
20530                cudaMemcpy3DBatchAsync,
20531                #[cfg(any(feature = "cuda-13000"))]
20532                cudaMemcpy3DBatchAsync,
20533                cudaMemcpy3DPeer,
20534                cudaMemcpy3DPeerAsync,
20535                cudaMemcpyArrayToArray,
20536                cudaMemcpyAsync,
20537                #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
20538                cudaMemcpyBatchAsync,
20539                #[cfg(any(feature = "cuda-13000"))]
20540                cudaMemcpyBatchAsync,
20541                cudaMemcpyFromArray,
20542                cudaMemcpyFromArrayAsync,
20543                cudaMemcpyFromSymbol,
20544                cudaMemcpyFromSymbolAsync,
20545                cudaMemcpyPeer,
20546                cudaMemcpyPeerAsync,
20547                cudaMemcpyToArray,
20548                cudaMemcpyToArrayAsync,
20549                cudaMemcpyToSymbol,
20550                cudaMemcpyToSymbolAsync,
20551                cudaMemset,
20552                cudaMemset2D,
20553                cudaMemset2DAsync,
20554                cudaMemset3D,
20555                cudaMemset3DAsync,
20556                cudaMemsetAsync,
20557                #[cfg(any(
20558                    feature = "cuda-11060",
20559                    feature = "cuda-11070",
20560                    feature = "cuda-11080",
20561                    feature = "cuda-12000",
20562                    feature = "cuda-12010",
20563                    feature = "cuda-12020",
20564                    feature = "cuda-12030",
20565                    feature = "cuda-12040",
20566                    feature = "cuda-12050",
20567                    feature = "cuda-12060",
20568                    feature = "cuda-12080",
20569                    feature = "cuda-12090",
20570                    feature = "cuda-13000"
20571                ))]
20572                cudaMipmappedArrayGetMemoryRequirements,
20573                cudaMipmappedArrayGetSparseProperties,
20574                cudaOccupancyAvailableDynamicSMemPerBlock,
20575                cudaOccupancyMaxActiveBlocksPerMultiprocessor,
20576                cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags,
20577                #[cfg(any(
20578                    feature = "cuda-11080",
20579                    feature = "cuda-12000",
20580                    feature = "cuda-12010",
20581                    feature = "cuda-12020",
20582                    feature = "cuda-12030",
20583                    feature = "cuda-12040",
20584                    feature = "cuda-12050",
20585                    feature = "cuda-12060",
20586                    feature = "cuda-12080",
20587                    feature = "cuda-12090",
20588                    feature = "cuda-13000"
20589                ))]
20590                cudaOccupancyMaxActiveClusters,
20591                #[cfg(any(
20592                    feature = "cuda-11080",
20593                    feature = "cuda-12000",
20594                    feature = "cuda-12010",
20595                    feature = "cuda-12020",
20596                    feature = "cuda-12030",
20597                    feature = "cuda-12040",
20598                    feature = "cuda-12050",
20599                    feature = "cuda-12060",
20600                    feature = "cuda-12080",
20601                    feature = "cuda-12090",
20602                    feature = "cuda-13000"
20603                ))]
20604                cudaOccupancyMaxPotentialClusterSize,
20605                cudaPeekAtLastError,
20606                cudaPointerGetAttributes,
20607                cudaProfilerStop,
20608                cudaRuntimeGetVersion,
20609                cudaSetDevice,
20610                cudaSetDeviceFlags,
20611                #[cfg(any(
20612                    feature = "cuda-11040",
20613                    feature = "cuda-11050",
20614                    feature = "cuda-11060",
20615                    feature = "cuda-11070",
20616                    feature = "cuda-11080",
20617                    feature = "cuda-12000",
20618                    feature = "cuda-12010",
20619                    feature = "cuda-12020",
20620                    feature = "cuda-12030",
20621                    feature = "cuda-12040",
20622                    feature = "cuda-12050",
20623                    feature = "cuda-12060",
20624                    feature = "cuda-12080",
20625                    feature = "cuda-12090"
20626                ))]
20627                cudaSetDoubleForDevice,
20628                #[cfg(any(
20629                    feature = "cuda-11040",
20630                    feature = "cuda-11050",
20631                    feature = "cuda-11060",
20632                    feature = "cuda-11070",
20633                    feature = "cuda-11080",
20634                    feature = "cuda-12000",
20635                    feature = "cuda-12010",
20636                    feature = "cuda-12020",
20637                    feature = "cuda-12030",
20638                    feature = "cuda-12040",
20639                    feature = "cuda-12050",
20640                    feature = "cuda-12060",
20641                    feature = "cuda-12080",
20642                    feature = "cuda-12090"
20643                ))]
20644                cudaSetDoubleForHost,
20645                cudaSetValidDevices,
20646                #[cfg(any(feature = "cuda-13000"))]
20647                cudaSignalExternalSemaphoresAsync,
20648                #[cfg(any(
20649                    feature = "cuda-11040",
20650                    feature = "cuda-11050",
20651                    feature = "cuda-11060",
20652                    feature = "cuda-11070",
20653                    feature = "cuda-11080",
20654                    feature = "cuda-12000",
20655                    feature = "cuda-12010",
20656                    feature = "cuda-12020",
20657                    feature = "cuda-12030",
20658                    feature = "cuda-12040",
20659                    feature = "cuda-12050",
20660                    feature = "cuda-12060",
20661                    feature = "cuda-12080",
20662                    feature = "cuda-12090"
20663                ))]
20664                cudaSignalExternalSemaphoresAsync_v2,
20665                cudaStreamAddCallback,
20666                cudaStreamAttachMemAsync,
20667                cudaStreamBeginCapture,
20668                #[cfg(any(
20669                    feature = "cuda-12030",
20670                    feature = "cuda-12040",
20671                    feature = "cuda-12050",
20672                    feature = "cuda-12060",
20673                    feature = "cuda-12080",
20674                    feature = "cuda-12090",
20675                    feature = "cuda-13000"
20676                ))]
20677                cudaStreamBeginCaptureToGraph,
20678                cudaStreamCopyAttributes,
20679                cudaStreamCreate,
20680                cudaStreamCreateWithFlags,
20681                cudaStreamCreateWithPriority,
20682                cudaStreamDestroy,
20683                cudaStreamEndCapture,
20684                #[cfg(any(
20685                    feature = "cuda-11040",
20686                    feature = "cuda-11050",
20687                    feature = "cuda-11060",
20688                    feature = "cuda-11070"
20689                ))]
20690                cudaStreamGetAttribute,
20691                #[cfg(any(
20692                    feature = "cuda-11080",
20693                    feature = "cuda-12000",
20694                    feature = "cuda-12010",
20695                    feature = "cuda-12020",
20696                    feature = "cuda-12030",
20697                    feature = "cuda-12040",
20698                    feature = "cuda-12050",
20699                    feature = "cuda-12060",
20700                    feature = "cuda-12080",
20701                    feature = "cuda-12090",
20702                    feature = "cuda-13000"
20703                ))]
20704                cudaStreamGetAttribute,
20705                #[cfg(any(
20706                    feature = "cuda-11040",
20707                    feature = "cuda-11050",
20708                    feature = "cuda-11060",
20709                    feature = "cuda-11070",
20710                    feature = "cuda-11080"
20711                ))]
20712                cudaStreamGetCaptureInfo,
20713                #[cfg(any(feature = "cuda-13000"))]
20714                cudaStreamGetCaptureInfo,
20715                #[cfg(any(
20716                    feature = "cuda-11040",
20717                    feature = "cuda-11050",
20718                    feature = "cuda-11060",
20719                    feature = "cuda-11070",
20720                    feature = "cuda-11080",
20721                    feature = "cuda-12000",
20722                    feature = "cuda-12010",
20723                    feature = "cuda-12020",
20724                    feature = "cuda-12030",
20725                    feature = "cuda-12040",
20726                    feature = "cuda-12050",
20727                    feature = "cuda-12060",
20728                    feature = "cuda-12080",
20729                    feature = "cuda-12090"
20730                ))]
20731                cudaStreamGetCaptureInfo_v2,
20732                #[cfg(any(
20733                    feature = "cuda-12030",
20734                    feature = "cuda-12040",
20735                    feature = "cuda-12050",
20736                    feature = "cuda-12060",
20737                    feature = "cuda-12080",
20738                    feature = "cuda-12090"
20739                ))]
20740                cudaStreamGetCaptureInfo_v3,
20741                #[cfg(any(
20742                    feature = "cuda-12080",
20743                    feature = "cuda-12090",
20744                    feature = "cuda-13000"
20745                ))]
20746                cudaStreamGetDevice,
20747                cudaStreamGetFlags,
20748                #[cfg(any(
20749                    feature = "cuda-12000",
20750                    feature = "cuda-12010",
20751                    feature = "cuda-12020",
20752                    feature = "cuda-12030",
20753                    feature = "cuda-12040",
20754                    feature = "cuda-12050",
20755                    feature = "cuda-12060",
20756                    feature = "cuda-12080",
20757                    feature = "cuda-12090",
20758                    feature = "cuda-13000"
20759                ))]
20760                cudaStreamGetId,
20761                cudaStreamGetPriority,
20762                cudaStreamIsCapturing,
20763                cudaStreamQuery,
20764                #[cfg(any(
20765                    feature = "cuda-11040",
20766                    feature = "cuda-11050",
20767                    feature = "cuda-11060",
20768                    feature = "cuda-11070"
20769                ))]
20770                cudaStreamSetAttribute,
20771                #[cfg(any(
20772                    feature = "cuda-11080",
20773                    feature = "cuda-12000",
20774                    feature = "cuda-12010",
20775                    feature = "cuda-12020",
20776                    feature = "cuda-12030",
20777                    feature = "cuda-12040",
20778                    feature = "cuda-12050",
20779                    feature = "cuda-12060",
20780                    feature = "cuda-12080",
20781                    feature = "cuda-12090",
20782                    feature = "cuda-13000"
20783                ))]
20784                cudaStreamSetAttribute,
20785                cudaStreamSynchronize,
20786                #[cfg(any(
20787                    feature = "cuda-11040",
20788                    feature = "cuda-11050",
20789                    feature = "cuda-11060",
20790                    feature = "cuda-11070",
20791                    feature = "cuda-11080",
20792                    feature = "cuda-12000",
20793                    feature = "cuda-12010",
20794                    feature = "cuda-12020",
20795                    feature = "cuda-12030",
20796                    feature = "cuda-12040",
20797                    feature = "cuda-12050",
20798                    feature = "cuda-12060",
20799                    feature = "cuda-12080",
20800                    feature = "cuda-12090"
20801                ))]
20802                cudaStreamUpdateCaptureDependencies,
20803                #[cfg(any(feature = "cuda-13000"))]
20804                cudaStreamUpdateCaptureDependencies,
20805                #[cfg(any(
20806                    feature = "cuda-12030",
20807                    feature = "cuda-12040",
20808                    feature = "cuda-12050",
20809                    feature = "cuda-12060",
20810                    feature = "cuda-12080",
20811                    feature = "cuda-12090"
20812                ))]
20813                cudaStreamUpdateCaptureDependencies_v2,
20814                cudaStreamWaitEvent,
20815                cudaThreadExchangeStreamCaptureMode,
20816                #[cfg(any(
20817                    feature = "cuda-11040",
20818                    feature = "cuda-11050",
20819                    feature = "cuda-11060",
20820                    feature = "cuda-11070",
20821                    feature = "cuda-11080",
20822                    feature = "cuda-12000",
20823                    feature = "cuda-12010",
20824                    feature = "cuda-12020",
20825                    feature = "cuda-12030",
20826                    feature = "cuda-12040",
20827                    feature = "cuda-12050",
20828                    feature = "cuda-12060",
20829                    feature = "cuda-12080",
20830                    feature = "cuda-12090"
20831                ))]
20832                cudaThreadExit,
20833                #[cfg(any(
20834                    feature = "cuda-11040",
20835                    feature = "cuda-11050",
20836                    feature = "cuda-11060",
20837                    feature = "cuda-11070",
20838                    feature = "cuda-11080",
20839                    feature = "cuda-12000",
20840                    feature = "cuda-12010",
20841                    feature = "cuda-12020",
20842                    feature = "cuda-12030",
20843                    feature = "cuda-12040",
20844                    feature = "cuda-12050",
20845                    feature = "cuda-12060",
20846                    feature = "cuda-12080",
20847                    feature = "cuda-12090"
20848                ))]
20849                cudaThreadGetCacheConfig,
20850                #[cfg(any(
20851                    feature = "cuda-11040",
20852                    feature = "cuda-11050",
20853                    feature = "cuda-11060",
20854                    feature = "cuda-11070",
20855                    feature = "cuda-11080",
20856                    feature = "cuda-12000",
20857                    feature = "cuda-12010",
20858                    feature = "cuda-12020",
20859                    feature = "cuda-12030",
20860                    feature = "cuda-12040",
20861                    feature = "cuda-12050",
20862                    feature = "cuda-12060",
20863                    feature = "cuda-12080",
20864                    feature = "cuda-12090"
20865                ))]
20866                cudaThreadGetLimit,
20867                #[cfg(any(
20868                    feature = "cuda-11040",
20869                    feature = "cuda-11050",
20870                    feature = "cuda-11060",
20871                    feature = "cuda-11070",
20872                    feature = "cuda-11080",
20873                    feature = "cuda-12000",
20874                    feature = "cuda-12010",
20875                    feature = "cuda-12020",
20876                    feature = "cuda-12030",
20877                    feature = "cuda-12040",
20878                    feature = "cuda-12050",
20879                    feature = "cuda-12060",
20880                    feature = "cuda-12080",
20881                    feature = "cuda-12090"
20882                ))]
20883                cudaThreadSetCacheConfig,
20884                #[cfg(any(
20885                    feature = "cuda-11040",
20886                    feature = "cuda-11050",
20887                    feature = "cuda-11060",
20888                    feature = "cuda-11070",
20889                    feature = "cuda-11080",
20890                    feature = "cuda-12000",
20891                    feature = "cuda-12010",
20892                    feature = "cuda-12020",
20893                    feature = "cuda-12030",
20894                    feature = "cuda-12040",
20895                    feature = "cuda-12050",
20896                    feature = "cuda-12060",
20897                    feature = "cuda-12080",
20898                    feature = "cuda-12090"
20899                ))]
20900                cudaThreadSetLimit,
20901                #[cfg(any(
20902                    feature = "cuda-11040",
20903                    feature = "cuda-11050",
20904                    feature = "cuda-11060",
20905                    feature = "cuda-11070",
20906                    feature = "cuda-11080",
20907                    feature = "cuda-12000",
20908                    feature = "cuda-12010",
20909                    feature = "cuda-12020",
20910                    feature = "cuda-12030",
20911                    feature = "cuda-12040",
20912                    feature = "cuda-12050",
20913                    feature = "cuda-12060",
20914                    feature = "cuda-12080",
20915                    feature = "cuda-12090"
20916                ))]
20917                cudaThreadSynchronize,
20918                #[cfg(any(
20919                    feature = "cuda-11040",
20920                    feature = "cuda-11050",
20921                    feature = "cuda-11060",
20922                    feature = "cuda-11070",
20923                    feature = "cuda-11080"
20924                ))]
20925                cudaUnbindTexture,
20926                cudaUserObjectCreate,
20927                cudaUserObjectRelease,
20928                cudaUserObjectRetain,
20929                #[cfg(any(feature = "cuda-13000"))]
20930                cudaWaitExternalSemaphoresAsync,
20931                #[cfg(any(
20932                    feature = "cuda-11040",
20933                    feature = "cuda-11050",
20934                    feature = "cuda-11060",
20935                    feature = "cuda-11070",
20936                    feature = "cuda-11080",
20937                    feature = "cuda-12000",
20938                    feature = "cuda-12010",
20939                    feature = "cuda-12020",
20940                    feature = "cuda-12030",
20941                    feature = "cuda-12040",
20942                    feature = "cuda-12050",
20943                    feature = "cuda-12060",
20944                    feature = "cuda-12080",
20945                    feature = "cuda-12090"
20946                ))]
20947                cudaWaitExternalSemaphoresAsync_v2,
20948            })
20949        }
20950    }
20951    pub unsafe fn is_culib_present() -> bool {
20952        let lib_names = ["cudart"];
20953        let choices = lib_names
20954            .iter()
20955            .map(|l| crate::get_lib_name_candidates(l))
20956            .flatten();
20957        for choice in choices {
20958            if Lib::new(choice).is_ok() {
20959                return true;
20960            }
20961        }
20962        false
20963    }
20964    pub unsafe fn culib() -> &'static Lib {
20965        static LIB: std::sync::OnceLock<Lib> = std::sync::OnceLock::new();
20966        LIB.get_or_init(|| {
20967            let lib_names = std::vec!["cudart"];
20968            let choices: std::vec::Vec<_> = lib_names
20969                .iter()
20970                .map(|l| crate::get_lib_name_candidates(l))
20971                .flatten()
20972                .collect();
20973            for choice in choices.iter() {
20974                if let Ok(lib) = Lib::new(choice) {
20975                    return lib;
20976                }
20977            }
20978            crate::panic_no_lib_found(lib_names[0], &choices);
20979        })
20980    }
20981}
20982#[cfg(feature = "dynamic-loading")]
20983pub use loaded::*;