cudarc/driver/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;
9pub use self::cudaError_enum as CUresult;
10pub use self::CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum as CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS;
11pub use self::CUGPUDirectRDMAWritesOrdering_enum as CUGPUDirectRDMAWritesOrdering;
12pub use self::CUaccessProperty_enum as CUaccessProperty;
13pub use self::CUaddress_mode_enum as CUaddress_mode;
14pub use self::CUarraySparseSubresourceType_enum as CUarraySparseSubresourceType;
15pub use self::CUarray_cubemap_face_enum as CUarray_cubemap_face;
16pub use self::CUarray_format_enum as CUarray_format;
17#[cfg(any(
18    feature = "cuda-12040",
19    feature = "cuda-12050",
20    feature = "cuda-12060",
21    feature = "cuda-12080",
22    feature = "cuda-12090",
23    feature = "cuda-13000"
24))]
25pub use self::CUasyncNotificationType_enum as CUasyncNotificationType;
26#[cfg(any(feature = "cuda-13000"))]
27pub use self::CUatomicOperationCapability_enum as CUatomicOperationCapability;
28#[cfg(any(feature = "cuda-13000"))]
29pub use self::CUatomicOperation_enum as CUatomicOperation;
30#[cfg(any(
31    feature = "cuda-12050",
32    feature = "cuda-12060",
33    feature = "cuda-12080",
34    feature = "cuda-12090",
35    feature = "cuda-13000"
36))]
37pub use self::CUcigDataType_enum as CUcigDataType;
38#[cfg(any(
39    feature = "cuda-11080",
40    feature = "cuda-12000",
41    feature = "cuda-12010",
42    feature = "cuda-12020",
43    feature = "cuda-12030",
44    feature = "cuda-12040",
45    feature = "cuda-12050",
46    feature = "cuda-12060",
47    feature = "cuda-12080",
48    feature = "cuda-12090",
49    feature = "cuda-13000"
50))]
51pub use self::CUclusterSchedulingPolicy_enum as CUclusterSchedulingPolicy;
52pub use self::CUcomputemode_enum as CUcomputemode;
53#[cfg(any(
54    feature = "cuda-12010",
55    feature = "cuda-12020",
56    feature = "cuda-12030",
57    feature = "cuda-12040",
58    feature = "cuda-12050",
59    feature = "cuda-12060",
60    feature = "cuda-12080",
61    feature = "cuda-12090",
62    feature = "cuda-13000"
63))]
64pub use self::CUcoredumpSettings_enum as CUcoredumpSettings;
65pub use self::CUctx_flags_enum as CUctx_flags;
66#[cfg(any(
67    feature = "cuda-12020",
68    feature = "cuda-12030",
69    feature = "cuda-12040",
70    feature = "cuda-12050",
71    feature = "cuda-12060",
72    feature = "cuda-12080",
73    feature = "cuda-12090",
74    feature = "cuda-13000"
75))]
76pub use self::CUdeviceNumaConfig_enum as CUdeviceNumaConfig;
77pub use self::CUdevice_P2PAttribute_enum as CUdevice_P2PAttribute;
78pub use self::CUdevice_attribute_enum as CUdevice_attribute;
79#[cfg(any(
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 use self::CUdriverProcAddressQueryResult_enum as CUdriverProcAddressQueryResult;
92pub use self::CUdriverProcAddress_flags_enum as CUdriverProcAddress_flags;
93pub use self::CUevent_flags_enum as CUevent_flags;
94pub use self::CUevent_record_flags_enum as CUevent_record_flags;
95#[cfg(any(
96    feature = "cuda-11080",
97    feature = "cuda-12000",
98    feature = "cuda-12010",
99    feature = "cuda-12020",
100    feature = "cuda-12030",
101    feature = "cuda-12040",
102    feature = "cuda-12050",
103    feature = "cuda-12060",
104    feature = "cuda-12080",
105    feature = "cuda-12090",
106    feature = "cuda-13000"
107))]
108pub use self::CUevent_sched_flags_enum as CUevent_sched_flags;
109pub use self::CUevent_wait_flags_enum as CUevent_wait_flags;
110pub use self::CUexecAffinityType_enum as CUexecAffinityType;
111pub use self::CUexternalMemoryHandleType_enum as CUexternalMemoryHandleType;
112pub use self::CUexternalSemaphoreHandleType_enum as CUexternalSemaphoreHandleType;
113pub use self::CUfilter_mode_enum as CUfilter_mode;
114pub use self::CUflushGPUDirectRDMAWritesOptions_enum as CUflushGPUDirectRDMAWritesOptions;
115pub use self::CUflushGPUDirectRDMAWritesScope_enum as CUflushGPUDirectRDMAWritesScope;
116pub use self::CUflushGPUDirectRDMAWritesTarget_enum as CUflushGPUDirectRDMAWritesTarget;
117pub use self::CUfunc_cache_enum as CUfunc_cache;
118#[cfg(any(
119    feature = "cuda-12040",
120    feature = "cuda-12050",
121    feature = "cuda-12060",
122    feature = "cuda-12080",
123    feature = "cuda-12090",
124    feature = "cuda-13000"
125))]
126pub use self::CUfunctionLoadingState_enum as CUfunctionLoadingState;
127pub use self::CUfunction_attribute_enum as CUfunction_attribute;
128#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
129pub use self::CUgraphChildGraphNodeOwnership_enum as CUgraphChildGraphNodeOwnership;
130#[cfg(any(
131    feature = "cuda-12030",
132    feature = "cuda-12040",
133    feature = "cuda-12050",
134    feature = "cuda-12060",
135    feature = "cuda-12080",
136    feature = "cuda-12090",
137    feature = "cuda-13000"
138))]
139pub use self::CUgraphConditionalNodeType_enum as CUgraphConditionalNodeType;
140pub use self::CUgraphDebugDot_flags_enum as CUgraphDebugDot_flags;
141#[cfg(any(
142    feature = "cuda-12030",
143    feature = "cuda-12040",
144    feature = "cuda-12050",
145    feature = "cuda-12060",
146    feature = "cuda-12080",
147    feature = "cuda-12090",
148    feature = "cuda-13000"
149))]
150pub use self::CUgraphDependencyType_enum as CUgraphDependencyType;
151pub use self::CUgraphExecUpdateResult_enum as CUgraphExecUpdateResult;
152#[cfg(any(
153    feature = "cuda-12000",
154    feature = "cuda-12010",
155    feature = "cuda-12020",
156    feature = "cuda-12030",
157    feature = "cuda-12040",
158    feature = "cuda-12050",
159    feature = "cuda-12060",
160    feature = "cuda-12080",
161    feature = "cuda-12090",
162    feature = "cuda-13000"
163))]
164pub use self::CUgraphInstantiateResult_enum as CUgraphInstantiateResult;
165pub use self::CUgraphInstantiate_flags_enum as CUgraphInstantiate_flags;
166pub use self::CUgraphMem_attribute_enum as CUgraphMem_attribute;
167pub use self::CUgraphNodeType_enum as CUgraphNodeType;
168pub use self::CUgraphicsMapResourceFlags_enum as CUgraphicsMapResourceFlags;
169pub use self::CUgraphicsRegisterFlags_enum as CUgraphicsRegisterFlags;
170pub use self::CUipcMem_flags_enum as CUipcMem_flags;
171pub use self::CUjitInputType_enum as CUjitInputType;
172pub use self::CUjit_cacheMode_enum as CUjit_cacheMode;
173pub use self::CUjit_fallback_enum as CUjit_fallback;
174pub use self::CUjit_option_enum as CUjit_option;
175pub use self::CUjit_target_enum as CUjit_target;
176#[cfg(any(
177    feature = "cuda-11040",
178    feature = "cuda-11050",
179    feature = "cuda-11060",
180    feature = "cuda-11070"
181))]
182pub use self::CUkernelNodeAttrID_enum as CUkernelNodeAttrID;
183#[cfg(any(
184    feature = "cuda-11080",
185    feature = "cuda-12000",
186    feature = "cuda-12010",
187    feature = "cuda-12020",
188    feature = "cuda-12030",
189    feature = "cuda-12040",
190    feature = "cuda-12050",
191    feature = "cuda-12060",
192    feature = "cuda-12080",
193    feature = "cuda-12090",
194    feature = "cuda-13000"
195))]
196pub use self::CUlaunchAttributeID as CUkernelNodeAttrID;
197#[cfg(any(
198    feature = "cuda-11080",
199    feature = "cuda-12000",
200    feature = "cuda-12010",
201    feature = "cuda-12020",
202    feature = "cuda-12030",
203    feature = "cuda-12040",
204    feature = "cuda-12050",
205    feature = "cuda-12060",
206    feature = "cuda-12080",
207    feature = "cuda-12090",
208    feature = "cuda-13000"
209))]
210pub use self::CUlaunchAttributeID as CUstreamAttrID;
211#[cfg(any(
212    feature = "cuda-11080",
213    feature = "cuda-12000",
214    feature = "cuda-12010",
215    feature = "cuda-12020",
216    feature = "cuda-12030",
217    feature = "cuda-12040",
218    feature = "cuda-12050",
219    feature = "cuda-12060",
220    feature = "cuda-12080",
221    feature = "cuda-12090",
222    feature = "cuda-13000"
223))]
224pub use self::CUlaunchAttributeID_enum as CUlaunchAttributeID;
225#[cfg(any(
226    feature = "cuda-12000",
227    feature = "cuda-12010",
228    feature = "cuda-12020",
229    feature = "cuda-12030",
230    feature = "cuda-12040",
231    feature = "cuda-12050",
232    feature = "cuda-12060",
233    feature = "cuda-12080",
234    feature = "cuda-12090",
235    feature = "cuda-13000"
236))]
237pub use self::CUlaunchMemSyncDomain_enum as CUlaunchMemSyncDomain;
238#[cfg(any(
239    feature = "cuda-12000",
240    feature = "cuda-12010",
241    feature = "cuda-12020",
242    feature = "cuda-12030",
243    feature = "cuda-12040",
244    feature = "cuda-12050",
245    feature = "cuda-12060",
246    feature = "cuda-12080",
247    feature = "cuda-12090",
248    feature = "cuda-13000"
249))]
250pub use self::CUlibraryOption_enum as CUlibraryOption;
251pub use self::CUlimit_enum as CUlimit;
252#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
253pub use self::CUlogLevel_enum as CUlogLevel;
254pub use self::CUmemAccess_flags_enum as CUmemAccess_flags;
255pub use self::CUmemAllocationCompType_enum as CUmemAllocationCompType;
256pub use self::CUmemAllocationGranularity_flags_enum as CUmemAllocationGranularity_flags;
257pub use self::CUmemAllocationHandleType_enum as CUmemAllocationHandleType;
258pub use self::CUmemAllocationType_enum as CUmemAllocationType;
259pub use self::CUmemAttach_flags_enum as CUmemAttach_flags;
260#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
261pub use self::CUmemDecompressAlgorithm_enum as CUmemDecompressAlgorithm;
262pub use self::CUmemHandleType_enum as CUmemHandleType;
263pub use self::CUmemLocationType_enum as CUmemLocationType;
264pub use self::CUmemOperationType_enum as CUmemOperationType;
265pub use self::CUmemPool_attribute_enum as CUmemPool_attribute;
266#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
267pub use self::CUmemRangeFlags_enum as CUmemRangeFlags;
268#[cfg(any(
269    feature = "cuda-11070",
270    feature = "cuda-11080",
271    feature = "cuda-12000",
272    feature = "cuda-12010",
273    feature = "cuda-12020",
274    feature = "cuda-12030",
275    feature = "cuda-12040",
276    feature = "cuda-12050",
277    feature = "cuda-12060",
278    feature = "cuda-12080",
279    feature = "cuda-12090",
280    feature = "cuda-13000"
281))]
282pub use self::CUmemRangeHandleType_enum as CUmemRangeHandleType;
283pub use self::CUmem_advise_enum as CUmem_advise;
284pub use self::CUmem_range_attribute_enum as CUmem_range_attribute;
285#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
286pub use self::CUmemcpy3DOperandType_enum as CUmemcpy3DOperandType;
287#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
288pub use self::CUmemcpyFlags_enum as CUmemcpyFlags;
289#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
290pub use self::CUmemcpySrcAccessOrder_enum as CUmemcpySrcAccessOrder;
291pub use self::CUmemorytype_enum as CUmemorytype;
292#[cfg(any(
293    feature = "cuda-11070",
294    feature = "cuda-11080",
295    feature = "cuda-12000",
296    feature = "cuda-12010",
297    feature = "cuda-12020",
298    feature = "cuda-12030",
299    feature = "cuda-12040",
300    feature = "cuda-12050",
301    feature = "cuda-12060",
302    feature = "cuda-12080",
303    feature = "cuda-12090",
304    feature = "cuda-13000"
305))]
306pub use self::CUmoduleLoadingMode_enum as CUmoduleLoadingMode;
307#[cfg(any(
308    feature = "cuda-12010",
309    feature = "cuda-12020",
310    feature = "cuda-12030",
311    feature = "cuda-12040",
312    feature = "cuda-12050",
313    feature = "cuda-12060",
314    feature = "cuda-12080",
315    feature = "cuda-12090",
316    feature = "cuda-13000"
317))]
318pub use self::CUmulticastGranularity_flags_enum as CUmulticastGranularity_flags;
319pub use self::CUoccupancy_flags_enum as CUoccupancy_flags;
320pub use self::CUoutput_mode_enum as CUoutput_mode;
321pub use self::CUpointer_attribute_enum as CUpointer_attribute;
322#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
323pub use self::CUprocessState_enum as CUprocessState;
324pub use self::CUresourceViewFormat_enum as CUresourceViewFormat;
325pub use self::CUresourcetype_enum as CUresourcetype;
326pub use self::CUshared_carveout_enum as CUshared_carveout;
327pub use self::CUsharedconfig_enum as CUsharedconfig;
328#[cfg(any(
329    feature = "cuda-11040",
330    feature = "cuda-11050",
331    feature = "cuda-11060",
332    feature = "cuda-11070"
333))]
334pub use self::CUstreamAttrID_enum as CUstreamAttrID;
335pub use self::CUstreamBatchMemOpType_enum as CUstreamBatchMemOpType;
336pub use self::CUstreamCaptureMode_enum as CUstreamCaptureMode;
337pub use self::CUstreamCaptureStatus_enum as CUstreamCaptureStatus;
338#[cfg(any(
339    feature = "cuda-11070",
340    feature = "cuda-11080",
341    feature = "cuda-12000",
342    feature = "cuda-12010",
343    feature = "cuda-12020",
344    feature = "cuda-12030",
345    feature = "cuda-12040",
346    feature = "cuda-12050",
347    feature = "cuda-12060",
348    feature = "cuda-12080",
349    feature = "cuda-12090",
350    feature = "cuda-13000"
351))]
352pub use self::CUstreamMemoryBarrier_flags_enum as CUstreamMemoryBarrier_flags;
353pub use self::CUstreamUpdateCaptureDependencies_flags_enum as CUstreamUpdateCaptureDependencies_flags;
354pub use self::CUstreamWaitValue_flags_enum as CUstreamWaitValue_flags;
355pub use self::CUstreamWriteValue_flags_enum as CUstreamWriteValue_flags;
356pub use self::CUstream_flags_enum as CUstream_flags;
357pub use self::CUsynchronizationPolicy_enum as CUsynchronizationPolicy;
358#[cfg(any(
359    feature = "cuda-12000",
360    feature = "cuda-12010",
361    feature = "cuda-12020",
362    feature = "cuda-12030",
363    feature = "cuda-12040",
364    feature = "cuda-12050",
365    feature = "cuda-12060",
366    feature = "cuda-12080",
367    feature = "cuda-12090",
368    feature = "cuda-13000"
369))]
370pub use self::CUtensorMapDataType_enum as CUtensorMapDataType;
371#[cfg(any(
372    feature = "cuda-12000",
373    feature = "cuda-12010",
374    feature = "cuda-12020",
375    feature = "cuda-12030",
376    feature = "cuda-12040",
377    feature = "cuda-12050",
378    feature = "cuda-12060",
379    feature = "cuda-12080",
380    feature = "cuda-12090",
381    feature = "cuda-13000"
382))]
383pub use self::CUtensorMapFloatOOBfill_enum as CUtensorMapFloatOOBfill;
384#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
385pub use self::CUtensorMapIm2ColWideMode_enum as CUtensorMapIm2ColWideMode;
386#[cfg(any(
387    feature = "cuda-12000",
388    feature = "cuda-12010",
389    feature = "cuda-12020",
390    feature = "cuda-12030",
391    feature = "cuda-12040",
392    feature = "cuda-12050",
393    feature = "cuda-12060",
394    feature = "cuda-12080",
395    feature = "cuda-12090",
396    feature = "cuda-13000"
397))]
398pub use self::CUtensorMapInterleave_enum as CUtensorMapInterleave;
399#[cfg(any(
400    feature = "cuda-12000",
401    feature = "cuda-12010",
402    feature = "cuda-12020",
403    feature = "cuda-12030",
404    feature = "cuda-12040",
405    feature = "cuda-12050",
406    feature = "cuda-12060",
407    feature = "cuda-12080",
408    feature = "cuda-12090",
409    feature = "cuda-13000"
410))]
411pub use self::CUtensorMapL2promotion_enum as CUtensorMapL2promotion;
412#[cfg(any(
413    feature = "cuda-12000",
414    feature = "cuda-12010",
415    feature = "cuda-12020",
416    feature = "cuda-12030",
417    feature = "cuda-12040",
418    feature = "cuda-12050",
419    feature = "cuda-12060",
420    feature = "cuda-12080",
421    feature = "cuda-12090",
422    feature = "cuda-13000"
423))]
424pub use self::CUtensorMapSwizzle_enum as CUtensorMapSwizzle;
425pub use self::CUuserObjectRetain_flags_enum as CUuserObjectRetain_flags;
426pub use self::CUuserObject_flags_enum as CUuserObject_flags;
427pub const CUDA_ARRAY3D_2DARRAY: u32 = 1;
428pub const CUDA_ARRAY3D_COLOR_ATTACHMENT: u32 = 32;
429pub const CUDA_ARRAY3D_CUBEMAP: u32 = 4;
430#[cfg(any(
431    feature = "cuda-11060",
432    feature = "cuda-11070",
433    feature = "cuda-11080",
434    feature = "cuda-12000",
435    feature = "cuda-12010",
436    feature = "cuda-12020",
437    feature = "cuda-12030",
438    feature = "cuda-12040",
439    feature = "cuda-12050",
440    feature = "cuda-12060",
441    feature = "cuda-12080",
442    feature = "cuda-12090",
443    feature = "cuda-13000"
444))]
445pub const CUDA_ARRAY3D_DEFERRED_MAPPING: u32 = 128;
446pub const CUDA_ARRAY3D_DEPTH_TEXTURE: u32 = 16;
447pub const CUDA_ARRAY3D_LAYERED: u32 = 1;
448pub const CUDA_ARRAY3D_SPARSE: u32 = 64;
449pub const CUDA_ARRAY3D_SURFACE_LDST: u32 = 2;
450pub const CUDA_ARRAY3D_TEXTURE_GATHER: u32 = 8;
451#[cfg(any(
452    feature = "cuda-12050",
453    feature = "cuda-12060",
454    feature = "cuda-12080",
455    feature = "cuda-12090",
456    feature = "cuda-13000"
457))]
458pub const CUDA_ARRAY3D_VIDEO_ENCODE_DECODE: u32 = 256;
459pub const CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC: u32 = 2;
460pub const CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC: u32 = 1;
461pub const CUDA_EXTERNAL_MEMORY_DEDICATED: u32 = 1;
462pub const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC: u32 = 1;
463pub const CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC: u32 = 2;
464pub const CUDA_NVSCISYNC_ATTR_SIGNAL: u32 = 1;
465pub const CUDA_NVSCISYNC_ATTR_WAIT: u32 = 2;
466#[cfg(any(feature = "cuda-11040"))]
467pub const CUDA_VERSION: u32 = 11040;
468#[cfg(any(feature = "cuda-11050"))]
469pub const CUDA_VERSION: u32 = 11050;
470#[cfg(any(feature = "cuda-11060"))]
471pub const CUDA_VERSION: u32 = 11060;
472#[cfg(any(feature = "cuda-11070"))]
473pub const CUDA_VERSION: u32 = 11070;
474#[cfg(any(feature = "cuda-11080"))]
475pub const CUDA_VERSION: u32 = 11080;
476#[cfg(any(feature = "cuda-12000"))]
477pub const CUDA_VERSION: u32 = 12000;
478#[cfg(any(feature = "cuda-12010"))]
479pub const CUDA_VERSION: u32 = 12010;
480#[cfg(any(feature = "cuda-12020"))]
481pub const CUDA_VERSION: u32 = 12020;
482#[cfg(any(feature = "cuda-12030"))]
483pub const CUDA_VERSION: u32 = 12030;
484#[cfg(any(feature = "cuda-12040"))]
485pub const CUDA_VERSION: u32 = 12040;
486#[cfg(any(feature = "cuda-12050"))]
487pub const CUDA_VERSION: u32 = 12050;
488#[cfg(any(feature = "cuda-12060"))]
489pub const CUDA_VERSION: u32 = 12060;
490#[cfg(any(feature = "cuda-12080"))]
491pub const CUDA_VERSION: u32 = 12080;
492#[cfg(any(feature = "cuda-12090"))]
493pub const CUDA_VERSION: u32 = 12090;
494#[cfg(any(feature = "cuda-13000"))]
495pub const CUDA_VERSION: u32 = 13000;
496pub const CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL: u32 = 1;
497#[cfg(any(
498    feature = "cuda-12000",
499    feature = "cuda-12010",
500    feature = "cuda-12020",
501    feature = "cuda-12030",
502    feature = "cuda-12040",
503    feature = "cuda-12050",
504    feature = "cuda-12060",
505    feature = "cuda-12080",
506    feature = "cuda-12090",
507    feature = "cuda-13000"
508))]
509pub const CU_COMPUTE_ACCELERATED_TARGET_BASE: u32 = 65536;
510#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
511pub const CU_COMPUTE_FAMILY_TARGET_BASE: u32 = 131072;
512#[cfg(any(
513    feature = "cuda-12030",
514    feature = "cuda-12040",
515    feature = "cuda-12050",
516    feature = "cuda-12060",
517    feature = "cuda-12080",
518    feature = "cuda-12090",
519    feature = "cuda-13000"
520))]
521pub const CU_GRAPH_COND_ASSIGN_DEFAULT: u32 = 1;
522#[cfg(any(
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    feature = "cuda-13000"
530))]
531pub const CU_GRAPH_KERNEL_NODE_PORT_DEFAULT: u32 = 0;
532#[cfg(any(
533    feature = "cuda-12030",
534    feature = "cuda-12040",
535    feature = "cuda-12050",
536    feature = "cuda-12060",
537    feature = "cuda-12080",
538    feature = "cuda-12090",
539    feature = "cuda-13000"
540))]
541pub const CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER: u32 = 2;
542#[cfg(any(
543    feature = "cuda-12030",
544    feature = "cuda-12040",
545    feature = "cuda-12050",
546    feature = "cuda-12060",
547    feature = "cuda-12080",
548    feature = "cuda-12090",
549    feature = "cuda-13000"
550))]
551pub const CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC: u32 = 1;
552pub const CU_IPC_HANDLE_SIZE: u32 = 64;
553#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
554pub const CU_LAUNCH_KERNEL_REQUIRED_BLOCK_DIM: u32 = 1;
555#[cfg(any(
556    feature = "cuda-11070",
557    feature = "cuda-11080",
558    feature = "cuda-12000",
559    feature = "cuda-12010",
560    feature = "cuda-12020",
561    feature = "cuda-12030",
562    feature = "cuda-12040",
563    feature = "cuda-12050",
564    feature = "cuda-12060",
565    feature = "cuda-12080",
566    feature = "cuda-12090",
567    feature = "cuda-13000"
568))]
569pub const CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT: u32 = 1;
570#[cfg(any(
571    feature = "cuda-11070",
572    feature = "cuda-11080",
573    feature = "cuda-12000",
574    feature = "cuda-12010",
575    feature = "cuda-12020",
576    feature = "cuda-12030",
577    feature = "cuda-12040",
578    feature = "cuda-12050",
579    feature = "cuda-12060",
580    feature = "cuda-12080",
581    feature = "cuda-12090",
582    feature = "cuda-13000"
583))]
584pub const CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT: u32 = 2;
585#[cfg(any(
586    feature = "cuda-11070",
587    feature = "cuda-11080",
588    feature = "cuda-12000",
589    feature = "cuda-12010",
590    feature = "cuda-12020",
591    feature = "cuda-12030",
592    feature = "cuda-12040",
593    feature = "cuda-12050",
594    feature = "cuda-12060",
595    feature = "cuda-12080",
596    feature = "cuda-12090",
597    feature = "cuda-13000"
598))]
599pub const CU_LAUNCH_PARAM_END_AS_INT: u32 = 0;
600pub const CU_MEMHOSTALLOC_DEVICEMAP: u32 = 2;
601pub const CU_MEMHOSTALLOC_PORTABLE: u32 = 1;
602pub const CU_MEMHOSTALLOC_WRITECOMBINED: u32 = 4;
603pub const CU_MEMHOSTREGISTER_DEVICEMAP: u32 = 2;
604pub const CU_MEMHOSTREGISTER_IOMEMORY: u32 = 4;
605pub const CU_MEMHOSTREGISTER_PORTABLE: u32 = 1;
606pub const CU_MEMHOSTREGISTER_READ_ONLY: u32 = 8;
607#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
608pub const CU_MEM_CREATE_USAGE_HW_DECOMPRESS: u32 = 2;
609pub const CU_MEM_CREATE_USAGE_TILE_POOL: u32 = 1;
610#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
611pub const CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS: u32 = 2;
612pub const CU_PARAM_TR_DEFAULT: i32 = -1;
613#[cfg(any(
614    feature = "cuda-12000",
615    feature = "cuda-12010",
616    feature = "cuda-12020",
617    feature = "cuda-12030",
618    feature = "cuda-12040",
619    feature = "cuda-12050",
620    feature = "cuda-12060",
621    feature = "cuda-12080",
622    feature = "cuda-12090",
623    feature = "cuda-13000"
624))]
625pub const CU_TENSOR_MAP_NUM_QWORDS: u32 = 16;
626pub const CU_TRSA_OVERRIDE_FORMAT: u32 = 1;
627pub const CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION: u32 = 32;
628pub const CU_TRSF_NORMALIZED_COORDINATES: u32 = 2;
629pub const CU_TRSF_READ_AS_INTEGER: u32 = 1;
630#[cfg(any(
631    feature = "cuda-11060",
632    feature = "cuda-11070",
633    feature = "cuda-11080",
634    feature = "cuda-12000",
635    feature = "cuda-12010",
636    feature = "cuda-12020",
637    feature = "cuda-12030",
638    feature = "cuda-12040",
639    feature = "cuda-12050",
640    feature = "cuda-12060",
641    feature = "cuda-12080",
642    feature = "cuda-12090",
643    feature = "cuda-13000"
644))]
645pub const CU_TRSF_SEAMLESS_CUBEMAP: u32 = 64;
646pub const CU_TRSF_SRGB: u32 = 16;
647pub type CUDA_ARRAY3D_DESCRIPTOR = CUDA_ARRAY3D_DESCRIPTOR_v2;
648pub type CUDA_ARRAY3D_DESCRIPTOR_v2 = CUDA_ARRAY3D_DESCRIPTOR_st;
649pub type CUDA_ARRAY_DESCRIPTOR = CUDA_ARRAY_DESCRIPTOR_v2;
650pub type CUDA_ARRAY_DESCRIPTOR_v2 = CUDA_ARRAY_DESCRIPTOR_st;
651#[cfg(any(
652    feature = "cuda-11060",
653    feature = "cuda-11070",
654    feature = "cuda-11080",
655    feature = "cuda-12000",
656    feature = "cuda-12010",
657    feature = "cuda-12020",
658    feature = "cuda-12030",
659    feature = "cuda-12040",
660    feature = "cuda-12050",
661    feature = "cuda-12060",
662    feature = "cuda-12080",
663    feature = "cuda-12090",
664    feature = "cuda-13000"
665))]
666pub type CUDA_ARRAY_MEMORY_REQUIREMENTS = CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
667#[cfg(any(
668    feature = "cuda-11060",
669    feature = "cuda-11070",
670    feature = "cuda-11080",
671    feature = "cuda-12000",
672    feature = "cuda-12010",
673    feature = "cuda-12020",
674    feature = "cuda-12030",
675    feature = "cuda-12040",
676    feature = "cuda-12050",
677    feature = "cuda-12060",
678    feature = "cuda-12080",
679    feature = "cuda-12090",
680    feature = "cuda-13000"
681))]
682pub type CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
683pub type CUDA_ARRAY_SPARSE_PROPERTIES = CUDA_ARRAY_SPARSE_PROPERTIES_v1;
684pub type CUDA_ARRAY_SPARSE_PROPERTIES_v1 = CUDA_ARRAY_SPARSE_PROPERTIES_st;
685#[cfg(any(
686    feature = "cuda-11070",
687    feature = "cuda-11080",
688    feature = "cuda-12000",
689    feature = "cuda-12010"
690))]
691pub type CUDA_BATCH_MEM_OP_NODE_PARAMS = CUDA_BATCH_MEM_OP_NODE_PARAMS_st;
692#[cfg(any(
693    feature = "cuda-12020",
694    feature = "cuda-12030",
695    feature = "cuda-12040",
696    feature = "cuda-12050",
697    feature = "cuda-12060",
698    feature = "cuda-12080",
699    feature = "cuda-12090",
700    feature = "cuda-13000"
701))]
702pub type CUDA_BATCH_MEM_OP_NODE_PARAMS = CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
703#[cfg(any(
704    feature = "cuda-12020",
705    feature = "cuda-12030",
706    feature = "cuda-12040",
707    feature = "cuda-12050",
708    feature = "cuda-12060",
709    feature = "cuda-12080",
710    feature = "cuda-12090",
711    feature = "cuda-13000"
712))]
713pub type CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 = CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
714#[cfg(any(
715    feature = "cuda-12020",
716    feature = "cuda-12030",
717    feature = "cuda-12040",
718    feature = "cuda-12050",
719    feature = "cuda-12060",
720    feature = "cuda-12080",
721    feature = "cuda-12090",
722    feature = "cuda-13000"
723))]
724pub type CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
725#[cfg(any(
726    feature = "cuda-12020",
727    feature = "cuda-12030",
728    feature = "cuda-12040",
729    feature = "cuda-12050",
730    feature = "cuda-12060",
731    feature = "cuda-12080",
732    feature = "cuda-12090",
733    feature = "cuda-13000"
734))]
735pub type CUDA_CHILD_GRAPH_NODE_PARAMS = CUDA_CHILD_GRAPH_NODE_PARAMS_st;
736#[cfg(any(
737    feature = "cuda-12020",
738    feature = "cuda-12030",
739    feature = "cuda-12040",
740    feature = "cuda-12050",
741    feature = "cuda-12060",
742    feature = "cuda-12080",
743    feature = "cuda-12090",
744    feature = "cuda-13000"
745))]
746pub type CUDA_EVENT_RECORD_NODE_PARAMS = CUDA_EVENT_RECORD_NODE_PARAMS_st;
747#[cfg(any(
748    feature = "cuda-12020",
749    feature = "cuda-12030",
750    feature = "cuda-12040",
751    feature = "cuda-12050",
752    feature = "cuda-12060",
753    feature = "cuda-12080",
754    feature = "cuda-12090",
755    feature = "cuda-13000"
756))]
757pub type CUDA_EVENT_WAIT_NODE_PARAMS = CUDA_EVENT_WAIT_NODE_PARAMS_st;
758pub type CUDA_EXTERNAL_MEMORY_BUFFER_DESC = CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
759pub type CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 = CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
760pub type CUDA_EXTERNAL_MEMORY_HANDLE_DESC = CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
761pub type CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
762pub type CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC = CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
763pub type CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 =
764    CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
765pub type CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
766pub type CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
767pub type CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
768pub type CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
769pub type CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
770pub type CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
771pub type CUDA_EXT_SEM_SIGNAL_NODE_PARAMS = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
772pub type CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
773#[cfg(any(
774    feature = "cuda-12020",
775    feature = "cuda-12030",
776    feature = "cuda-12040",
777    feature = "cuda-12050",
778    feature = "cuda-12060",
779    feature = "cuda-12080",
780    feature = "cuda-12090",
781    feature = "cuda-13000"
782))]
783pub type CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
784pub type CUDA_EXT_SEM_WAIT_NODE_PARAMS = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
785pub type CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 = CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
786#[cfg(any(
787    feature = "cuda-12020",
788    feature = "cuda-12030",
789    feature = "cuda-12040",
790    feature = "cuda-12050",
791    feature = "cuda-12060",
792    feature = "cuda-12080",
793    feature = "cuda-12090",
794    feature = "cuda-13000"
795))]
796pub type CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
797#[cfg(any(
798    feature = "cuda-12000",
799    feature = "cuda-12010",
800    feature = "cuda-12020",
801    feature = "cuda-12030",
802    feature = "cuda-12040",
803    feature = "cuda-12050",
804    feature = "cuda-12060",
805    feature = "cuda-12080",
806    feature = "cuda-12090",
807    feature = "cuda-13000"
808))]
809pub type CUDA_GRAPH_INSTANTIATE_PARAMS = CUDA_GRAPH_INSTANTIATE_PARAMS_st;
810pub type CUDA_HOST_NODE_PARAMS = CUDA_HOST_NODE_PARAMS_v1;
811pub type CUDA_HOST_NODE_PARAMS_v1 = CUDA_HOST_NODE_PARAMS_st;
812#[cfg(any(
813    feature = "cuda-12020",
814    feature = "cuda-12030",
815    feature = "cuda-12040",
816    feature = "cuda-12050",
817    feature = "cuda-12060",
818    feature = "cuda-12080",
819    feature = "cuda-12090",
820    feature = "cuda-13000"
821))]
822pub type CUDA_HOST_NODE_PARAMS_v2 = CUDA_HOST_NODE_PARAMS_v2_st;
823#[cfg(any(
824    feature = "cuda-11040",
825    feature = "cuda-11050",
826    feature = "cuda-11060",
827    feature = "cuda-11070",
828    feature = "cuda-11080"
829))]
830pub type CUDA_KERNEL_NODE_PARAMS = CUDA_KERNEL_NODE_PARAMS_v1;
831#[cfg(any(
832    feature = "cuda-12000",
833    feature = "cuda-12010",
834    feature = "cuda-12020",
835    feature = "cuda-12030",
836    feature = "cuda-12040",
837    feature = "cuda-12050",
838    feature = "cuda-12060",
839    feature = "cuda-12080",
840    feature = "cuda-12090",
841    feature = "cuda-13000"
842))]
843pub type CUDA_KERNEL_NODE_PARAMS = CUDA_KERNEL_NODE_PARAMS_v2;
844pub type CUDA_KERNEL_NODE_PARAMS_v1 = CUDA_KERNEL_NODE_PARAMS_st;
845#[cfg(any(
846    feature = "cuda-12000",
847    feature = "cuda-12010",
848    feature = "cuda-12020",
849    feature = "cuda-12030",
850    feature = "cuda-12040",
851    feature = "cuda-12050",
852    feature = "cuda-12060",
853    feature = "cuda-12080",
854    feature = "cuda-12090",
855    feature = "cuda-13000"
856))]
857pub type CUDA_KERNEL_NODE_PARAMS_v2 = CUDA_KERNEL_NODE_PARAMS_v2_st;
858#[cfg(any(
859    feature = "cuda-12020",
860    feature = "cuda-12030",
861    feature = "cuda-12040",
862    feature = "cuda-12050",
863    feature = "cuda-12060",
864    feature = "cuda-12080",
865    feature = "cuda-12090",
866    feature = "cuda-13000"
867))]
868pub type CUDA_KERNEL_NODE_PARAMS_v3 = CUDA_KERNEL_NODE_PARAMS_v3_st;
869pub type CUDA_LAUNCH_PARAMS = CUDA_LAUNCH_PARAMS_v1;
870pub type CUDA_LAUNCH_PARAMS_v1 = CUDA_LAUNCH_PARAMS_st;
871pub type CUDA_MEMCPY2D = CUDA_MEMCPY2D_v2;
872pub type CUDA_MEMCPY2D_v2 = CUDA_MEMCPY2D_st;
873pub type CUDA_MEMCPY3D = CUDA_MEMCPY3D_v2;
874#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
875pub type CUDA_MEMCPY3D_BATCH_OP = CUDA_MEMCPY3D_BATCH_OP_v1;
876#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
877pub type CUDA_MEMCPY3D_BATCH_OP_v1 = CUDA_MEMCPY3D_BATCH_OP_st;
878pub type CUDA_MEMCPY3D_PEER = CUDA_MEMCPY3D_PEER_v1;
879pub type CUDA_MEMCPY3D_PEER_v1 = CUDA_MEMCPY3D_PEER_st;
880pub type CUDA_MEMCPY3D_v2 = CUDA_MEMCPY3D_st;
881#[cfg(any(
882    feature = "cuda-12020",
883    feature = "cuda-12030",
884    feature = "cuda-12040",
885    feature = "cuda-12050",
886    feature = "cuda-12060",
887    feature = "cuda-12080",
888    feature = "cuda-12090",
889    feature = "cuda-13000"
890))]
891pub type CUDA_MEMCPY_NODE_PARAMS = CUDA_MEMCPY_NODE_PARAMS_st;
892pub type CUDA_MEMSET_NODE_PARAMS = CUDA_MEMSET_NODE_PARAMS_v1;
893pub type CUDA_MEMSET_NODE_PARAMS_v1 = CUDA_MEMSET_NODE_PARAMS_st;
894#[cfg(any(
895    feature = "cuda-12020",
896    feature = "cuda-12030",
897    feature = "cuda-12040",
898    feature = "cuda-12050",
899    feature = "cuda-12060",
900    feature = "cuda-12080",
901    feature = "cuda-12090",
902    feature = "cuda-13000"
903))]
904pub type CUDA_MEMSET_NODE_PARAMS_v2 = CUDA_MEMSET_NODE_PARAMS_v2_st;
905#[cfg(any(
906    feature = "cuda-11040",
907    feature = "cuda-11050",
908    feature = "cuda-11060",
909    feature = "cuda-11070",
910    feature = "cuda-11080",
911    feature = "cuda-12000",
912    feature = "cuda-12010"
913))]
914pub type CUDA_MEM_ALLOC_NODE_PARAMS = CUDA_MEM_ALLOC_NODE_PARAMS_st;
915#[cfg(any(
916    feature = "cuda-12020",
917    feature = "cuda-12030",
918    feature = "cuda-12040",
919    feature = "cuda-12050",
920    feature = "cuda-12060",
921    feature = "cuda-12080",
922    feature = "cuda-12090",
923    feature = "cuda-13000"
924))]
925pub type CUDA_MEM_ALLOC_NODE_PARAMS = CUDA_MEM_ALLOC_NODE_PARAMS_v1;
926#[cfg(any(
927    feature = "cuda-12020",
928    feature = "cuda-12030",
929    feature = "cuda-12040",
930    feature = "cuda-12050",
931    feature = "cuda-12060",
932    feature = "cuda-12080",
933    feature = "cuda-12090",
934    feature = "cuda-13000"
935))]
936pub type CUDA_MEM_ALLOC_NODE_PARAMS_v1 = CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
937#[cfg(any(
938    feature = "cuda-12020",
939    feature = "cuda-12030",
940    feature = "cuda-12040",
941    feature = "cuda-12050",
942    feature = "cuda-12060",
943    feature = "cuda-12080",
944    feature = "cuda-12090",
945    feature = "cuda-13000"
946))]
947pub type CUDA_MEM_ALLOC_NODE_PARAMS_v2 = CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
948#[cfg(any(
949    feature = "cuda-12020",
950    feature = "cuda-12030",
951    feature = "cuda-12040",
952    feature = "cuda-12050",
953    feature = "cuda-12060",
954    feature = "cuda-12080",
955    feature = "cuda-12090",
956    feature = "cuda-13000"
957))]
958pub type CUDA_MEM_FREE_NODE_PARAMS = CUDA_MEM_FREE_NODE_PARAMS_st;
959pub type CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
960pub type CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 = CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
961pub type CUDA_RESOURCE_DESC = CUDA_RESOURCE_DESC_v1;
962pub type CUDA_RESOURCE_DESC_v1 = CUDA_RESOURCE_DESC_st;
963pub type CUDA_RESOURCE_VIEW_DESC = CUDA_RESOURCE_VIEW_DESC_v1;
964pub type CUDA_RESOURCE_VIEW_DESC_v1 = CUDA_RESOURCE_VIEW_DESC_st;
965pub type CUDA_TEXTURE_DESC = CUDA_TEXTURE_DESC_v1;
966pub type CUDA_TEXTURE_DESC_v1 = CUDA_TEXTURE_DESC_st;
967pub type CUaccessPolicyWindow = CUaccessPolicyWindow_v1;
968pub type CUaccessPolicyWindow_v1 = CUaccessPolicyWindow_st;
969pub type CUarray = *mut CUarray_st;
970pub type CUarrayMapInfo = CUarrayMapInfo_v1;
971pub type CUarrayMapInfo_v1 = CUarrayMapInfo_st;
972#[cfg(any(
973    feature = "cuda-12040",
974    feature = "cuda-12050",
975    feature = "cuda-12060",
976    feature = "cuda-12080",
977    feature = "cuda-12090",
978    feature = "cuda-13000"
979))]
980pub type CUasyncCallback = ::core::option::Option<
981    unsafe extern "C" fn(
982        info: *mut CUasyncNotificationInfo,
983        userData: *mut ::core::ffi::c_void,
984        callback: CUasyncCallbackHandle,
985    ),
986>;
987#[cfg(any(
988    feature = "cuda-12040",
989    feature = "cuda-12050",
990    feature = "cuda-12060",
991    feature = "cuda-12080",
992    feature = "cuda-12090",
993    feature = "cuda-13000"
994))]
995pub type CUasyncCallbackHandle = *mut CUasyncCallbackEntry_st;
996#[cfg(any(
997    feature = "cuda-12040",
998    feature = "cuda-12050",
999    feature = "cuda-12060",
1000    feature = "cuda-12080",
1001    feature = "cuda-12090",
1002    feature = "cuda-13000"
1003))]
1004pub type CUasyncNotificationInfo = CUasyncNotificationInfo_st;
1005#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1006pub type CUcheckpointCheckpointArgs = CUcheckpointCheckpointArgs_st;
1007#[cfg(any(feature = "cuda-13000"))]
1008pub type CUcheckpointGpuPair = CUcheckpointGpuPair_st;
1009#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1010pub type CUcheckpointLockArgs = CUcheckpointLockArgs_st;
1011#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1012pub type CUcheckpointRestoreArgs = CUcheckpointRestoreArgs_st;
1013#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1014pub type CUcheckpointUnlockArgs = CUcheckpointUnlockArgs_st;
1015pub type CUcontext = *mut CUctx_st;
1016#[cfg(any(
1017    feature = "cuda-12050",
1018    feature = "cuda-12060",
1019    feature = "cuda-12080",
1020    feature = "cuda-12090",
1021    feature = "cuda-13000"
1022))]
1023pub type CUctxCigParam = CUctxCigParam_st;
1024#[cfg(any(
1025    feature = "cuda-12050",
1026    feature = "cuda-12060",
1027    feature = "cuda-12080",
1028    feature = "cuda-12090",
1029    feature = "cuda-13000"
1030))]
1031pub type CUctxCreateParams = CUctxCreateParams_st;
1032#[cfg(any(
1033    feature = "cuda-12040",
1034    feature = "cuda-12050",
1035    feature = "cuda-12060",
1036    feature = "cuda-12080",
1037    feature = "cuda-12090",
1038    feature = "cuda-13000"
1039))]
1040pub type CUdevResource = CUdevResource_v1;
1041#[cfg(any(
1042    feature = "cuda-12040",
1043    feature = "cuda-12050",
1044    feature = "cuda-12060",
1045    feature = "cuda-12080",
1046    feature = "cuda-12090",
1047    feature = "cuda-13000"
1048))]
1049pub type CUdevResourceDesc = *mut CUdevResourceDesc_st;
1050#[cfg(any(
1051    feature = "cuda-12040",
1052    feature = "cuda-12050",
1053    feature = "cuda-12060",
1054    feature = "cuda-12080",
1055    feature = "cuda-12090",
1056    feature = "cuda-13000"
1057))]
1058pub type CUdevResource_v1 = CUdevResource_st;
1059#[cfg(any(
1060    feature = "cuda-12040",
1061    feature = "cuda-12050",
1062    feature = "cuda-12060",
1063    feature = "cuda-12080",
1064    feature = "cuda-12090",
1065    feature = "cuda-13000"
1066))]
1067pub type CUdevSmResource = CUdevSmResource_st;
1068pub type CUdevice = CUdevice_v1;
1069pub type CUdevice_v1 = ::core::ffi::c_int;
1070pub type CUdeviceptr = CUdeviceptr_v2;
1071pub type CUdeviceptr_v2 = ::core::ffi::c_ulonglong;
1072pub type CUdevprop = CUdevprop_v1;
1073pub type CUdevprop_v1 = CUdevprop_st;
1074pub type CUevent = *mut CUevent_st;
1075pub type CUexecAffinityParam = CUexecAffinityParam_v1;
1076pub type CUexecAffinityParam_v1 = CUexecAffinityParam_st;
1077pub type CUexecAffinitySmCount = CUexecAffinitySmCount_v1;
1078pub type CUexecAffinitySmCount_v1 = CUexecAffinitySmCount_st;
1079#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1080pub type CUextent3D = CUextent3D_v1;
1081#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1082pub type CUextent3D_v1 = CUextent3D_st;
1083pub type CUexternalMemory = *mut CUextMemory_st;
1084pub type CUexternalSemaphore = *mut CUextSemaphore_st;
1085pub type CUfunction = *mut CUfunc_st;
1086pub type CUgraph = *mut CUgraph_st;
1087#[cfg(any(
1088    feature = "cuda-12030",
1089    feature = "cuda-12040",
1090    feature = "cuda-12050",
1091    feature = "cuda-12060",
1092    feature = "cuda-12080",
1093    feature = "cuda-12090",
1094    feature = "cuda-13000"
1095))]
1096pub type CUgraphConditionalHandle = cuuint64_t;
1097#[cfg(any(
1098    feature = "cuda-12040",
1099    feature = "cuda-12050",
1100    feature = "cuda-12060",
1101    feature = "cuda-12080",
1102    feature = "cuda-12090",
1103    feature = "cuda-13000"
1104))]
1105pub type CUgraphDeviceNode = *mut CUgraphDeviceUpdatableNode_st;
1106#[cfg(any(
1107    feature = "cuda-12030",
1108    feature = "cuda-12040",
1109    feature = "cuda-12050",
1110    feature = "cuda-12060",
1111    feature = "cuda-12080",
1112    feature = "cuda-12090",
1113    feature = "cuda-13000"
1114))]
1115pub type CUgraphEdgeData = CUgraphEdgeData_st;
1116pub type CUgraphExec = *mut CUgraphExec_st;
1117#[cfg(any(
1118    feature = "cuda-12000",
1119    feature = "cuda-12010",
1120    feature = "cuda-12020",
1121    feature = "cuda-12030",
1122    feature = "cuda-12040",
1123    feature = "cuda-12050",
1124    feature = "cuda-12060",
1125    feature = "cuda-12080",
1126    feature = "cuda-12090",
1127    feature = "cuda-13000"
1128))]
1129pub type CUgraphExecUpdateResultInfo = CUgraphExecUpdateResultInfo_v1;
1130#[cfg(any(
1131    feature = "cuda-12000",
1132    feature = "cuda-12010",
1133    feature = "cuda-12020",
1134    feature = "cuda-12030",
1135    feature = "cuda-12040",
1136    feature = "cuda-12050",
1137    feature = "cuda-12060",
1138    feature = "cuda-12080",
1139    feature = "cuda-12090",
1140    feature = "cuda-13000"
1141))]
1142pub type CUgraphExecUpdateResultInfo_v1 = CUgraphExecUpdateResultInfo_st;
1143pub type CUgraphNode = *mut CUgraphNode_st;
1144#[cfg(any(
1145    feature = "cuda-12020",
1146    feature = "cuda-12030",
1147    feature = "cuda-12040",
1148    feature = "cuda-12050",
1149    feature = "cuda-12060",
1150    feature = "cuda-12080",
1151    feature = "cuda-12090",
1152    feature = "cuda-13000"
1153))]
1154pub type CUgraphNodeParams = CUgraphNodeParams_st;
1155pub type CUgraphicsResource = *mut CUgraphicsResource_st;
1156#[cfg(any(
1157    feature = "cuda-12040",
1158    feature = "cuda-12050",
1159    feature = "cuda-12060",
1160    feature = "cuda-12080",
1161    feature = "cuda-12090",
1162    feature = "cuda-13000"
1163))]
1164pub type CUgreenCtx = *mut CUgreenCtx_st;
1165pub type CUhostFn =
1166    ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>;
1167pub type CUipcEventHandle = CUipcEventHandle_v1;
1168pub type CUipcEventHandle_v1 = CUipcEventHandle_st;
1169pub type CUipcMemHandle = CUipcMemHandle_v1;
1170pub type CUipcMemHandle_v1 = CUipcMemHandle_st;
1171#[cfg(any(
1172    feature = "cuda-12000",
1173    feature = "cuda-12010",
1174    feature = "cuda-12020",
1175    feature = "cuda-12030",
1176    feature = "cuda-12040",
1177    feature = "cuda-12050",
1178    feature = "cuda-12060",
1179    feature = "cuda-12080",
1180    feature = "cuda-12090",
1181    feature = "cuda-13000"
1182))]
1183pub type CUkernel = *mut CUkern_st;
1184pub type CUkernelNodeAttrValue = CUkernelNodeAttrValue_v1;
1185#[cfg(any(
1186    feature = "cuda-11040",
1187    feature = "cuda-11050",
1188    feature = "cuda-11060",
1189    feature = "cuda-11070"
1190))]
1191pub type CUkernelNodeAttrValue_v1 = CUkernelNodeAttrValue_union;
1192#[cfg(any(
1193    feature = "cuda-11080",
1194    feature = "cuda-12000",
1195    feature = "cuda-12010",
1196    feature = "cuda-12020",
1197    feature = "cuda-12030",
1198    feature = "cuda-12040",
1199    feature = "cuda-12050",
1200    feature = "cuda-12060",
1201    feature = "cuda-12080",
1202    feature = "cuda-12090",
1203    feature = "cuda-13000"
1204))]
1205pub type CUkernelNodeAttrValue_v1 = CUlaunchAttributeValue;
1206#[cfg(any(
1207    feature = "cuda-11080",
1208    feature = "cuda-12000",
1209    feature = "cuda-12010",
1210    feature = "cuda-12020",
1211    feature = "cuda-12030",
1212    feature = "cuda-12040",
1213    feature = "cuda-12050",
1214    feature = "cuda-12060",
1215    feature = "cuda-12080",
1216    feature = "cuda-12090",
1217    feature = "cuda-13000"
1218))]
1219pub type CUlaunchAttribute = CUlaunchAttribute_st;
1220#[cfg(any(
1221    feature = "cuda-11080",
1222    feature = "cuda-12000",
1223    feature = "cuda-12010",
1224    feature = "cuda-12020",
1225    feature = "cuda-12030",
1226    feature = "cuda-12040",
1227    feature = "cuda-12050",
1228    feature = "cuda-12060",
1229    feature = "cuda-12080",
1230    feature = "cuda-12090",
1231    feature = "cuda-13000"
1232))]
1233pub type CUlaunchAttributeValue = CUlaunchAttributeValue_union;
1234#[cfg(any(
1235    feature = "cuda-11080",
1236    feature = "cuda-12000",
1237    feature = "cuda-12010",
1238    feature = "cuda-12020",
1239    feature = "cuda-12030",
1240    feature = "cuda-12040",
1241    feature = "cuda-12050",
1242    feature = "cuda-12060",
1243    feature = "cuda-12080",
1244    feature = "cuda-12090",
1245    feature = "cuda-13000"
1246))]
1247pub type CUlaunchConfig = CUlaunchConfig_st;
1248#[cfg(any(
1249    feature = "cuda-12000",
1250    feature = "cuda-12010",
1251    feature = "cuda-12020",
1252    feature = "cuda-12030",
1253    feature = "cuda-12040",
1254    feature = "cuda-12050",
1255    feature = "cuda-12060",
1256    feature = "cuda-12080",
1257    feature = "cuda-12090",
1258    feature = "cuda-13000"
1259))]
1260pub type CUlaunchMemSyncDomainMap = CUlaunchMemSyncDomainMap_st;
1261#[cfg(any(
1262    feature = "cuda-12000",
1263    feature = "cuda-12010",
1264    feature = "cuda-12020",
1265    feature = "cuda-12030",
1266    feature = "cuda-12040",
1267    feature = "cuda-12050",
1268    feature = "cuda-12060",
1269    feature = "cuda-12080",
1270    feature = "cuda-12090",
1271    feature = "cuda-13000"
1272))]
1273pub type CUlibrary = *mut CUlib_st;
1274#[cfg(any(
1275    feature = "cuda-12000",
1276    feature = "cuda-12010",
1277    feature = "cuda-12020",
1278    feature = "cuda-12030",
1279    feature = "cuda-12040",
1280    feature = "cuda-12050",
1281    feature = "cuda-12060",
1282    feature = "cuda-12080",
1283    feature = "cuda-12090",
1284    feature = "cuda-13000"
1285))]
1286pub type CUlibraryHostUniversalFunctionAndDataTable = CUlibraryHostUniversalFunctionAndDataTable_st;
1287pub type CUlinkState = *mut CUlinkState_st;
1288#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
1289pub type CUlogIterator = ::core::ffi::c_uint;
1290#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
1291pub type CUlogsCallback = ::core::option::Option<
1292    unsafe extern "C" fn(
1293        data: *mut ::core::ffi::c_void,
1294        logLevel: CUlogLevel,
1295        message: *mut ::core::ffi::c_char,
1296        length: usize,
1297    ),
1298>;
1299#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
1300pub type CUlogsCallbackHandle = *mut CUlogsCallbackEntry_st;
1301pub type CUmemAccessDesc = CUmemAccessDesc_v1;
1302pub type CUmemAccessDesc_v1 = CUmemAccessDesc_st;
1303pub type CUmemAllocationProp = CUmemAllocationProp_v1;
1304pub type CUmemAllocationProp_v1 = CUmemAllocationProp_st;
1305#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1306pub type CUmemDecompressParams = CUmemDecompressParams_st;
1307#[cfg(any(
1308    feature = "cuda-12030",
1309    feature = "cuda-12040",
1310    feature = "cuda-12050",
1311    feature = "cuda-12060",
1312    feature = "cuda-12080",
1313    feature = "cuda-12090",
1314    feature = "cuda-13000"
1315))]
1316pub type CUmemFabricHandle = CUmemFabricHandle_v1;
1317#[cfg(any(
1318    feature = "cuda-12030",
1319    feature = "cuda-12040",
1320    feature = "cuda-12050",
1321    feature = "cuda-12060",
1322    feature = "cuda-12080",
1323    feature = "cuda-12090",
1324    feature = "cuda-13000"
1325))]
1326pub type CUmemFabricHandle_v1 = CUmemFabricHandle_st;
1327pub type CUmemGenericAllocationHandle = CUmemGenericAllocationHandle_v1;
1328pub type CUmemGenericAllocationHandle_v1 = ::core::ffi::c_ulonglong;
1329pub type CUmemLocation = CUmemLocation_v1;
1330pub type CUmemLocation_v1 = CUmemLocation_st;
1331pub type CUmemPoolProps = CUmemPoolProps_v1;
1332pub type CUmemPoolProps_v1 = CUmemPoolProps_st;
1333pub type CUmemPoolPtrExportData = CUmemPoolPtrExportData_v1;
1334pub type CUmemPoolPtrExportData_v1 = CUmemPoolPtrExportData_st;
1335#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1336pub type CUmemcpy3DOperand = CUmemcpy3DOperand_v1;
1337#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1338pub type CUmemcpy3DOperand_v1 = CUmemcpy3DOperand_st;
1339#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1340pub type CUmemcpyAttributes = CUmemcpyAttributes_v1;
1341#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1342pub type CUmemcpyAttributes_v1 = CUmemcpyAttributes_st;
1343pub type CUmemoryPool = *mut CUmemPoolHandle_st;
1344pub type CUmipmappedArray = *mut CUmipmappedArray_st;
1345pub type CUmodule = *mut CUmod_st;
1346#[cfg(any(
1347    feature = "cuda-12010",
1348    feature = "cuda-12020",
1349    feature = "cuda-12030",
1350    feature = "cuda-12040",
1351    feature = "cuda-12050",
1352    feature = "cuda-12060",
1353    feature = "cuda-12080",
1354    feature = "cuda-12090",
1355    feature = "cuda-13000"
1356))]
1357pub type CUmulticastObjectProp = CUmulticastObjectProp_v1;
1358#[cfg(any(
1359    feature = "cuda-12010",
1360    feature = "cuda-12020",
1361    feature = "cuda-12030",
1362    feature = "cuda-12040",
1363    feature = "cuda-12050",
1364    feature = "cuda-12060",
1365    feature = "cuda-12080",
1366    feature = "cuda-12090",
1367    feature = "cuda-13000"
1368))]
1369pub type CUmulticastObjectProp_v1 = CUmulticastObjectProp_st;
1370pub type CUoccupancyB2DSize =
1371    ::core::option::Option<unsafe extern "C" fn(blockSize: ::core::ffi::c_int) -> usize>;
1372#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1373pub type CUoffset3D = CUoffset3D_v1;
1374#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1375pub type CUoffset3D_v1 = CUoffset3D_st;
1376pub type CUstream = *mut CUstream_st;
1377pub type CUstreamAttrValue = CUstreamAttrValue_v1;
1378#[cfg(any(
1379    feature = "cuda-11040",
1380    feature = "cuda-11050",
1381    feature = "cuda-11060",
1382    feature = "cuda-11070"
1383))]
1384pub type CUstreamAttrValue_v1 = CUstreamAttrValue_union;
1385#[cfg(any(
1386    feature = "cuda-11080",
1387    feature = "cuda-12000",
1388    feature = "cuda-12010",
1389    feature = "cuda-12020",
1390    feature = "cuda-12030",
1391    feature = "cuda-12040",
1392    feature = "cuda-12050",
1393    feature = "cuda-12060",
1394    feature = "cuda-12080",
1395    feature = "cuda-12090",
1396    feature = "cuda-13000"
1397))]
1398pub type CUstreamAttrValue_v1 = CUlaunchAttributeValue;
1399pub type CUstreamBatchMemOpParams = CUstreamBatchMemOpParams_v1;
1400pub type CUstreamBatchMemOpParams_v1 = CUstreamBatchMemOpParams_union;
1401pub type CUstreamCallback = ::core::option::Option<
1402    unsafe extern "C" fn(hStream: CUstream, status: CUresult, userData: *mut ::core::ffi::c_void),
1403>;
1404pub type CUsurfObject = CUsurfObject_v1;
1405pub type CUsurfObject_v1 = ::core::ffi::c_ulonglong;
1406pub type CUsurfref = *mut CUsurfref_st;
1407#[cfg(any(
1408    feature = "cuda-12000",
1409    feature = "cuda-12010",
1410    feature = "cuda-12020",
1411    feature = "cuda-12030",
1412    feature = "cuda-12040",
1413    feature = "cuda-12050",
1414    feature = "cuda-12060",
1415    feature = "cuda-12080",
1416    feature = "cuda-12090",
1417    feature = "cuda-13000"
1418))]
1419pub type CUtensorMap = CUtensorMap_st;
1420pub type CUtexObject = CUtexObject_v1;
1421pub type CUtexObject_v1 = ::core::ffi::c_ulonglong;
1422pub type CUtexref = *mut CUtexref_st;
1423pub type CUuserObject = *mut CUuserObject_st;
1424pub type CUuuid = CUuuid_st;
1425pub type cuuint32_t = u32;
1426pub type cuuint64_t = u64;
1427#[cfg(any(feature = "cuda-12050"))]
1428#[repr(u32)]
1429#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1430pub enum CUCoredumpGenerationFlags {
1431    CU_COREDUMP_DEFAULT_FLAGS = 0,
1432    CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES = 1,
1433    CU_COREDUMP_SKIP_GLOBAL_MEMORY = 2,
1434    CU_COREDUMP_SKIP_SHARED_MEMORY = 4,
1435    CU_COREDUMP_SKIP_LOCAL_MEMORY = 8,
1436    CU_COREDUMP_SKIP_ABORT = 16,
1437    CU_COREDUMP_LIGHTWEIGHT_FLAGS = 15,
1438}
1439#[cfg(any(
1440    feature = "cuda-12060",
1441    feature = "cuda-12080",
1442    feature = "cuda-12090",
1443    feature = "cuda-13000"
1444))]
1445#[repr(u32)]
1446#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1447pub enum CUCoredumpGenerationFlags {
1448    CU_COREDUMP_DEFAULT_FLAGS = 0,
1449    CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES = 1,
1450    CU_COREDUMP_SKIP_GLOBAL_MEMORY = 2,
1451    CU_COREDUMP_SKIP_SHARED_MEMORY = 4,
1452    CU_COREDUMP_SKIP_LOCAL_MEMORY = 8,
1453    CU_COREDUMP_SKIP_ABORT = 16,
1454    CU_COREDUMP_SKIP_CONSTBANK_MEMORY = 32,
1455    CU_COREDUMP_LIGHTWEIGHT_FLAGS = 47,
1456}
1457#[repr(u32)]
1458#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1459pub enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum {
1460    CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE = 0,
1461    CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ = 1,
1462    CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = 3,
1463}
1464#[repr(u32)]
1465#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1466pub enum CUGPUDirectRDMAWritesOrdering_enum {
1467    CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE = 0,
1468    CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER = 100,
1469    CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = 200,
1470}
1471#[repr(u32)]
1472#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1473pub enum CUaccessProperty_enum {
1474    CU_ACCESS_PROPERTY_NORMAL = 0,
1475    CU_ACCESS_PROPERTY_STREAMING = 1,
1476    CU_ACCESS_PROPERTY_PERSISTING = 2,
1477}
1478#[repr(u32)]
1479#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1480pub enum CUaddress_mode_enum {
1481    CU_TR_ADDRESS_MODE_WRAP = 0,
1482    CU_TR_ADDRESS_MODE_CLAMP = 1,
1483    CU_TR_ADDRESS_MODE_MIRROR = 2,
1484    CU_TR_ADDRESS_MODE_BORDER = 3,
1485}
1486#[repr(u32)]
1487#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1488pub enum CUarraySparseSubresourceType_enum {
1489    CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL = 0,
1490    CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = 1,
1491}
1492#[repr(u32)]
1493#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1494pub enum CUarray_cubemap_face_enum {
1495    CU_CUBEMAP_FACE_POSITIVE_X = 0,
1496    CU_CUBEMAP_FACE_NEGATIVE_X = 1,
1497    CU_CUBEMAP_FACE_POSITIVE_Y = 2,
1498    CU_CUBEMAP_FACE_NEGATIVE_Y = 3,
1499    CU_CUBEMAP_FACE_POSITIVE_Z = 4,
1500    CU_CUBEMAP_FACE_NEGATIVE_Z = 5,
1501}
1502#[cfg(any(feature = "cuda-11040"))]
1503#[repr(u32)]
1504#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1505pub enum CUarray_format_enum {
1506    CU_AD_FORMAT_UNSIGNED_INT8 = 1,
1507    CU_AD_FORMAT_UNSIGNED_INT16 = 2,
1508    CU_AD_FORMAT_UNSIGNED_INT32 = 3,
1509    CU_AD_FORMAT_SIGNED_INT8 = 8,
1510    CU_AD_FORMAT_SIGNED_INT16 = 9,
1511    CU_AD_FORMAT_SIGNED_INT32 = 10,
1512    CU_AD_FORMAT_HALF = 16,
1513    CU_AD_FORMAT_FLOAT = 32,
1514    CU_AD_FORMAT_NV12 = 176,
1515}
1516#[cfg(any(
1517    feature = "cuda-11050",
1518    feature = "cuda-11060",
1519    feature = "cuda-11070",
1520    feature = "cuda-11080",
1521    feature = "cuda-12000",
1522    feature = "cuda-12010",
1523    feature = "cuda-12020",
1524    feature = "cuda-12030",
1525    feature = "cuda-12040"
1526))]
1527#[repr(u32)]
1528#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1529pub enum CUarray_format_enum {
1530    CU_AD_FORMAT_UNSIGNED_INT8 = 1,
1531    CU_AD_FORMAT_UNSIGNED_INT16 = 2,
1532    CU_AD_FORMAT_UNSIGNED_INT32 = 3,
1533    CU_AD_FORMAT_SIGNED_INT8 = 8,
1534    CU_AD_FORMAT_SIGNED_INT16 = 9,
1535    CU_AD_FORMAT_SIGNED_INT32 = 10,
1536    CU_AD_FORMAT_HALF = 16,
1537    CU_AD_FORMAT_FLOAT = 32,
1538    CU_AD_FORMAT_NV12 = 176,
1539    CU_AD_FORMAT_UNORM_INT8X1 = 192,
1540    CU_AD_FORMAT_UNORM_INT8X2 = 193,
1541    CU_AD_FORMAT_UNORM_INT8X4 = 194,
1542    CU_AD_FORMAT_UNORM_INT16X1 = 195,
1543    CU_AD_FORMAT_UNORM_INT16X2 = 196,
1544    CU_AD_FORMAT_UNORM_INT16X4 = 197,
1545    CU_AD_FORMAT_SNORM_INT8X1 = 198,
1546    CU_AD_FORMAT_SNORM_INT8X2 = 199,
1547    CU_AD_FORMAT_SNORM_INT8X4 = 200,
1548    CU_AD_FORMAT_SNORM_INT16X1 = 201,
1549    CU_AD_FORMAT_SNORM_INT16X2 = 202,
1550    CU_AD_FORMAT_SNORM_INT16X4 = 203,
1551    CU_AD_FORMAT_BC1_UNORM = 145,
1552    CU_AD_FORMAT_BC1_UNORM_SRGB = 146,
1553    CU_AD_FORMAT_BC2_UNORM = 147,
1554    CU_AD_FORMAT_BC2_UNORM_SRGB = 148,
1555    CU_AD_FORMAT_BC3_UNORM = 149,
1556    CU_AD_FORMAT_BC3_UNORM_SRGB = 150,
1557    CU_AD_FORMAT_BC4_UNORM = 151,
1558    CU_AD_FORMAT_BC4_SNORM = 152,
1559    CU_AD_FORMAT_BC5_UNORM = 153,
1560    CU_AD_FORMAT_BC5_SNORM = 154,
1561    CU_AD_FORMAT_BC6H_UF16 = 155,
1562    CU_AD_FORMAT_BC6H_SF16 = 156,
1563    CU_AD_FORMAT_BC7_UNORM = 157,
1564    CU_AD_FORMAT_BC7_UNORM_SRGB = 158,
1565}
1566#[cfg(any(feature = "cuda-12050", feature = "cuda-12060"))]
1567#[repr(u32)]
1568#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1569pub enum CUarray_format_enum {
1570    CU_AD_FORMAT_UNSIGNED_INT8 = 1,
1571    CU_AD_FORMAT_UNSIGNED_INT16 = 2,
1572    CU_AD_FORMAT_UNSIGNED_INT32 = 3,
1573    CU_AD_FORMAT_SIGNED_INT8 = 8,
1574    CU_AD_FORMAT_SIGNED_INT16 = 9,
1575    CU_AD_FORMAT_SIGNED_INT32 = 10,
1576    CU_AD_FORMAT_HALF = 16,
1577    CU_AD_FORMAT_FLOAT = 32,
1578    CU_AD_FORMAT_NV12 = 176,
1579    CU_AD_FORMAT_UNORM_INT8X1 = 192,
1580    CU_AD_FORMAT_UNORM_INT8X2 = 193,
1581    CU_AD_FORMAT_UNORM_INT8X4 = 194,
1582    CU_AD_FORMAT_UNORM_INT16X1 = 195,
1583    CU_AD_FORMAT_UNORM_INT16X2 = 196,
1584    CU_AD_FORMAT_UNORM_INT16X4 = 197,
1585    CU_AD_FORMAT_SNORM_INT8X1 = 198,
1586    CU_AD_FORMAT_SNORM_INT8X2 = 199,
1587    CU_AD_FORMAT_SNORM_INT8X4 = 200,
1588    CU_AD_FORMAT_SNORM_INT16X1 = 201,
1589    CU_AD_FORMAT_SNORM_INT16X2 = 202,
1590    CU_AD_FORMAT_SNORM_INT16X4 = 203,
1591    CU_AD_FORMAT_BC1_UNORM = 145,
1592    CU_AD_FORMAT_BC1_UNORM_SRGB = 146,
1593    CU_AD_FORMAT_BC2_UNORM = 147,
1594    CU_AD_FORMAT_BC2_UNORM_SRGB = 148,
1595    CU_AD_FORMAT_BC3_UNORM = 149,
1596    CU_AD_FORMAT_BC3_UNORM_SRGB = 150,
1597    CU_AD_FORMAT_BC4_UNORM = 151,
1598    CU_AD_FORMAT_BC4_SNORM = 152,
1599    CU_AD_FORMAT_BC5_UNORM = 153,
1600    CU_AD_FORMAT_BC5_SNORM = 154,
1601    CU_AD_FORMAT_BC6H_UF16 = 155,
1602    CU_AD_FORMAT_BC6H_SF16 = 156,
1603    CU_AD_FORMAT_BC7_UNORM = 157,
1604    CU_AD_FORMAT_BC7_UNORM_SRGB = 158,
1605    CU_AD_FORMAT_P010 = 159,
1606    CU_AD_FORMAT_P016 = 161,
1607    CU_AD_FORMAT_NV16 = 162,
1608    CU_AD_FORMAT_P210 = 163,
1609    CU_AD_FORMAT_P216 = 164,
1610    CU_AD_FORMAT_YUY2 = 165,
1611    CU_AD_FORMAT_Y210 = 166,
1612    CU_AD_FORMAT_Y216 = 167,
1613    CU_AD_FORMAT_AYUV = 168,
1614    CU_AD_FORMAT_Y410 = 169,
1615    CU_AD_FORMAT_Y416 = 177,
1616    CU_AD_FORMAT_Y444_PLANAR8 = 178,
1617    CU_AD_FORMAT_Y444_PLANAR10 = 179,
1618    CU_AD_FORMAT_MAX = 2147483647,
1619}
1620#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
1621#[repr(u32)]
1622#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1623pub enum CUarray_format_enum {
1624    CU_AD_FORMAT_UNSIGNED_INT8 = 1,
1625    CU_AD_FORMAT_UNSIGNED_INT16 = 2,
1626    CU_AD_FORMAT_UNSIGNED_INT32 = 3,
1627    CU_AD_FORMAT_SIGNED_INT8 = 8,
1628    CU_AD_FORMAT_SIGNED_INT16 = 9,
1629    CU_AD_FORMAT_SIGNED_INT32 = 10,
1630    CU_AD_FORMAT_HALF = 16,
1631    CU_AD_FORMAT_FLOAT = 32,
1632    CU_AD_FORMAT_NV12 = 176,
1633    CU_AD_FORMAT_UNORM_INT8X1 = 192,
1634    CU_AD_FORMAT_UNORM_INT8X2 = 193,
1635    CU_AD_FORMAT_UNORM_INT8X4 = 194,
1636    CU_AD_FORMAT_UNORM_INT16X1 = 195,
1637    CU_AD_FORMAT_UNORM_INT16X2 = 196,
1638    CU_AD_FORMAT_UNORM_INT16X4 = 197,
1639    CU_AD_FORMAT_SNORM_INT8X1 = 198,
1640    CU_AD_FORMAT_SNORM_INT8X2 = 199,
1641    CU_AD_FORMAT_SNORM_INT8X4 = 200,
1642    CU_AD_FORMAT_SNORM_INT16X1 = 201,
1643    CU_AD_FORMAT_SNORM_INT16X2 = 202,
1644    CU_AD_FORMAT_SNORM_INT16X4 = 203,
1645    CU_AD_FORMAT_BC1_UNORM = 145,
1646    CU_AD_FORMAT_BC1_UNORM_SRGB = 146,
1647    CU_AD_FORMAT_BC2_UNORM = 147,
1648    CU_AD_FORMAT_BC2_UNORM_SRGB = 148,
1649    CU_AD_FORMAT_BC3_UNORM = 149,
1650    CU_AD_FORMAT_BC3_UNORM_SRGB = 150,
1651    CU_AD_FORMAT_BC4_UNORM = 151,
1652    CU_AD_FORMAT_BC4_SNORM = 152,
1653    CU_AD_FORMAT_BC5_UNORM = 153,
1654    CU_AD_FORMAT_BC5_SNORM = 154,
1655    CU_AD_FORMAT_BC6H_UF16 = 155,
1656    CU_AD_FORMAT_BC6H_SF16 = 156,
1657    CU_AD_FORMAT_BC7_UNORM = 157,
1658    CU_AD_FORMAT_BC7_UNORM_SRGB = 158,
1659    CU_AD_FORMAT_P010 = 159,
1660    CU_AD_FORMAT_P016 = 161,
1661    CU_AD_FORMAT_NV16 = 162,
1662    CU_AD_FORMAT_P210 = 163,
1663    CU_AD_FORMAT_P216 = 164,
1664    CU_AD_FORMAT_YUY2 = 165,
1665    CU_AD_FORMAT_Y210 = 166,
1666    CU_AD_FORMAT_Y216 = 167,
1667    CU_AD_FORMAT_AYUV = 168,
1668    CU_AD_FORMAT_Y410 = 169,
1669    CU_AD_FORMAT_Y416 = 177,
1670    CU_AD_FORMAT_Y444_PLANAR8 = 178,
1671    CU_AD_FORMAT_Y444_PLANAR10 = 179,
1672    CU_AD_FORMAT_YUV444_8bit_SemiPlanar = 180,
1673    CU_AD_FORMAT_YUV444_16bit_SemiPlanar = 181,
1674    CU_AD_FORMAT_UNORM_INT_101010_2 = 80,
1675    CU_AD_FORMAT_MAX = 2147483647,
1676}
1677#[cfg(any(
1678    feature = "cuda-12040",
1679    feature = "cuda-12050",
1680    feature = "cuda-12060",
1681    feature = "cuda-12080",
1682    feature = "cuda-12090",
1683    feature = "cuda-13000"
1684))]
1685#[repr(u32)]
1686#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1687pub enum CUasyncNotificationType_enum {
1688    CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET = 1,
1689}
1690#[cfg(any(feature = "cuda-13000"))]
1691#[repr(u32)]
1692#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1693pub enum CUatomicOperationCapability_enum {
1694    CU_ATOMIC_CAPABILITY_SIGNED = 1,
1695    CU_ATOMIC_CAPABILITY_UNSIGNED = 2,
1696    CU_ATOMIC_CAPABILITY_REDUCTION = 4,
1697    CU_ATOMIC_CAPABILITY_SCALAR_32 = 8,
1698    CU_ATOMIC_CAPABILITY_SCALAR_64 = 16,
1699    CU_ATOMIC_CAPABILITY_SCALAR_128 = 32,
1700    CU_ATOMIC_CAPABILITY_VECTOR_32x4 = 64,
1701}
1702#[cfg(any(feature = "cuda-13000"))]
1703#[repr(u32)]
1704#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1705pub enum CUatomicOperation_enum {
1706    CU_ATOMIC_OPERATION_INTEGER_ADD = 0,
1707    CU_ATOMIC_OPERATION_INTEGER_MIN = 1,
1708    CU_ATOMIC_OPERATION_INTEGER_MAX = 2,
1709    CU_ATOMIC_OPERATION_INTEGER_INCREMENT = 3,
1710    CU_ATOMIC_OPERATION_INTEGER_DECREMENT = 4,
1711    CU_ATOMIC_OPERATION_AND = 5,
1712    CU_ATOMIC_OPERATION_OR = 6,
1713    CU_ATOMIC_OPERATION_XOR = 7,
1714    CU_ATOMIC_OPERATION_EXCHANGE = 8,
1715    CU_ATOMIC_OPERATION_CAS = 9,
1716    CU_ATOMIC_OPERATION_FLOAT_ADD = 10,
1717    CU_ATOMIC_OPERATION_FLOAT_MIN = 11,
1718    CU_ATOMIC_OPERATION_FLOAT_MAX = 12,
1719    CU_ATOMIC_OPERATION_MAX = 13,
1720}
1721#[cfg(any(feature = "cuda-12050", feature = "cuda-12060", feature = "cuda-12080"))]
1722#[repr(u32)]
1723#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1724pub enum CUcigDataType_enum {
1725    CIG_DATA_TYPE_D3D12_COMMAND_QUEUE = 1,
1726}
1727#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
1728#[repr(u32)]
1729#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1730pub enum CUcigDataType_enum {
1731    CIG_DATA_TYPE_D3D12_COMMAND_QUEUE = 1,
1732    CIG_DATA_TYPE_NV_BLOB = 2,
1733}
1734#[cfg(any(
1735    feature = "cuda-11080",
1736    feature = "cuda-12000",
1737    feature = "cuda-12010",
1738    feature = "cuda-12020",
1739    feature = "cuda-12030",
1740    feature = "cuda-12040",
1741    feature = "cuda-12050",
1742    feature = "cuda-12060",
1743    feature = "cuda-12080",
1744    feature = "cuda-12090",
1745    feature = "cuda-13000"
1746))]
1747#[repr(u32)]
1748#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1749pub enum CUclusterSchedulingPolicy_enum {
1750    CU_CLUSTER_SCHEDULING_POLICY_DEFAULT = 0,
1751    CU_CLUSTER_SCHEDULING_POLICY_SPREAD = 1,
1752    CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING = 2,
1753}
1754#[repr(u32)]
1755#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1756pub enum CUcomputemode_enum {
1757    CU_COMPUTEMODE_DEFAULT = 0,
1758    CU_COMPUTEMODE_PROHIBITED = 2,
1759    CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3,
1760}
1761#[cfg(any(
1762    feature = "cuda-12010",
1763    feature = "cuda-12020",
1764    feature = "cuda-12030",
1765    feature = "cuda-12040"
1766))]
1767#[repr(u32)]
1768#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1769pub enum CUcoredumpSettings_enum {
1770    CU_COREDUMP_ENABLE_ON_EXCEPTION = 1,
1771    CU_COREDUMP_TRIGGER_HOST = 2,
1772    CU_COREDUMP_LIGHTWEIGHT = 3,
1773    CU_COREDUMP_ENABLE_USER_TRIGGER = 4,
1774    CU_COREDUMP_FILE = 5,
1775    CU_COREDUMP_PIPE = 6,
1776    CU_COREDUMP_MAX = 7,
1777}
1778#[cfg(any(
1779    feature = "cuda-12050",
1780    feature = "cuda-12060",
1781    feature = "cuda-12080",
1782    feature = "cuda-12090",
1783    feature = "cuda-13000"
1784))]
1785#[repr(u32)]
1786#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1787pub enum CUcoredumpSettings_enum {
1788    CU_COREDUMP_ENABLE_ON_EXCEPTION = 1,
1789    CU_COREDUMP_TRIGGER_HOST = 2,
1790    CU_COREDUMP_LIGHTWEIGHT = 3,
1791    CU_COREDUMP_ENABLE_USER_TRIGGER = 4,
1792    CU_COREDUMP_FILE = 5,
1793    CU_COREDUMP_PIPE = 6,
1794    CU_COREDUMP_GENERATION_FLAGS = 7,
1795    CU_COREDUMP_MAX = 8,
1796}
1797#[cfg(any(
1798    feature = "cuda-11040",
1799    feature = "cuda-11050",
1800    feature = "cuda-11060",
1801    feature = "cuda-11070",
1802    feature = "cuda-11080",
1803    feature = "cuda-12000"
1804))]
1805#[repr(u32)]
1806#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1807pub enum CUctx_flags_enum {
1808    CU_CTX_SCHED_AUTO = 0,
1809    CU_CTX_SCHED_SPIN = 1,
1810    CU_CTX_SCHED_YIELD = 2,
1811    CU_CTX_SCHED_BLOCKING_SYNC = 4,
1812    CU_CTX_SCHED_MASK = 7,
1813    CU_CTX_MAP_HOST = 8,
1814    CU_CTX_LMEM_RESIZE_TO_MAX = 16,
1815    CU_CTX_FLAGS_MASK = 31,
1816}
1817#[cfg(any(
1818    feature = "cuda-12010",
1819    feature = "cuda-12020",
1820    feature = "cuda-12030",
1821    feature = "cuda-12040",
1822    feature = "cuda-12050",
1823    feature = "cuda-12060",
1824    feature = "cuda-12080",
1825    feature = "cuda-12090",
1826    feature = "cuda-13000"
1827))]
1828#[repr(u32)]
1829#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1830pub enum CUctx_flags_enum {
1831    CU_CTX_SCHED_AUTO = 0,
1832    CU_CTX_SCHED_SPIN = 1,
1833    CU_CTX_SCHED_YIELD = 2,
1834    CU_CTX_SCHED_BLOCKING_SYNC = 4,
1835    CU_CTX_SCHED_MASK = 7,
1836    CU_CTX_MAP_HOST = 8,
1837    CU_CTX_LMEM_RESIZE_TO_MAX = 16,
1838    CU_CTX_COREDUMP_ENABLE = 32,
1839    CU_CTX_USER_COREDUMP_ENABLE = 64,
1840    CU_CTX_SYNC_MEMOPS = 128,
1841    CU_CTX_FLAGS_MASK = 255,
1842}
1843#[cfg(any(
1844    feature = "cuda-12040",
1845    feature = "cuda-12050",
1846    feature = "cuda-12060",
1847    feature = "cuda-12080",
1848    feature = "cuda-12090",
1849    feature = "cuda-13000"
1850))]
1851#[repr(u32)]
1852#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1853pub enum CUdevResourceType {
1854    CU_DEV_RESOURCE_TYPE_INVALID = 0,
1855    CU_DEV_RESOURCE_TYPE_SM = 1,
1856}
1857#[cfg(any(
1858    feature = "cuda-12050",
1859    feature = "cuda-12060",
1860    feature = "cuda-12080",
1861    feature = "cuda-12090",
1862    feature = "cuda-13000"
1863))]
1864#[repr(u32)]
1865#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1866pub enum CUdevSmResourceSplit_flags {
1867    CU_DEV_SM_RESOURCE_SPLIT_IGNORE_SM_COSCHEDULING = 1,
1868    CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE = 2,
1869}
1870#[cfg(any(
1871    feature = "cuda-12020",
1872    feature = "cuda-12030",
1873    feature = "cuda-12040",
1874    feature = "cuda-12050",
1875    feature = "cuda-12060",
1876    feature = "cuda-12080",
1877    feature = "cuda-12090",
1878    feature = "cuda-13000"
1879))]
1880#[repr(u32)]
1881#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1882pub enum CUdeviceNumaConfig_enum {
1883    CU_DEVICE_NUMA_CONFIG_NONE = 0,
1884    CU_DEVICE_NUMA_CONFIG_NUMA_NODE = 1,
1885}
1886#[cfg(any(
1887    feature = "cuda-11040",
1888    feature = "cuda-11050",
1889    feature = "cuda-11060",
1890    feature = "cuda-11070",
1891    feature = "cuda-11080",
1892    feature = "cuda-12000",
1893    feature = "cuda-12010",
1894    feature = "cuda-12020",
1895    feature = "cuda-12030",
1896    feature = "cuda-12040",
1897    feature = "cuda-12050",
1898    feature = "cuda-12060",
1899    feature = "cuda-12080",
1900    feature = "cuda-12090"
1901))]
1902#[repr(u32)]
1903#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1904pub enum CUdevice_P2PAttribute_enum {
1905    CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 1,
1906    CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 2,
1907    CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3,
1908    CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = 4,
1909}
1910#[cfg(any(feature = "cuda-13000"))]
1911#[repr(u32)]
1912#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1913pub enum CUdevice_P2PAttribute_enum {
1914    CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 1,
1915    CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 2,
1916    CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3,
1917    CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = 4,
1918    CU_DEVICE_P2P_ATTRIBUTE_ONLY_PARTIAL_NATIVE_ATOMIC_SUPPORTED = 5,
1919}
1920#[cfg(any(feature = "cuda-11040", feature = "cuda-11050"))]
1921#[repr(u32)]
1922#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1923pub enum CUdevice_attribute_enum {
1924    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
1925    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
1926    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
1927    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
1928    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
1929    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
1930    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
1931    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
1932    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
1933    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
1934    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
1935    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
1936    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
1937    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
1938    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
1939    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
1940    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
1941    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
1942    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
1943    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
1944    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
1945    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
1946    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
1947    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
1948    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
1949    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
1950    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
1951    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
1952    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
1953    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
1954    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
1955    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
1956    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
1957    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
1958    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
1959    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
1960    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
1961    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
1962    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
1963    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
1964    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
1965    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
1966    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
1967    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
1968    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
1969    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
1970    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
1971    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
1972    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
1973    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
1974    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
1975    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
1976    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
1977    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
1978    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
1979    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
1980    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
1981    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
1982    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
1983    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
1984    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
1985    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
1986    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
1987    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
1988    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
1989    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
1990    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
1991    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
1992    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
1993    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
1994    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
1995    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
1996    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
1997    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
1998    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
1999    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
2000    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
2001    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
2002    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
2003    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
2004    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
2005    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
2006    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
2007    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
2008    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
2009    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
2010    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
2011    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
2012    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
2013    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
2014    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
2015    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS = 92,
2016    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 93,
2017    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 94,
2018    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
2019    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
2020    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
2021    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
2022    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
2023    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
2024    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
2025    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
2026    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
2027    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
2028    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
2029    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
2030    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
2031    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
2032    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
2033    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
2034    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
2035    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
2036    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
2037    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
2038    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
2039    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
2040    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
2041    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
2042    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
2043    CU_DEVICE_ATTRIBUTE_MAX = 120,
2044}
2045#[cfg(any(feature = "cuda-11060"))]
2046#[repr(u32)]
2047#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2048pub enum CUdevice_attribute_enum {
2049    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
2050    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
2051    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
2052    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
2053    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
2054    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
2055    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
2056    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
2057    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
2058    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
2059    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
2060    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
2061    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
2062    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
2063    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
2064    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
2065    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
2066    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
2067    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
2068    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
2069    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
2070    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
2071    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
2072    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
2073    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
2074    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
2075    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
2076    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
2077    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
2078    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
2079    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
2080    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
2081    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
2082    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
2083    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
2084    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
2085    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
2086    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
2087    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
2088    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
2089    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
2090    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
2091    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
2092    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
2093    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
2094    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
2095    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
2096    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
2097    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
2098    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
2099    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
2100    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
2101    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
2102    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
2103    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
2104    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
2105    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
2106    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
2107    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
2108    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
2109    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
2110    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
2111    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
2112    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
2113    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
2114    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
2115    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
2116    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
2117    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
2118    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
2119    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
2120    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
2121    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
2122    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
2123    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
2124    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
2125    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
2126    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
2127    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
2128    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
2129    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
2130    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
2131    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
2132    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
2133    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
2134    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
2135    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
2136    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
2137    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
2138    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
2139    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
2140    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS = 92,
2141    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 93,
2142    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 94,
2143    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
2144    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
2145    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
2146    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
2147    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
2148    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
2149    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
2150    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
2151    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
2152    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
2153    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
2154    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
2155    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
2156    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
2157    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
2158    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
2159    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
2160    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
2161    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
2162    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
2163    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
2164    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
2165    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
2166    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
2167    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
2168    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
2169    CU_DEVICE_ATTRIBUTE_MAX = 122,
2170}
2171#[cfg(any(feature = "cuda-11070"))]
2172#[repr(u32)]
2173#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2174pub enum CUdevice_attribute_enum {
2175    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
2176    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
2177    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
2178    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
2179    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
2180    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
2181    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
2182    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
2183    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
2184    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
2185    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
2186    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
2187    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
2188    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
2189    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
2190    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
2191    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
2192    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
2193    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
2194    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
2195    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
2196    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
2197    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
2198    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
2199    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
2200    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
2201    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
2202    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
2203    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
2204    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
2205    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
2206    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
2207    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
2208    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
2209    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
2210    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
2211    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
2212    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
2213    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
2214    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
2215    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
2216    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
2217    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
2218    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
2219    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
2220    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
2221    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
2222    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
2223    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
2224    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
2225    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
2226    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
2227    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
2228    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
2229    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
2230    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
2231    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
2232    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
2233    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
2234    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
2235    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
2236    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
2237    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
2238    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
2239    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
2240    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
2241    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
2242    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
2243    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
2244    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
2245    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
2246    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
2247    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
2248    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
2249    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
2250    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
2251    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
2252    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
2253    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
2254    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
2255    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
2256    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
2257    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
2258    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
2259    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
2260    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
2261    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
2262    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
2263    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
2264    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
2265    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
2266    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS = 92,
2267    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 93,
2268    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 94,
2269    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
2270    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
2271    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
2272    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
2273    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
2274    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
2275    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
2276    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
2277    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
2278    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
2279    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
2280    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
2281    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
2282    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
2283    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
2284    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
2285    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
2286    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
2287    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
2288    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
2289    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
2290    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
2291    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
2292    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
2293    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
2294    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
2295    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V2 = 122,
2296    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V2 = 123,
2297    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
2298    CU_DEVICE_ATTRIBUTE_MAX = 125,
2299}
2300#[cfg(any(feature = "cuda-11080"))]
2301#[repr(u32)]
2302#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2303pub enum CUdevice_attribute_enum {
2304    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
2305    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
2306    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
2307    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
2308    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
2309    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
2310    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
2311    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
2312    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
2313    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
2314    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
2315    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
2316    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
2317    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
2318    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
2319    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
2320    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
2321    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
2322    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
2323    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
2324    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
2325    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
2326    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
2327    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
2328    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
2329    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
2330    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
2331    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
2332    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
2333    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
2334    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
2335    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
2336    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
2337    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
2338    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
2339    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
2340    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
2341    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
2342    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
2343    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
2344    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
2345    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
2346    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
2347    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
2348    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
2349    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
2350    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
2351    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
2352    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
2353    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
2354    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
2355    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
2356    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
2357    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
2358    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
2359    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
2360    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
2361    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
2362    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
2363    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
2364    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
2365    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
2366    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
2367    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
2368    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
2369    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
2370    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
2371    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
2372    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
2373    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
2374    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
2375    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
2376    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
2377    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
2378    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
2379    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
2380    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
2381    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
2382    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
2383    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
2384    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
2385    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
2386    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
2387    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
2388    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
2389    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
2390    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
2391    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
2392    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
2393    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
2394    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
2395    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS = 92,
2396    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 93,
2397    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 94,
2398    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
2399    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
2400    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
2401    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
2402    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
2403    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
2404    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
2405    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
2406    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
2407    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
2408    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
2409    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
2410    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
2411    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
2412    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
2413    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
2414    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
2415    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
2416    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
2417    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
2418    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
2419    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
2420    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
2421    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
2422    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
2423    CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120,
2424    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
2425    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V2 = 122,
2426    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V2 = 123,
2427    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
2428    CU_DEVICE_ATTRIBUTE_MAX = 125,
2429}
2430#[cfg(any(feature = "cuda-12000"))]
2431#[repr(u32)]
2432#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2433pub enum CUdevice_attribute_enum {
2434    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
2435    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
2436    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
2437    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
2438    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
2439    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
2440    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
2441    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
2442    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
2443    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
2444    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
2445    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
2446    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
2447    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
2448    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
2449    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
2450    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
2451    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
2452    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
2453    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
2454    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
2455    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
2456    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
2457    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
2458    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
2459    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
2460    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
2461    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
2462    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
2463    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
2464    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
2465    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
2466    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
2467    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
2468    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
2469    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
2470    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
2471    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
2472    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
2473    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
2474    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
2475    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
2476    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
2477    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
2478    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
2479    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
2480    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
2481    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
2482    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
2483    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
2484    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
2485    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
2486    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
2487    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
2488    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
2489    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
2490    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
2491    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
2492    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
2493    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
2494    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
2495    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
2496    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
2497    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
2498    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
2499    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
2500    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
2501    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
2502    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
2503    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
2504    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
2505    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
2506    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
2507    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
2508    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
2509    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
2510    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
2511    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
2512    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
2513    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
2514    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
2515    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
2516    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
2517    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
2518    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
2519    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
2520    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
2521    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
2522    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
2523    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
2524    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
2525    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92,
2526    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93,
2527    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94,
2528    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
2529    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
2530    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
2531    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
2532    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
2533    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
2534    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
2535    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
2536    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
2537    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
2538    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
2539    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
2540    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
2541    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
2542    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
2543    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
2544    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
2545    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
2546    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
2547    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
2548    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
2549    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
2550    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
2551    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
2552    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
2553    CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120,
2554    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
2555    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122,
2556    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123,
2557    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
2558    CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125,
2559    CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126,
2560    CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127,
2561    CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129,
2562    CU_DEVICE_ATTRIBUTE_MAX = 130,
2563}
2564#[cfg(any(feature = "cuda-12010"))]
2565#[repr(u32)]
2566#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2567pub enum CUdevice_attribute_enum {
2568    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
2569    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
2570    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
2571    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
2572    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
2573    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
2574    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
2575    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
2576    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
2577    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
2578    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
2579    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
2580    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
2581    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
2582    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
2583    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
2584    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
2585    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
2586    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
2587    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
2588    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
2589    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
2590    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
2591    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
2592    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
2593    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
2594    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
2595    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
2596    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
2597    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
2598    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
2599    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
2600    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
2601    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
2602    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
2603    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
2604    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
2605    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
2606    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
2607    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
2608    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
2609    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
2610    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
2611    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
2612    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
2613    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
2614    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
2615    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
2616    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
2617    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
2618    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
2619    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
2620    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
2621    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
2622    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
2623    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
2624    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
2625    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
2626    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
2627    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
2628    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
2629    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
2630    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
2631    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
2632    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
2633    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
2634    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
2635    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
2636    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
2637    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
2638    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
2639    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
2640    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
2641    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
2642    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
2643    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
2644    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
2645    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
2646    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
2647    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
2648    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
2649    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
2650    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
2651    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
2652    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
2653    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
2654    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
2655    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
2656    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
2657    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
2658    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
2659    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92,
2660    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93,
2661    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94,
2662    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
2663    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
2664    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
2665    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
2666    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
2667    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
2668    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
2669    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
2670    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
2671    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
2672    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
2673    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
2674    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
2675    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
2676    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
2677    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
2678    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
2679    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
2680    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
2681    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
2682    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
2683    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
2684    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
2685    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
2686    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
2687    CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120,
2688    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
2689    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122,
2690    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123,
2691    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
2692    CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125,
2693    CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126,
2694    CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127,
2695    CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129,
2696    CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = 132,
2697    CU_DEVICE_ATTRIBUTE_MAX = 133,
2698}
2699#[cfg(any(feature = "cuda-12020"))]
2700#[repr(u32)]
2701#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2702pub enum CUdevice_attribute_enum {
2703    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
2704    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
2705    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
2706    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
2707    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
2708    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
2709    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
2710    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
2711    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
2712    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
2713    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
2714    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
2715    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
2716    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
2717    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
2718    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
2719    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
2720    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
2721    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
2722    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
2723    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
2724    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
2725    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
2726    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
2727    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
2728    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
2729    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
2730    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
2731    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
2732    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
2733    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
2734    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
2735    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
2736    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
2737    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
2738    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
2739    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
2740    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
2741    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
2742    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
2743    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
2744    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
2745    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
2746    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
2747    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
2748    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
2749    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
2750    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
2751    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
2752    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
2753    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
2754    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
2755    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
2756    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
2757    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
2758    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
2759    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
2760    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
2761    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
2762    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
2763    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
2764    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
2765    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
2766    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
2767    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
2768    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
2769    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
2770    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
2771    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
2772    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
2773    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
2774    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
2775    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
2776    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
2777    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
2778    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
2779    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
2780    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
2781    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
2782    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
2783    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
2784    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
2785    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
2786    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
2787    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
2788    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
2789    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
2790    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
2791    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
2792    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
2793    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
2794    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92,
2795    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93,
2796    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94,
2797    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
2798    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
2799    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
2800    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
2801    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
2802    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
2803    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
2804    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
2805    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
2806    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
2807    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
2808    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
2809    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
2810    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
2811    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
2812    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
2813    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
2814    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
2815    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
2816    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
2817    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
2818    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
2819    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
2820    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
2821    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
2822    CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120,
2823    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
2824    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122,
2825    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123,
2826    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
2827    CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125,
2828    CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126,
2829    CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127,
2830    CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129,
2831    CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = 130,
2832    CU_DEVICE_ATTRIBUTE_NUMA_ID = 131,
2833    CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = 132,
2834    CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = 134,
2835    CU_DEVICE_ATTRIBUTE_MAX = 135,
2836}
2837#[cfg(any(feature = "cuda-12030", feature = "cuda-12040"))]
2838#[repr(u32)]
2839#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2840pub enum CUdevice_attribute_enum {
2841    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
2842    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
2843    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
2844    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
2845    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
2846    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
2847    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
2848    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
2849    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
2850    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
2851    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
2852    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
2853    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
2854    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
2855    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
2856    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
2857    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
2858    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
2859    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
2860    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
2861    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
2862    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
2863    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
2864    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
2865    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
2866    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
2867    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
2868    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
2869    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
2870    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
2871    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
2872    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
2873    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
2874    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
2875    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
2876    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
2877    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
2878    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
2879    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
2880    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
2881    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
2882    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
2883    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
2884    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
2885    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
2886    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
2887    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
2888    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
2889    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
2890    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
2891    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
2892    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
2893    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
2894    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
2895    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
2896    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
2897    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
2898    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
2899    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
2900    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
2901    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
2902    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
2903    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
2904    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
2905    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
2906    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
2907    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
2908    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
2909    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
2910    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
2911    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
2912    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
2913    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
2914    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
2915    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
2916    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
2917    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
2918    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
2919    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
2920    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
2921    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
2922    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
2923    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
2924    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
2925    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
2926    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
2927    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
2928    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
2929    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
2930    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
2931    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
2932    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92,
2933    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93,
2934    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94,
2935    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
2936    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
2937    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
2938    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
2939    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
2940    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
2941    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
2942    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
2943    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
2944    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
2945    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
2946    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
2947    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
2948    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
2949    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
2950    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
2951    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
2952    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
2953    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
2954    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
2955    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
2956    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
2957    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
2958    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
2959    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
2960    CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120,
2961    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
2962    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122,
2963    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123,
2964    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
2965    CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125,
2966    CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126,
2967    CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127,
2968    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED = 128,
2969    CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129,
2970    CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = 130,
2971    CU_DEVICE_ATTRIBUTE_NUMA_ID = 131,
2972    CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = 132,
2973    CU_DEVICE_ATTRIBUTE_MPS_ENABLED = 133,
2974    CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = 134,
2975    CU_DEVICE_ATTRIBUTE_MAX = 135,
2976}
2977#[cfg(any(feature = "cuda-12050", feature = "cuda-12060"))]
2978#[repr(u32)]
2979#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
2980pub enum CUdevice_attribute_enum {
2981    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
2982    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
2983    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
2984    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
2985    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
2986    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
2987    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
2988    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
2989    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
2990    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
2991    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
2992    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
2993    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
2994    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
2995    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
2996    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
2997    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
2998    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
2999    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
3000    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
3001    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
3002    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
3003    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
3004    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
3005    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
3006    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
3007    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
3008    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
3009    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
3010    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
3011    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
3012    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
3013    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
3014    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
3015    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
3016    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
3017    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
3018    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
3019    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
3020    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
3021    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
3022    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
3023    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
3024    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
3025    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
3026    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
3027    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
3028    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
3029    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
3030    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
3031    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
3032    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
3033    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
3034    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
3035    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
3036    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
3037    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
3038    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
3039    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
3040    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
3041    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
3042    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
3043    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
3044    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
3045    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
3046    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
3047    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
3048    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
3049    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
3050    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
3051    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
3052    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
3053    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
3054    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
3055    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
3056    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
3057    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
3058    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
3059    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
3060    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
3061    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
3062    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
3063    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
3064    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
3065    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
3066    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
3067    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
3068    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
3069    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
3070    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
3071    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
3072    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92,
3073    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93,
3074    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94,
3075    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
3076    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
3077    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
3078    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
3079    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
3080    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
3081    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
3082    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
3083    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
3084    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
3085    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
3086    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
3087    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
3088    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
3089    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
3090    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
3091    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
3092    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
3093    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
3094    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
3095    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
3096    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
3097    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
3098    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
3099    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
3100    CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120,
3101    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
3102    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122,
3103    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123,
3104    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
3105    CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125,
3106    CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126,
3107    CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127,
3108    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED = 128,
3109    CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129,
3110    CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = 130,
3111    CU_DEVICE_ATTRIBUTE_NUMA_ID = 131,
3112    CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = 132,
3113    CU_DEVICE_ATTRIBUTE_MPS_ENABLED = 133,
3114    CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = 134,
3115    CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED = 135,
3116    CU_DEVICE_ATTRIBUTE_MAX = 136,
3117}
3118#[cfg(any(feature = "cuda-12080"))]
3119#[repr(u32)]
3120#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3121pub enum CUdevice_attribute_enum {
3122    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
3123    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
3124    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
3125    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
3126    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
3127    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
3128    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
3129    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
3130    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
3131    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
3132    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
3133    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
3134    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
3135    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
3136    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
3137    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
3138    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
3139    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
3140    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
3141    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
3142    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
3143    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
3144    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
3145    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
3146    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
3147    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
3148    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
3149    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
3150    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
3151    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
3152    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
3153    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
3154    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
3155    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
3156    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
3157    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
3158    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
3159    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
3160    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
3161    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
3162    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
3163    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
3164    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
3165    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
3166    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
3167    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
3168    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
3169    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
3170    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
3171    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
3172    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
3173    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
3174    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
3175    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
3176    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
3177    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
3178    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
3179    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
3180    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
3181    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
3182    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
3183    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
3184    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
3185    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
3186    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
3187    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
3188    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
3189    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
3190    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
3191    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
3192    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
3193    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
3194    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
3195    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
3196    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
3197    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
3198    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
3199    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
3200    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
3201    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
3202    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
3203    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
3204    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
3205    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
3206    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
3207    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
3208    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
3209    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
3210    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
3211    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
3212    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
3213    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92,
3214    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93,
3215    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94,
3216    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
3217    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
3218    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
3219    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
3220    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
3221    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
3222    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
3223    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
3224    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
3225    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
3226    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
3227    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
3228    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
3229    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
3230    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
3231    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
3232    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
3233    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
3234    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
3235    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
3236    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
3237    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
3238    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
3239    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
3240    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
3241    CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120,
3242    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
3243    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122,
3244    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123,
3245    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
3246    CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125,
3247    CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126,
3248    CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127,
3249    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED = 128,
3250    CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129,
3251    CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = 130,
3252    CU_DEVICE_ATTRIBUTE_NUMA_ID = 131,
3253    CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = 132,
3254    CU_DEVICE_ATTRIBUTE_MPS_ENABLED = 133,
3255    CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = 134,
3256    CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED = 135,
3257    CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK = 136,
3258    CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH = 137,
3259    CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID = 139,
3260    CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID = 140,
3261    CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED = 143,
3262    CU_DEVICE_ATTRIBUTE_MAX = 144,
3263}
3264#[cfg(any(feature = "cuda-12090"))]
3265#[repr(u32)]
3266#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3267pub enum CUdevice_attribute_enum {
3268    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
3269    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
3270    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
3271    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
3272    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
3273    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
3274    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
3275    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
3276    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
3277    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
3278    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
3279    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
3280    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
3281    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
3282    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
3283    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
3284    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
3285    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
3286    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
3287    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
3288    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
3289    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
3290    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
3291    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
3292    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
3293    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
3294    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
3295    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
3296    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
3297    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
3298    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
3299    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
3300    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
3301    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
3302    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
3303    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
3304    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
3305    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
3306    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
3307    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
3308    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
3309    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
3310    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
3311    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
3312    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
3313    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
3314    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
3315    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
3316    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
3317    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
3318    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
3319    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
3320    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
3321    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
3322    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
3323    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
3324    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
3325    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
3326    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
3327    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
3328    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
3329    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
3330    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
3331    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
3332    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
3333    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
3334    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
3335    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
3336    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
3337    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
3338    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
3339    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
3340    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
3341    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
3342    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
3343    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
3344    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
3345    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
3346    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
3347    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
3348    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
3349    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
3350    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
3351    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
3352    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
3353    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
3354    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
3355    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
3356    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
3357    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
3358    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
3359    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92,
3360    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93,
3361    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94,
3362    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
3363    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
3364    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
3365    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
3366    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
3367    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
3368    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
3369    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
3370    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
3371    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
3372    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
3373    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
3374    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
3375    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
3376    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
3377    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
3378    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
3379    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
3380    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
3381    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
3382    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
3383    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
3384    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
3385    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
3386    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
3387    CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120,
3388    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
3389    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122,
3390    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123,
3391    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
3392    CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125,
3393    CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126,
3394    CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127,
3395    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED = 128,
3396    CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129,
3397    CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = 130,
3398    CU_DEVICE_ATTRIBUTE_NUMA_ID = 131,
3399    CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = 132,
3400    CU_DEVICE_ATTRIBUTE_MPS_ENABLED = 133,
3401    CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = 134,
3402    CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED = 135,
3403    CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK = 136,
3404    CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH = 137,
3405    CU_DEVICE_ATTRIBUTE_VULKAN_CIG_SUPPORTED = 138,
3406    CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID = 139,
3407    CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID = 140,
3408    CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 141,
3409    CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED = 142,
3410    CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED = 143,
3411    CU_DEVICE_ATTRIBUTE_MAX = 144,
3412}
3413#[cfg(any(feature = "cuda-13000"))]
3414#[repr(u32)]
3415#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3416pub enum CUdevice_attribute_enum {
3417    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
3418    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
3419    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
3420    CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
3421    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
3422    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
3423    CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
3424    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
3425    CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
3426    CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
3427    CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
3428    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
3429    CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
3430    CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
3431    CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
3432    CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
3433    CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
3434    CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
3435    CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
3436    CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
3437    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
3438    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
3439    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
3440    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
3441    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
3442    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
3443    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
3444    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
3445    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
3446    CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
3447    CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
3448    CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
3449    CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
3450    CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
3451    CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
3452    CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
3453    CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
3454    CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
3455    CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
3456    CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
3457    CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
3458    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
3459    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
3460    CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
3461    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
3462    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
3463    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
3464    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
3465    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
3466    CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
3467    CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
3468    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
3469    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
3470    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
3471    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
3472    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
3473    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
3474    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
3475    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
3476    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
3477    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
3478    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
3479    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
3480    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
3481    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
3482    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
3483    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
3484    CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
3485    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
3486    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
3487    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
3488    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
3489    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
3490    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
3491    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
3492    CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
3493    CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
3494    CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
3495    CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
3496    CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
3497    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
3498    CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
3499    CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
3500    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
3501    CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
3502    CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
3503    CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
3504    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
3505    CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
3506    CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
3507    CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
3508    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = 92,
3509    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = 93,
3510    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = 94,
3511    CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
3512    CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
3513    CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
3514    CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
3515    CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
3516    CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100,
3517    CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101,
3518    CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102,
3519    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103,
3520    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104,
3521    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105,
3522    CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106,
3523    CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107,
3524    CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108,
3525    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109,
3526    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110,
3527    CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111,
3528    CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112,
3529    CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113,
3530    CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114,
3531    CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115,
3532    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116,
3533    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117,
3534    CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118,
3535    CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119,
3536    CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = 120,
3537    CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = 121,
3538    CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 122,
3539    CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 123,
3540    CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = 124,
3541    CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = 125,
3542    CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = 126,
3543    CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = 127,
3544    CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED = 128,
3545    CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = 129,
3546    CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = 130,
3547    CU_DEVICE_ATTRIBUTE_NUMA_ID = 131,
3548    CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = 132,
3549    CU_DEVICE_ATTRIBUTE_MPS_ENABLED = 133,
3550    CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = 134,
3551    CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED = 135,
3552    CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK = 136,
3553    CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH = 137,
3554    CU_DEVICE_ATTRIBUTE_VULKAN_CIG_SUPPORTED = 138,
3555    CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID = 139,
3556    CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID = 140,
3557    CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 141,
3558    CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED = 142,
3559    CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED = 143,
3560    CU_DEVICE_ATTRIBUTE_HOST_MEMORY_POOLS_SUPPORTED = 144,
3561    CU_DEVICE_ATTRIBUTE_HOST_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 145,
3562    CU_DEVICE_ATTRIBUTE_HOST_ALLOC_DMA_BUF_SUPPORTED = 146,
3563    CU_DEVICE_ATTRIBUTE_ONLY_PARTIAL_HOST_NATIVE_ATOMIC_SUPPORTED = 147,
3564    CU_DEVICE_ATTRIBUTE_MAX = 148,
3565}
3566#[cfg(any(
3567    feature = "cuda-12000",
3568    feature = "cuda-12010",
3569    feature = "cuda-12020",
3570    feature = "cuda-12030",
3571    feature = "cuda-12040",
3572    feature = "cuda-12050",
3573    feature = "cuda-12060",
3574    feature = "cuda-12080",
3575    feature = "cuda-12090",
3576    feature = "cuda-13000"
3577))]
3578#[repr(u32)]
3579#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3580pub enum CUdriverProcAddressQueryResult_enum {
3581    CU_GET_PROC_ADDRESS_SUCCESS = 0,
3582    CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND = 1,
3583    CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = 2,
3584}
3585#[repr(u32)]
3586#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3587pub enum CUdriverProcAddress_flags_enum {
3588    CU_GET_PROC_ADDRESS_DEFAULT = 0,
3589    CU_GET_PROC_ADDRESS_LEGACY_STREAM = 1,
3590    CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = 2,
3591}
3592#[repr(u32)]
3593#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3594pub enum CUevent_flags_enum {
3595    CU_EVENT_DEFAULT = 0,
3596    CU_EVENT_BLOCKING_SYNC = 1,
3597    CU_EVENT_DISABLE_TIMING = 2,
3598    CU_EVENT_INTERPROCESS = 4,
3599}
3600#[repr(u32)]
3601#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3602pub enum CUevent_record_flags_enum {
3603    CU_EVENT_RECORD_DEFAULT = 0,
3604    CU_EVENT_RECORD_EXTERNAL = 1,
3605}
3606#[cfg(any(
3607    feature = "cuda-11080",
3608    feature = "cuda-12000",
3609    feature = "cuda-12010",
3610    feature = "cuda-12020",
3611    feature = "cuda-12030",
3612    feature = "cuda-12040",
3613    feature = "cuda-12050",
3614    feature = "cuda-12060",
3615    feature = "cuda-12080",
3616    feature = "cuda-12090",
3617    feature = "cuda-13000"
3618))]
3619#[repr(u32)]
3620#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3621pub enum CUevent_sched_flags_enum {
3622    CU_EVENT_SCHED_AUTO = 0,
3623    CU_EVENT_SCHED_SPIN = 1,
3624    CU_EVENT_SCHED_YIELD = 2,
3625    CU_EVENT_SCHED_BLOCKING_SYNC = 4,
3626}
3627#[repr(u32)]
3628#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3629pub enum CUevent_wait_flags_enum {
3630    CU_EVENT_WAIT_DEFAULT = 0,
3631    CU_EVENT_WAIT_EXTERNAL = 1,
3632}
3633#[repr(u32)]
3634#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3635pub enum CUexecAffinityType_enum {
3636    CU_EXEC_AFFINITY_TYPE_SM_COUNT = 0,
3637    CU_EXEC_AFFINITY_TYPE_MAX = 1,
3638}
3639#[cfg(any(
3640    feature = "cuda-11040",
3641    feature = "cuda-11050",
3642    feature = "cuda-11060",
3643    feature = "cuda-11070",
3644    feature = "cuda-11080",
3645    feature = "cuda-12000",
3646    feature = "cuda-12010",
3647    feature = "cuda-12020",
3648    feature = "cuda-12030",
3649    feature = "cuda-12040",
3650    feature = "cuda-12050",
3651    feature = "cuda-12060",
3652    feature = "cuda-12080",
3653    feature = "cuda-12090"
3654))]
3655#[repr(u32)]
3656#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3657pub enum CUexternalMemoryHandleType_enum {
3658    CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD = 1,
3659    CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 = 2,
3660    CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT = 3,
3661    CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP = 4,
3662    CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE = 5,
3663    CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE = 6,
3664    CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT = 7,
3665    CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = 8,
3666}
3667#[cfg(any(feature = "cuda-13000"))]
3668#[repr(u32)]
3669#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3670pub enum CUexternalMemoryHandleType_enum {
3671    CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD = 1,
3672    CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 = 2,
3673    CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT = 3,
3674    CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP = 4,
3675    CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE = 5,
3676    CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE = 6,
3677    CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT = 7,
3678    CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = 8,
3679    CU_EXTERNAL_MEMORY_HANDLE_TYPE_DMABUF_FD = 9,
3680}
3681#[repr(u32)]
3682#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3683pub enum CUexternalSemaphoreHandleType_enum {
3684    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD = 1,
3685    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32 = 2,
3686    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT = 3,
3687    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE = 4,
3688    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE = 5,
3689    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC = 6,
3690    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX = 7,
3691    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT = 8,
3692    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD = 9,
3693    CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = 10,
3694}
3695#[repr(u32)]
3696#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3697pub enum CUfilter_mode_enum {
3698    CU_TR_FILTER_MODE_POINT = 0,
3699    CU_TR_FILTER_MODE_LINEAR = 1,
3700}
3701#[repr(u32)]
3702#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3703pub enum CUflushGPUDirectRDMAWritesOptions_enum {
3704    CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = 1,
3705    CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = 2,
3706}
3707#[repr(u32)]
3708#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3709pub enum CUflushGPUDirectRDMAWritesScope_enum {
3710    CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER = 100,
3711    CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = 200,
3712}
3713#[repr(u32)]
3714#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3715pub enum CUflushGPUDirectRDMAWritesTarget_enum {
3716    CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = 0,
3717}
3718#[repr(u32)]
3719#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3720pub enum CUfunc_cache_enum {
3721    CU_FUNC_CACHE_PREFER_NONE = 0,
3722    CU_FUNC_CACHE_PREFER_SHARED = 1,
3723    CU_FUNC_CACHE_PREFER_L1 = 2,
3724    CU_FUNC_CACHE_PREFER_EQUAL = 3,
3725}
3726#[cfg(any(
3727    feature = "cuda-12040",
3728    feature = "cuda-12050",
3729    feature = "cuda-12060",
3730    feature = "cuda-12080",
3731    feature = "cuda-12090",
3732    feature = "cuda-13000"
3733))]
3734#[repr(u32)]
3735#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3736pub enum CUfunctionLoadingState_enum {
3737    CU_FUNCTION_LOADING_STATE_UNLOADED = 0,
3738    CU_FUNCTION_LOADING_STATE_LOADED = 1,
3739    CU_FUNCTION_LOADING_STATE_MAX = 2,
3740}
3741#[cfg(any(
3742    feature = "cuda-11040",
3743    feature = "cuda-11050",
3744    feature = "cuda-11060",
3745    feature = "cuda-11070"
3746))]
3747#[repr(u32)]
3748#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3749pub enum CUfunction_attribute_enum {
3750    CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0,
3751    CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1,
3752    CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2,
3753    CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3,
3754    CU_FUNC_ATTRIBUTE_NUM_REGS = 4,
3755    CU_FUNC_ATTRIBUTE_PTX_VERSION = 5,
3756    CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6,
3757    CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7,
3758    CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = 8,
3759    CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 9,
3760    CU_FUNC_ATTRIBUTE_MAX = 10,
3761}
3762#[cfg(any(
3763    feature = "cuda-11080",
3764    feature = "cuda-12000",
3765    feature = "cuda-12010",
3766    feature = "cuda-12020",
3767    feature = "cuda-12030",
3768    feature = "cuda-12040",
3769    feature = "cuda-12050",
3770    feature = "cuda-12060",
3771    feature = "cuda-12080",
3772    feature = "cuda-12090",
3773    feature = "cuda-13000"
3774))]
3775#[repr(u32)]
3776#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3777pub enum CUfunction_attribute_enum {
3778    CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0,
3779    CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1,
3780    CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2,
3781    CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3,
3782    CU_FUNC_ATTRIBUTE_NUM_REGS = 4,
3783    CU_FUNC_ATTRIBUTE_PTX_VERSION = 5,
3784    CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6,
3785    CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7,
3786    CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = 8,
3787    CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 9,
3788    CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET = 10,
3789    CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH = 11,
3790    CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT = 12,
3791    CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH = 13,
3792    CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED = 14,
3793    CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 15,
3794    CU_FUNC_ATTRIBUTE_MAX = 16,
3795}
3796#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
3797#[repr(u32)]
3798#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3799pub enum CUgraphChildGraphNodeOwnership_enum {
3800    CU_GRAPH_CHILD_GRAPH_OWNERSHIP_CLONE = 0,
3801    CU_GRAPH_CHILD_GRAPH_OWNERSHIP_MOVE = 1,
3802}
3803#[cfg(any(
3804    feature = "cuda-12030",
3805    feature = "cuda-12040",
3806    feature = "cuda-12050",
3807    feature = "cuda-12060"
3808))]
3809#[repr(u32)]
3810#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3811pub enum CUgraphConditionalNodeType_enum {
3812    CU_GRAPH_COND_TYPE_IF = 0,
3813    CU_GRAPH_COND_TYPE_WHILE = 1,
3814}
3815#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
3816#[repr(u32)]
3817#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3818pub enum CUgraphConditionalNodeType_enum {
3819    CU_GRAPH_COND_TYPE_IF = 0,
3820    CU_GRAPH_COND_TYPE_WHILE = 1,
3821    CU_GRAPH_COND_TYPE_SWITCH = 2,
3822}
3823#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
3824#[repr(u32)]
3825#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3826pub enum CUgraphDebugDot_flags_enum {
3827    CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = 1,
3828    CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = 2,
3829    CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = 4,
3830    CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = 8,
3831    CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = 16,
3832    CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = 32,
3833    CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = 64,
3834    CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = 128,
3835    CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = 256,
3836    CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = 512,
3837    CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = 1024,
3838    CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = 2048,
3839    CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = 4096,
3840}
3841#[cfg(any(feature = "cuda-11070", feature = "cuda-11080"))]
3842#[repr(u32)]
3843#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3844pub enum CUgraphDebugDot_flags_enum {
3845    CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = 1,
3846    CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = 2,
3847    CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = 4,
3848    CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = 8,
3849    CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = 16,
3850    CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = 32,
3851    CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = 64,
3852    CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = 128,
3853    CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = 256,
3854    CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = 512,
3855    CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = 1024,
3856    CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = 2048,
3857    CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = 4096,
3858    CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS = 8192,
3859}
3860#[cfg(any(feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020"))]
3861#[repr(u32)]
3862#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3863pub enum CUgraphDebugDot_flags_enum {
3864    CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = 1,
3865    CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = 2,
3866    CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = 4,
3867    CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = 8,
3868    CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = 16,
3869    CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = 32,
3870    CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = 64,
3871    CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = 128,
3872    CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = 256,
3873    CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = 512,
3874    CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = 1024,
3875    CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = 2048,
3876    CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = 4096,
3877    CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS = 8192,
3878    CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO = 16384,
3879}
3880#[cfg(any(
3881    feature = "cuda-12030",
3882    feature = "cuda-12040",
3883    feature = "cuda-12050",
3884    feature = "cuda-12060",
3885    feature = "cuda-12080",
3886    feature = "cuda-12090",
3887    feature = "cuda-13000"
3888))]
3889#[repr(u32)]
3890#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3891pub enum CUgraphDebugDot_flags_enum {
3892    CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = 1,
3893    CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = 2,
3894    CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = 4,
3895    CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = 8,
3896    CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = 16,
3897    CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = 32,
3898    CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = 64,
3899    CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = 128,
3900    CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = 256,
3901    CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = 512,
3902    CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = 1024,
3903    CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = 2048,
3904    CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = 4096,
3905    CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS = 8192,
3906    CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO = 16384,
3907    CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = 32768,
3908}
3909#[cfg(any(
3910    feature = "cuda-12030",
3911    feature = "cuda-12040",
3912    feature = "cuda-12050",
3913    feature = "cuda-12060",
3914    feature = "cuda-12080",
3915    feature = "cuda-12090",
3916    feature = "cuda-13000"
3917))]
3918#[repr(u32)]
3919#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3920pub enum CUgraphDependencyType_enum {
3921    CU_GRAPH_DEPENDENCY_TYPE_DEFAULT = 0,
3922    CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = 1,
3923}
3924#[cfg(any(feature = "cuda-11040", feature = "cuda-11050"))]
3925#[repr(u32)]
3926#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3927pub enum CUgraphExecUpdateResult_enum {
3928    CU_GRAPH_EXEC_UPDATE_SUCCESS = 0,
3929    CU_GRAPH_EXEC_UPDATE_ERROR = 1,
3930    CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED = 2,
3931    CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED = 3,
3932    CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED = 4,
3933    CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED = 5,
3934    CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED = 6,
3935    CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE = 7,
3936}
3937#[cfg(any(
3938    feature = "cuda-11060",
3939    feature = "cuda-11070",
3940    feature = "cuda-11080",
3941    feature = "cuda-12000",
3942    feature = "cuda-12010",
3943    feature = "cuda-12020",
3944    feature = "cuda-12030",
3945    feature = "cuda-12040",
3946    feature = "cuda-12050",
3947    feature = "cuda-12060",
3948    feature = "cuda-12080",
3949    feature = "cuda-12090",
3950    feature = "cuda-13000"
3951))]
3952#[repr(u32)]
3953#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3954pub enum CUgraphExecUpdateResult_enum {
3955    CU_GRAPH_EXEC_UPDATE_SUCCESS = 0,
3956    CU_GRAPH_EXEC_UPDATE_ERROR = 1,
3957    CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED = 2,
3958    CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED = 3,
3959    CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED = 4,
3960    CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED = 5,
3961    CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED = 6,
3962    CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE = 7,
3963    CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = 8,
3964}
3965#[cfg(any(
3966    feature = "cuda-12000",
3967    feature = "cuda-12010",
3968    feature = "cuda-12020",
3969    feature = "cuda-12030",
3970    feature = "cuda-12040",
3971    feature = "cuda-12050",
3972    feature = "cuda-12060"
3973))]
3974#[repr(u32)]
3975#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3976pub enum CUgraphInstantiateResult_enum {
3977    CUDA_GRAPH_INSTANTIATE_SUCCESS = 0,
3978    CUDA_GRAPH_INSTANTIATE_ERROR = 1,
3979    CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE = 2,
3980    CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED = 3,
3981    CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED = 4,
3982}
3983#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
3984#[repr(u32)]
3985#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3986pub enum CUgraphInstantiateResult_enum {
3987    CUDA_GRAPH_INSTANTIATE_SUCCESS = 0,
3988    CUDA_GRAPH_INSTANTIATE_ERROR = 1,
3989    CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE = 2,
3990    CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED = 3,
3991    CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED = 4,
3992    CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED = 5,
3993}
3994#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
3995#[repr(u32)]
3996#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
3997pub enum CUgraphInstantiate_flags_enum {
3998    CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = 1,
3999}
4000#[cfg(any(feature = "cuda-11070", feature = "cuda-11080"))]
4001#[repr(u32)]
4002#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4003pub enum CUgraphInstantiate_flags_enum {
4004    CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = 1,
4005    CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = 8,
4006}
4007#[cfg(any(
4008    feature = "cuda-12000",
4009    feature = "cuda-12010",
4010    feature = "cuda-12020",
4011    feature = "cuda-12030",
4012    feature = "cuda-12040",
4013    feature = "cuda-12050",
4014    feature = "cuda-12060",
4015    feature = "cuda-12080",
4016    feature = "cuda-12090",
4017    feature = "cuda-13000"
4018))]
4019#[repr(u32)]
4020#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4021pub enum CUgraphInstantiate_flags_enum {
4022    CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = 1,
4023    CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD = 2,
4024    CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH = 4,
4025    CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = 8,
4026}
4027#[repr(u32)]
4028#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4029pub enum CUgraphMem_attribute_enum {
4030    CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT = 0,
4031    CU_GRAPH_MEM_ATTR_USED_MEM_HIGH = 1,
4032    CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT = 2,
4033    CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH = 3,
4034}
4035#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
4036#[repr(u32)]
4037#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4038pub enum CUgraphNodeType_enum {
4039    CU_GRAPH_NODE_TYPE_KERNEL = 0,
4040    CU_GRAPH_NODE_TYPE_MEMCPY = 1,
4041    CU_GRAPH_NODE_TYPE_MEMSET = 2,
4042    CU_GRAPH_NODE_TYPE_HOST = 3,
4043    CU_GRAPH_NODE_TYPE_GRAPH = 4,
4044    CU_GRAPH_NODE_TYPE_EMPTY = 5,
4045    CU_GRAPH_NODE_TYPE_WAIT_EVENT = 6,
4046    CU_GRAPH_NODE_TYPE_EVENT_RECORD = 7,
4047    CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = 8,
4048    CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = 9,
4049    CU_GRAPH_NODE_TYPE_MEM_ALLOC = 10,
4050    CU_GRAPH_NODE_TYPE_MEM_FREE = 11,
4051}
4052#[cfg(any(
4053    feature = "cuda-11070",
4054    feature = "cuda-11080",
4055    feature = "cuda-12000",
4056    feature = "cuda-12010",
4057    feature = "cuda-12020"
4058))]
4059#[repr(u32)]
4060#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4061pub enum CUgraphNodeType_enum {
4062    CU_GRAPH_NODE_TYPE_KERNEL = 0,
4063    CU_GRAPH_NODE_TYPE_MEMCPY = 1,
4064    CU_GRAPH_NODE_TYPE_MEMSET = 2,
4065    CU_GRAPH_NODE_TYPE_HOST = 3,
4066    CU_GRAPH_NODE_TYPE_GRAPH = 4,
4067    CU_GRAPH_NODE_TYPE_EMPTY = 5,
4068    CU_GRAPH_NODE_TYPE_WAIT_EVENT = 6,
4069    CU_GRAPH_NODE_TYPE_EVENT_RECORD = 7,
4070    CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = 8,
4071    CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = 9,
4072    CU_GRAPH_NODE_TYPE_MEM_ALLOC = 10,
4073    CU_GRAPH_NODE_TYPE_MEM_FREE = 11,
4074    CU_GRAPH_NODE_TYPE_BATCH_MEM_OP = 12,
4075}
4076#[cfg(any(
4077    feature = "cuda-12030",
4078    feature = "cuda-12040",
4079    feature = "cuda-12050",
4080    feature = "cuda-12060",
4081    feature = "cuda-12080",
4082    feature = "cuda-12090",
4083    feature = "cuda-13000"
4084))]
4085#[repr(u32)]
4086#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4087pub enum CUgraphNodeType_enum {
4088    CU_GRAPH_NODE_TYPE_KERNEL = 0,
4089    CU_GRAPH_NODE_TYPE_MEMCPY = 1,
4090    CU_GRAPH_NODE_TYPE_MEMSET = 2,
4091    CU_GRAPH_NODE_TYPE_HOST = 3,
4092    CU_GRAPH_NODE_TYPE_GRAPH = 4,
4093    CU_GRAPH_NODE_TYPE_EMPTY = 5,
4094    CU_GRAPH_NODE_TYPE_WAIT_EVENT = 6,
4095    CU_GRAPH_NODE_TYPE_EVENT_RECORD = 7,
4096    CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = 8,
4097    CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = 9,
4098    CU_GRAPH_NODE_TYPE_MEM_ALLOC = 10,
4099    CU_GRAPH_NODE_TYPE_MEM_FREE = 11,
4100    CU_GRAPH_NODE_TYPE_BATCH_MEM_OP = 12,
4101    CU_GRAPH_NODE_TYPE_CONDITIONAL = 13,
4102}
4103#[repr(u32)]
4104#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4105pub enum CUgraphicsMapResourceFlags_enum {
4106    CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0,
4107    CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 1,
4108    CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2,
4109}
4110#[repr(u32)]
4111#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4112pub enum CUgraphicsRegisterFlags_enum {
4113    CU_GRAPHICS_REGISTER_FLAGS_NONE = 0,
4114    CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 1,
4115    CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 2,
4116    CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 4,
4117    CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 8,
4118}
4119#[cfg(any(
4120    feature = "cuda-12040",
4121    feature = "cuda-12050",
4122    feature = "cuda-12060",
4123    feature = "cuda-12080",
4124    feature = "cuda-12090",
4125    feature = "cuda-13000"
4126))]
4127#[repr(u32)]
4128#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4129pub enum CUgreenCtxCreate_flags {
4130    CU_GREEN_CTX_DEFAULT_STREAM = 1,
4131}
4132#[repr(u32)]
4133#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4134pub enum CUipcMem_flags_enum {
4135    CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 1,
4136}
4137#[repr(u32)]
4138#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4139pub enum CUjitInputType_enum {
4140    CU_JIT_INPUT_CUBIN = 0,
4141    CU_JIT_INPUT_PTX = 1,
4142    CU_JIT_INPUT_FATBINARY = 2,
4143    CU_JIT_INPUT_OBJECT = 3,
4144    CU_JIT_INPUT_LIBRARY = 4,
4145    CU_JIT_INPUT_NVVM = 5,
4146    CU_JIT_NUM_INPUT_TYPES = 6,
4147}
4148#[repr(u32)]
4149#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4150pub enum CUjit_cacheMode_enum {
4151    CU_JIT_CACHE_OPTION_NONE = 0,
4152    CU_JIT_CACHE_OPTION_CG = 1,
4153    CU_JIT_CACHE_OPTION_CA = 2,
4154}
4155#[repr(u32)]
4156#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4157pub enum CUjit_fallback_enum {
4158    CU_PREFER_PTX = 0,
4159    CU_PREFER_BINARY = 1,
4160}
4161#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
4162#[repr(u32)]
4163#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4164pub enum CUjit_option_enum {
4165    CU_JIT_MAX_REGISTERS = 0,
4166    CU_JIT_THREADS_PER_BLOCK = 1,
4167    CU_JIT_WALL_TIME = 2,
4168    CU_JIT_INFO_LOG_BUFFER = 3,
4169    CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4,
4170    CU_JIT_ERROR_LOG_BUFFER = 5,
4171    CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6,
4172    CU_JIT_OPTIMIZATION_LEVEL = 7,
4173    CU_JIT_TARGET_FROM_CUCONTEXT = 8,
4174    CU_JIT_TARGET = 9,
4175    CU_JIT_FALLBACK_STRATEGY = 10,
4176    CU_JIT_GENERATE_DEBUG_INFO = 11,
4177    CU_JIT_LOG_VERBOSE = 12,
4178    CU_JIT_GENERATE_LINE_INFO = 13,
4179    CU_JIT_CACHE_MODE = 14,
4180    CU_JIT_NEW_SM3X_OPT = 15,
4181    CU_JIT_FAST_COMPILE = 16,
4182    CU_JIT_GLOBAL_SYMBOL_NAMES = 17,
4183    CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18,
4184    CU_JIT_GLOBAL_SYMBOL_COUNT = 19,
4185    CU_JIT_LTO = 20,
4186    CU_JIT_FTZ = 21,
4187    CU_JIT_PREC_DIV = 22,
4188    CU_JIT_PREC_SQRT = 23,
4189    CU_JIT_FMA = 24,
4190    CU_JIT_NUM_OPTIONS = 25,
4191}
4192#[cfg(any(feature = "cuda-11070", feature = "cuda-11080"))]
4193#[repr(u32)]
4194#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4195pub enum CUjit_option_enum {
4196    CU_JIT_MAX_REGISTERS = 0,
4197    CU_JIT_THREADS_PER_BLOCK = 1,
4198    CU_JIT_WALL_TIME = 2,
4199    CU_JIT_INFO_LOG_BUFFER = 3,
4200    CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4,
4201    CU_JIT_ERROR_LOG_BUFFER = 5,
4202    CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6,
4203    CU_JIT_OPTIMIZATION_LEVEL = 7,
4204    CU_JIT_TARGET_FROM_CUCONTEXT = 8,
4205    CU_JIT_TARGET = 9,
4206    CU_JIT_FALLBACK_STRATEGY = 10,
4207    CU_JIT_GENERATE_DEBUG_INFO = 11,
4208    CU_JIT_LOG_VERBOSE = 12,
4209    CU_JIT_GENERATE_LINE_INFO = 13,
4210    CU_JIT_CACHE_MODE = 14,
4211    CU_JIT_NEW_SM3X_OPT = 15,
4212    CU_JIT_FAST_COMPILE = 16,
4213    CU_JIT_GLOBAL_SYMBOL_NAMES = 17,
4214    CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18,
4215    CU_JIT_GLOBAL_SYMBOL_COUNT = 19,
4216    CU_JIT_LTO = 20,
4217    CU_JIT_FTZ = 21,
4218    CU_JIT_PREC_DIV = 22,
4219    CU_JIT_PREC_SQRT = 23,
4220    CU_JIT_FMA = 24,
4221    CU_JIT_REFERENCED_KERNEL_NAMES = 25,
4222    CU_JIT_REFERENCED_KERNEL_COUNT = 26,
4223    CU_JIT_REFERENCED_VARIABLE_NAMES = 27,
4224    CU_JIT_REFERENCED_VARIABLE_COUNT = 28,
4225    CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = 29,
4226    CU_JIT_NUM_OPTIONS = 30,
4227}
4228#[cfg(any(feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020"))]
4229#[repr(u32)]
4230#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4231pub enum CUjit_option_enum {
4232    CU_JIT_MAX_REGISTERS = 0,
4233    CU_JIT_THREADS_PER_BLOCK = 1,
4234    CU_JIT_WALL_TIME = 2,
4235    CU_JIT_INFO_LOG_BUFFER = 3,
4236    CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4,
4237    CU_JIT_ERROR_LOG_BUFFER = 5,
4238    CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6,
4239    CU_JIT_OPTIMIZATION_LEVEL = 7,
4240    CU_JIT_TARGET_FROM_CUCONTEXT = 8,
4241    CU_JIT_TARGET = 9,
4242    CU_JIT_FALLBACK_STRATEGY = 10,
4243    CU_JIT_GENERATE_DEBUG_INFO = 11,
4244    CU_JIT_LOG_VERBOSE = 12,
4245    CU_JIT_GENERATE_LINE_INFO = 13,
4246    CU_JIT_CACHE_MODE = 14,
4247    CU_JIT_NEW_SM3X_OPT = 15,
4248    CU_JIT_FAST_COMPILE = 16,
4249    CU_JIT_GLOBAL_SYMBOL_NAMES = 17,
4250    CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18,
4251    CU_JIT_GLOBAL_SYMBOL_COUNT = 19,
4252    CU_JIT_LTO = 20,
4253    CU_JIT_FTZ = 21,
4254    CU_JIT_PREC_DIV = 22,
4255    CU_JIT_PREC_SQRT = 23,
4256    CU_JIT_FMA = 24,
4257    CU_JIT_REFERENCED_KERNEL_NAMES = 25,
4258    CU_JIT_REFERENCED_KERNEL_COUNT = 26,
4259    CU_JIT_REFERENCED_VARIABLE_NAMES = 27,
4260    CU_JIT_REFERENCED_VARIABLE_COUNT = 28,
4261    CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = 29,
4262    CU_JIT_POSITION_INDEPENDENT_CODE = 30,
4263    CU_JIT_NUM_OPTIONS = 31,
4264}
4265#[cfg(any(feature = "cuda-12030"))]
4266#[repr(u32)]
4267#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4268pub enum CUjit_option_enum {
4269    CU_JIT_MAX_REGISTERS = 0,
4270    CU_JIT_THREADS_PER_BLOCK = 1,
4271    CU_JIT_WALL_TIME = 2,
4272    CU_JIT_INFO_LOG_BUFFER = 3,
4273    CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4,
4274    CU_JIT_ERROR_LOG_BUFFER = 5,
4275    CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6,
4276    CU_JIT_OPTIMIZATION_LEVEL = 7,
4277    CU_JIT_TARGET_FROM_CUCONTEXT = 8,
4278    CU_JIT_TARGET = 9,
4279    CU_JIT_FALLBACK_STRATEGY = 10,
4280    CU_JIT_GENERATE_DEBUG_INFO = 11,
4281    CU_JIT_LOG_VERBOSE = 12,
4282    CU_JIT_GENERATE_LINE_INFO = 13,
4283    CU_JIT_CACHE_MODE = 14,
4284    CU_JIT_NEW_SM3X_OPT = 15,
4285    CU_JIT_FAST_COMPILE = 16,
4286    CU_JIT_GLOBAL_SYMBOL_NAMES = 17,
4287    CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18,
4288    CU_JIT_GLOBAL_SYMBOL_COUNT = 19,
4289    CU_JIT_LTO = 20,
4290    CU_JIT_FTZ = 21,
4291    CU_JIT_PREC_DIV = 22,
4292    CU_JIT_PREC_SQRT = 23,
4293    CU_JIT_FMA = 24,
4294    CU_JIT_REFERENCED_KERNEL_NAMES = 25,
4295    CU_JIT_REFERENCED_KERNEL_COUNT = 26,
4296    CU_JIT_REFERENCED_VARIABLE_NAMES = 27,
4297    CU_JIT_REFERENCED_VARIABLE_COUNT = 28,
4298    CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = 29,
4299    CU_JIT_POSITION_INDEPENDENT_CODE = 30,
4300    CU_JIT_MIN_CTA_PER_SM = 31,
4301    CU_JIT_NUM_OPTIONS = 32,
4302}
4303#[cfg(any(
4304    feature = "cuda-12040",
4305    feature = "cuda-12050",
4306    feature = "cuda-12060",
4307    feature = "cuda-12080",
4308    feature = "cuda-12090"
4309))]
4310#[repr(u32)]
4311#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4312pub enum CUjit_option_enum {
4313    CU_JIT_MAX_REGISTERS = 0,
4314    CU_JIT_THREADS_PER_BLOCK = 1,
4315    CU_JIT_WALL_TIME = 2,
4316    CU_JIT_INFO_LOG_BUFFER = 3,
4317    CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4,
4318    CU_JIT_ERROR_LOG_BUFFER = 5,
4319    CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6,
4320    CU_JIT_OPTIMIZATION_LEVEL = 7,
4321    CU_JIT_TARGET_FROM_CUCONTEXT = 8,
4322    CU_JIT_TARGET = 9,
4323    CU_JIT_FALLBACK_STRATEGY = 10,
4324    CU_JIT_GENERATE_DEBUG_INFO = 11,
4325    CU_JIT_LOG_VERBOSE = 12,
4326    CU_JIT_GENERATE_LINE_INFO = 13,
4327    CU_JIT_CACHE_MODE = 14,
4328    CU_JIT_NEW_SM3X_OPT = 15,
4329    CU_JIT_FAST_COMPILE = 16,
4330    CU_JIT_GLOBAL_SYMBOL_NAMES = 17,
4331    CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18,
4332    CU_JIT_GLOBAL_SYMBOL_COUNT = 19,
4333    CU_JIT_LTO = 20,
4334    CU_JIT_FTZ = 21,
4335    CU_JIT_PREC_DIV = 22,
4336    CU_JIT_PREC_SQRT = 23,
4337    CU_JIT_FMA = 24,
4338    CU_JIT_REFERENCED_KERNEL_NAMES = 25,
4339    CU_JIT_REFERENCED_KERNEL_COUNT = 26,
4340    CU_JIT_REFERENCED_VARIABLE_NAMES = 27,
4341    CU_JIT_REFERENCED_VARIABLE_COUNT = 28,
4342    CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = 29,
4343    CU_JIT_POSITION_INDEPENDENT_CODE = 30,
4344    CU_JIT_MIN_CTA_PER_SM = 31,
4345    CU_JIT_MAX_THREADS_PER_BLOCK = 32,
4346    CU_JIT_OVERRIDE_DIRECTIVE_VALUES = 33,
4347    CU_JIT_NUM_OPTIONS = 34,
4348}
4349#[cfg(any(feature = "cuda-13000"))]
4350#[repr(u32)]
4351#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4352pub enum CUjit_option_enum {
4353    CU_JIT_MAX_REGISTERS = 0,
4354    CU_JIT_THREADS_PER_BLOCK = 1,
4355    CU_JIT_WALL_TIME = 2,
4356    CU_JIT_INFO_LOG_BUFFER = 3,
4357    CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = 4,
4358    CU_JIT_ERROR_LOG_BUFFER = 5,
4359    CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = 6,
4360    CU_JIT_OPTIMIZATION_LEVEL = 7,
4361    CU_JIT_TARGET_FROM_CUCONTEXT = 8,
4362    CU_JIT_TARGET = 9,
4363    CU_JIT_FALLBACK_STRATEGY = 10,
4364    CU_JIT_GENERATE_DEBUG_INFO = 11,
4365    CU_JIT_LOG_VERBOSE = 12,
4366    CU_JIT_GENERATE_LINE_INFO = 13,
4367    CU_JIT_CACHE_MODE = 14,
4368    CU_JIT_NEW_SM3X_OPT = 15,
4369    CU_JIT_FAST_COMPILE = 16,
4370    CU_JIT_GLOBAL_SYMBOL_NAMES = 17,
4371    CU_JIT_GLOBAL_SYMBOL_ADDRESSES = 18,
4372    CU_JIT_GLOBAL_SYMBOL_COUNT = 19,
4373    CU_JIT_LTO = 20,
4374    CU_JIT_FTZ = 21,
4375    CU_JIT_PREC_DIV = 22,
4376    CU_JIT_PREC_SQRT = 23,
4377    CU_JIT_FMA = 24,
4378    CU_JIT_REFERENCED_KERNEL_NAMES = 25,
4379    CU_JIT_REFERENCED_KERNEL_COUNT = 26,
4380    CU_JIT_REFERENCED_VARIABLE_NAMES = 27,
4381    CU_JIT_REFERENCED_VARIABLE_COUNT = 28,
4382    CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = 29,
4383    CU_JIT_POSITION_INDEPENDENT_CODE = 30,
4384    CU_JIT_MIN_CTA_PER_SM = 31,
4385    CU_JIT_MAX_THREADS_PER_BLOCK = 32,
4386    CU_JIT_OVERRIDE_DIRECTIVE_VALUES = 33,
4387    CU_JIT_SPLIT_COMPILE = 34,
4388    CU_JIT_NUM_OPTIONS = 35,
4389}
4390#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
4391#[repr(u32)]
4392#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4393pub enum CUjit_target_enum {
4394    CU_TARGET_COMPUTE_20 = 20,
4395    CU_TARGET_COMPUTE_21 = 21,
4396    CU_TARGET_COMPUTE_30 = 30,
4397    CU_TARGET_COMPUTE_32 = 32,
4398    CU_TARGET_COMPUTE_35 = 35,
4399    CU_TARGET_COMPUTE_37 = 37,
4400    CU_TARGET_COMPUTE_50 = 50,
4401    CU_TARGET_COMPUTE_52 = 52,
4402    CU_TARGET_COMPUTE_53 = 53,
4403    CU_TARGET_COMPUTE_60 = 60,
4404    CU_TARGET_COMPUTE_61 = 61,
4405    CU_TARGET_COMPUTE_62 = 62,
4406    CU_TARGET_COMPUTE_70 = 70,
4407    CU_TARGET_COMPUTE_72 = 72,
4408    CU_TARGET_COMPUTE_75 = 75,
4409    CU_TARGET_COMPUTE_80 = 80,
4410    CU_TARGET_COMPUTE_86 = 86,
4411}
4412#[cfg(any(feature = "cuda-11070"))]
4413#[repr(u32)]
4414#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4415pub enum CUjit_target_enum {
4416    CU_TARGET_COMPUTE_20 = 20,
4417    CU_TARGET_COMPUTE_21 = 21,
4418    CU_TARGET_COMPUTE_30 = 30,
4419    CU_TARGET_COMPUTE_32 = 32,
4420    CU_TARGET_COMPUTE_35 = 35,
4421    CU_TARGET_COMPUTE_37 = 37,
4422    CU_TARGET_COMPUTE_50 = 50,
4423    CU_TARGET_COMPUTE_52 = 52,
4424    CU_TARGET_COMPUTE_53 = 53,
4425    CU_TARGET_COMPUTE_60 = 60,
4426    CU_TARGET_COMPUTE_61 = 61,
4427    CU_TARGET_COMPUTE_62 = 62,
4428    CU_TARGET_COMPUTE_70 = 70,
4429    CU_TARGET_COMPUTE_72 = 72,
4430    CU_TARGET_COMPUTE_75 = 75,
4431    CU_TARGET_COMPUTE_80 = 80,
4432    CU_TARGET_COMPUTE_86 = 86,
4433    CU_TARGET_COMPUTE_87 = 87,
4434}
4435#[cfg(any(feature = "cuda-11080"))]
4436#[repr(u32)]
4437#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4438pub enum CUjit_target_enum {
4439    CU_TARGET_COMPUTE_20 = 20,
4440    CU_TARGET_COMPUTE_21 = 21,
4441    CU_TARGET_COMPUTE_30 = 30,
4442    CU_TARGET_COMPUTE_32 = 32,
4443    CU_TARGET_COMPUTE_35 = 35,
4444    CU_TARGET_COMPUTE_37 = 37,
4445    CU_TARGET_COMPUTE_50 = 50,
4446    CU_TARGET_COMPUTE_52 = 52,
4447    CU_TARGET_COMPUTE_53 = 53,
4448    CU_TARGET_COMPUTE_60 = 60,
4449    CU_TARGET_COMPUTE_61 = 61,
4450    CU_TARGET_COMPUTE_62 = 62,
4451    CU_TARGET_COMPUTE_70 = 70,
4452    CU_TARGET_COMPUTE_72 = 72,
4453    CU_TARGET_COMPUTE_75 = 75,
4454    CU_TARGET_COMPUTE_80 = 80,
4455    CU_TARGET_COMPUTE_86 = 86,
4456    CU_TARGET_COMPUTE_87 = 87,
4457    CU_TARGET_COMPUTE_89 = 89,
4458    CU_TARGET_COMPUTE_90 = 90,
4459}
4460#[cfg(any(
4461    feature = "cuda-12000",
4462    feature = "cuda-12010",
4463    feature = "cuda-12020",
4464    feature = "cuda-12030",
4465    feature = "cuda-12040",
4466    feature = "cuda-12050",
4467    feature = "cuda-12060"
4468))]
4469#[repr(u32)]
4470#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4471pub enum CUjit_target_enum {
4472    CU_TARGET_COMPUTE_30 = 30,
4473    CU_TARGET_COMPUTE_32 = 32,
4474    CU_TARGET_COMPUTE_35 = 35,
4475    CU_TARGET_COMPUTE_37 = 37,
4476    CU_TARGET_COMPUTE_50 = 50,
4477    CU_TARGET_COMPUTE_52 = 52,
4478    CU_TARGET_COMPUTE_53 = 53,
4479    CU_TARGET_COMPUTE_60 = 60,
4480    CU_TARGET_COMPUTE_61 = 61,
4481    CU_TARGET_COMPUTE_62 = 62,
4482    CU_TARGET_COMPUTE_70 = 70,
4483    CU_TARGET_COMPUTE_72 = 72,
4484    CU_TARGET_COMPUTE_75 = 75,
4485    CU_TARGET_COMPUTE_80 = 80,
4486    CU_TARGET_COMPUTE_86 = 86,
4487    CU_TARGET_COMPUTE_87 = 87,
4488    CU_TARGET_COMPUTE_89 = 89,
4489    CU_TARGET_COMPUTE_90 = 90,
4490    CU_TARGET_COMPUTE_90A = 65626,
4491}
4492#[cfg(any(feature = "cuda-12080"))]
4493#[repr(u32)]
4494#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4495pub enum CUjit_target_enum {
4496    CU_TARGET_COMPUTE_30 = 30,
4497    CU_TARGET_COMPUTE_32 = 32,
4498    CU_TARGET_COMPUTE_35 = 35,
4499    CU_TARGET_COMPUTE_37 = 37,
4500    CU_TARGET_COMPUTE_50 = 50,
4501    CU_TARGET_COMPUTE_52 = 52,
4502    CU_TARGET_COMPUTE_53 = 53,
4503    CU_TARGET_COMPUTE_60 = 60,
4504    CU_TARGET_COMPUTE_61 = 61,
4505    CU_TARGET_COMPUTE_62 = 62,
4506    CU_TARGET_COMPUTE_70 = 70,
4507    CU_TARGET_COMPUTE_72 = 72,
4508    CU_TARGET_COMPUTE_75 = 75,
4509    CU_TARGET_COMPUTE_80 = 80,
4510    CU_TARGET_COMPUTE_86 = 86,
4511    CU_TARGET_COMPUTE_87 = 87,
4512    CU_TARGET_COMPUTE_89 = 89,
4513    CU_TARGET_COMPUTE_90 = 90,
4514    CU_TARGET_COMPUTE_100 = 100,
4515    CU_TARGET_COMPUTE_101 = 101,
4516    CU_TARGET_COMPUTE_120 = 120,
4517    CU_TARGET_COMPUTE_90A = 65626,
4518    CU_TARGET_COMPUTE_100A = 65636,
4519    CU_TARGET_COMPUTE_101A = 65637,
4520    CU_TARGET_COMPUTE_120A = 65656,
4521}
4522#[cfg(any(feature = "cuda-12090"))]
4523#[repr(u32)]
4524#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4525pub enum CUjit_target_enum {
4526    CU_TARGET_COMPUTE_30 = 30,
4527    CU_TARGET_COMPUTE_32 = 32,
4528    CU_TARGET_COMPUTE_35 = 35,
4529    CU_TARGET_COMPUTE_37 = 37,
4530    CU_TARGET_COMPUTE_50 = 50,
4531    CU_TARGET_COMPUTE_52 = 52,
4532    CU_TARGET_COMPUTE_53 = 53,
4533    CU_TARGET_COMPUTE_60 = 60,
4534    CU_TARGET_COMPUTE_61 = 61,
4535    CU_TARGET_COMPUTE_62 = 62,
4536    CU_TARGET_COMPUTE_70 = 70,
4537    CU_TARGET_COMPUTE_72 = 72,
4538    CU_TARGET_COMPUTE_75 = 75,
4539    CU_TARGET_COMPUTE_80 = 80,
4540    CU_TARGET_COMPUTE_86 = 86,
4541    CU_TARGET_COMPUTE_87 = 87,
4542    CU_TARGET_COMPUTE_89 = 89,
4543    CU_TARGET_COMPUTE_90 = 90,
4544    CU_TARGET_COMPUTE_100 = 100,
4545    CU_TARGET_COMPUTE_101 = 101,
4546    CU_TARGET_COMPUTE_103 = 103,
4547    CU_TARGET_COMPUTE_120 = 120,
4548    CU_TARGET_COMPUTE_121 = 121,
4549    CU_TARGET_COMPUTE_90A = 65626,
4550    CU_TARGET_COMPUTE_100A = 65636,
4551    CU_TARGET_COMPUTE_101A = 65637,
4552    CU_TARGET_COMPUTE_103A = 65639,
4553    CU_TARGET_COMPUTE_120A = 65656,
4554    CU_TARGET_COMPUTE_121A = 65657,
4555    CU_TARGET_COMPUTE_100F = 131172,
4556    CU_TARGET_COMPUTE_101F = 131173,
4557    CU_TARGET_COMPUTE_103F = 131175,
4558    CU_TARGET_COMPUTE_120F = 131192,
4559    CU_TARGET_COMPUTE_121F = 131193,
4560}
4561#[cfg(any(feature = "cuda-13000"))]
4562#[repr(u32)]
4563#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4564pub enum CUjit_target_enum {
4565    CU_TARGET_COMPUTE_30 = 30,
4566    CU_TARGET_COMPUTE_32 = 32,
4567    CU_TARGET_COMPUTE_35 = 35,
4568    CU_TARGET_COMPUTE_37 = 37,
4569    CU_TARGET_COMPUTE_50 = 50,
4570    CU_TARGET_COMPUTE_52 = 52,
4571    CU_TARGET_COMPUTE_53 = 53,
4572    CU_TARGET_COMPUTE_60 = 60,
4573    CU_TARGET_COMPUTE_61 = 61,
4574    CU_TARGET_COMPUTE_62 = 62,
4575    CU_TARGET_COMPUTE_70 = 70,
4576    CU_TARGET_COMPUTE_72 = 72,
4577    CU_TARGET_COMPUTE_75 = 75,
4578    CU_TARGET_COMPUTE_80 = 80,
4579    CU_TARGET_COMPUTE_86 = 86,
4580    CU_TARGET_COMPUTE_87 = 87,
4581    CU_TARGET_COMPUTE_89 = 89,
4582    CU_TARGET_COMPUTE_90 = 90,
4583    CU_TARGET_COMPUTE_100 = 100,
4584    CU_TARGET_COMPUTE_110 = 110,
4585    CU_TARGET_COMPUTE_103 = 103,
4586    CU_TARGET_COMPUTE_120 = 120,
4587    CU_TARGET_COMPUTE_121 = 121,
4588    CU_TARGET_COMPUTE_90A = 65626,
4589    CU_TARGET_COMPUTE_100A = 65636,
4590    CU_TARGET_COMPUTE_110A = 65646,
4591    CU_TARGET_COMPUTE_103A = 65639,
4592    CU_TARGET_COMPUTE_120A = 65656,
4593    CU_TARGET_COMPUTE_121A = 65657,
4594    CU_TARGET_COMPUTE_100F = 131172,
4595    CU_TARGET_COMPUTE_110F = 131182,
4596    CU_TARGET_COMPUTE_103F = 131175,
4597    CU_TARGET_COMPUTE_120F = 131192,
4598    CU_TARGET_COMPUTE_121F = 131193,
4599}
4600#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
4601#[repr(u32)]
4602#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4603pub enum CUkernelNodeAttrID_enum {
4604    CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
4605    CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2,
4606}
4607#[cfg(any(feature = "cuda-11070"))]
4608#[repr(u32)]
4609#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4610pub enum CUkernelNodeAttrID_enum {
4611    CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
4612    CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2,
4613    CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = 8,
4614}
4615#[cfg(any(feature = "cuda-11080"))]
4616#[repr(u32)]
4617#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4618pub enum CUlaunchAttributeID_enum {
4619    CU_LAUNCH_ATTRIBUTE_IGNORE = 0,
4620    CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
4621    CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2,
4622    CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3,
4623    CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4,
4624    CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5,
4625    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6,
4626    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7,
4627    CU_LAUNCH_ATTRIBUTE_PRIORITY = 8,
4628}
4629#[cfg(any(feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020"))]
4630#[repr(u32)]
4631#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4632pub enum CUlaunchAttributeID_enum {
4633    CU_LAUNCH_ATTRIBUTE_IGNORE = 0,
4634    CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
4635    CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2,
4636    CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3,
4637    CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4,
4638    CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5,
4639    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6,
4640    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7,
4641    CU_LAUNCH_ATTRIBUTE_PRIORITY = 8,
4642    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9,
4643    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10,
4644}
4645#[cfg(any(feature = "cuda-12030"))]
4646#[repr(u32)]
4647#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4648pub enum CUlaunchAttributeID_enum {
4649    CU_LAUNCH_ATTRIBUTE_IGNORE = 0,
4650    CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
4651    CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2,
4652    CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3,
4653    CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4,
4654    CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5,
4655    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6,
4656    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7,
4657    CU_LAUNCH_ATTRIBUTE_PRIORITY = 8,
4658    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9,
4659    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10,
4660    CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = 12,
4661}
4662#[cfg(any(feature = "cuda-12040"))]
4663#[repr(u32)]
4664#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4665pub enum CUlaunchAttributeID_enum {
4666    CU_LAUNCH_ATTRIBUTE_IGNORE = 0,
4667    CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
4668    CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2,
4669    CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3,
4670    CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4,
4671    CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5,
4672    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6,
4673    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7,
4674    CU_LAUNCH_ATTRIBUTE_PRIORITY = 8,
4675    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9,
4676    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10,
4677    CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = 12,
4678    CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13,
4679}
4680#[cfg(any(feature = "cuda-12050", feature = "cuda-12060"))]
4681#[repr(u32)]
4682#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4683pub enum CUlaunchAttributeID_enum {
4684    CU_LAUNCH_ATTRIBUTE_IGNORE = 0,
4685    CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
4686    CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2,
4687    CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3,
4688    CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4,
4689    CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5,
4690    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6,
4691    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7,
4692    CU_LAUNCH_ATTRIBUTE_PRIORITY = 8,
4693    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9,
4694    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10,
4695    CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = 12,
4696    CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13,
4697    CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14,
4698}
4699#[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
4700#[repr(u32)]
4701#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4702pub enum CUlaunchAttributeID_enum {
4703    CU_LAUNCH_ATTRIBUTE_IGNORE = 0,
4704    CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
4705    CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2,
4706    CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3,
4707    CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4,
4708    CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5,
4709    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6,
4710    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7,
4711    CU_LAUNCH_ATTRIBUTE_PRIORITY = 8,
4712    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9,
4713    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10,
4714    CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = 11,
4715    CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = 12,
4716    CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13,
4717    CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14,
4718}
4719#[cfg(any(feature = "cuda-13000"))]
4720#[repr(u32)]
4721#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4722pub enum CUlaunchAttributeID_enum {
4723    CU_LAUNCH_ATTRIBUTE_IGNORE = 0,
4724    CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
4725    CU_LAUNCH_ATTRIBUTE_COOPERATIVE = 2,
4726    CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3,
4727    CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = 4,
4728    CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5,
4729    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = 6,
4730    CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = 7,
4731    CU_LAUNCH_ATTRIBUTE_PRIORITY = 8,
4732    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9,
4733    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10,
4734    CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = 11,
4735    CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = 12,
4736    CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13,
4737    CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14,
4738    CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING = 16,
4739}
4740#[cfg(any(
4741    feature = "cuda-12000",
4742    feature = "cuda-12010",
4743    feature = "cuda-12020",
4744    feature = "cuda-12030",
4745    feature = "cuda-12040",
4746    feature = "cuda-12050",
4747    feature = "cuda-12060",
4748    feature = "cuda-12080",
4749    feature = "cuda-12090",
4750    feature = "cuda-13000"
4751))]
4752#[repr(u32)]
4753#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4754pub enum CUlaunchMemSyncDomain_enum {
4755    CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT = 0,
4756    CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE = 1,
4757}
4758#[cfg(any(
4759    feature = "cuda-12000",
4760    feature = "cuda-12010",
4761    feature = "cuda-12020",
4762    feature = "cuda-12030",
4763    feature = "cuda-12040",
4764    feature = "cuda-12050",
4765    feature = "cuda-12060",
4766    feature = "cuda-12080",
4767    feature = "cuda-12090",
4768    feature = "cuda-13000"
4769))]
4770#[repr(u32)]
4771#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4772pub enum CUlibraryOption_enum {
4773    CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE = 0,
4774    CU_LIBRARY_BINARY_IS_PRESERVED = 1,
4775    CU_LIBRARY_NUM_OPTIONS = 2,
4776}
4777#[cfg(any(
4778    feature = "cuda-11040",
4779    feature = "cuda-11050",
4780    feature = "cuda-11060",
4781    feature = "cuda-11070",
4782    feature = "cuda-11080",
4783    feature = "cuda-12000",
4784    feature = "cuda-12010",
4785    feature = "cuda-12020",
4786    feature = "cuda-12030",
4787    feature = "cuda-12040"
4788))]
4789#[repr(u32)]
4790#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4791pub enum CUlimit_enum {
4792    CU_LIMIT_STACK_SIZE = 0,
4793    CU_LIMIT_PRINTF_FIFO_SIZE = 1,
4794    CU_LIMIT_MALLOC_HEAP_SIZE = 2,
4795    CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 3,
4796    CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 4,
4797    CU_LIMIT_MAX_L2_FETCH_GRANULARITY = 5,
4798    CU_LIMIT_PERSISTING_L2_CACHE_SIZE = 6,
4799    CU_LIMIT_MAX = 7,
4800}
4801#[cfg(any(
4802    feature = "cuda-12050",
4803    feature = "cuda-12060",
4804    feature = "cuda-12080",
4805    feature = "cuda-12090",
4806    feature = "cuda-13000"
4807))]
4808#[repr(u32)]
4809#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4810pub enum CUlimit_enum {
4811    CU_LIMIT_STACK_SIZE = 0,
4812    CU_LIMIT_PRINTF_FIFO_SIZE = 1,
4813    CU_LIMIT_MALLOC_HEAP_SIZE = 2,
4814    CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 3,
4815    CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 4,
4816    CU_LIMIT_MAX_L2_FETCH_GRANULARITY = 5,
4817    CU_LIMIT_PERSISTING_L2_CACHE_SIZE = 6,
4818    CU_LIMIT_SHMEM_SIZE = 7,
4819    CU_LIMIT_CIG_ENABLED = 8,
4820    CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED = 9,
4821    CU_LIMIT_MAX = 10,
4822}
4823#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
4824#[repr(u32)]
4825#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4826pub enum CUlogLevel_enum {
4827    CU_LOG_LEVEL_ERROR = 0,
4828    CU_LOG_LEVEL_WARNING = 1,
4829}
4830#[repr(u32)]
4831#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4832pub enum CUmemAccess_flags_enum {
4833    CU_MEM_ACCESS_FLAGS_PROT_NONE = 0,
4834    CU_MEM_ACCESS_FLAGS_PROT_READ = 1,
4835    CU_MEM_ACCESS_FLAGS_PROT_READWRITE = 3,
4836    CU_MEM_ACCESS_FLAGS_PROT_MAX = 2147483647,
4837}
4838#[repr(u32)]
4839#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4840pub enum CUmemAllocationCompType_enum {
4841    CU_MEM_ALLOCATION_COMP_NONE = 0,
4842    CU_MEM_ALLOCATION_COMP_GENERIC = 1,
4843}
4844#[repr(u32)]
4845#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4846pub enum CUmemAllocationGranularity_flags_enum {
4847    CU_MEM_ALLOC_GRANULARITY_MINIMUM = 0,
4848    CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = 1,
4849}
4850#[cfg(any(
4851    feature = "cuda-11040",
4852    feature = "cuda-11050",
4853    feature = "cuda-11060",
4854    feature = "cuda-11070",
4855    feature = "cuda-11080",
4856    feature = "cuda-12000",
4857    feature = "cuda-12010",
4858    feature = "cuda-12020"
4859))]
4860#[repr(u32)]
4861#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4862pub enum CUmemAllocationHandleType_enum {
4863    CU_MEM_HANDLE_TYPE_NONE = 0,
4864    CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = 1,
4865    CU_MEM_HANDLE_TYPE_WIN32 = 2,
4866    CU_MEM_HANDLE_TYPE_WIN32_KMT = 4,
4867    CU_MEM_HANDLE_TYPE_MAX = 2147483647,
4868}
4869#[cfg(any(
4870    feature = "cuda-12030",
4871    feature = "cuda-12040",
4872    feature = "cuda-12050",
4873    feature = "cuda-12060",
4874    feature = "cuda-12080",
4875    feature = "cuda-12090",
4876    feature = "cuda-13000"
4877))]
4878#[repr(u32)]
4879#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4880pub enum CUmemAllocationHandleType_enum {
4881    CU_MEM_HANDLE_TYPE_NONE = 0,
4882    CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = 1,
4883    CU_MEM_HANDLE_TYPE_WIN32 = 2,
4884    CU_MEM_HANDLE_TYPE_WIN32_KMT = 4,
4885    CU_MEM_HANDLE_TYPE_FABRIC = 8,
4886    CU_MEM_HANDLE_TYPE_MAX = 2147483647,
4887}
4888#[cfg(any(
4889    feature = "cuda-11040",
4890    feature = "cuda-11050",
4891    feature = "cuda-11060",
4892    feature = "cuda-11070",
4893    feature = "cuda-11080",
4894    feature = "cuda-12000",
4895    feature = "cuda-12010",
4896    feature = "cuda-12020",
4897    feature = "cuda-12030",
4898    feature = "cuda-12040",
4899    feature = "cuda-12050",
4900    feature = "cuda-12060",
4901    feature = "cuda-12080",
4902    feature = "cuda-12090"
4903))]
4904#[repr(u32)]
4905#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4906pub enum CUmemAllocationType_enum {
4907    CU_MEM_ALLOCATION_TYPE_INVALID = 0,
4908    CU_MEM_ALLOCATION_TYPE_PINNED = 1,
4909    CU_MEM_ALLOCATION_TYPE_MAX = 2147483647,
4910}
4911#[cfg(any(feature = "cuda-13000"))]
4912#[repr(u32)]
4913#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4914pub enum CUmemAllocationType_enum {
4915    CU_MEM_ALLOCATION_TYPE_INVALID = 0,
4916    CU_MEM_ALLOCATION_TYPE_PINNED = 1,
4917    CU_MEM_ALLOCATION_TYPE_MANAGED = 2,
4918    CU_MEM_ALLOCATION_TYPE_MAX = 2147483647,
4919}
4920#[repr(u32)]
4921#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4922pub enum CUmemAttach_flags_enum {
4923    CU_MEM_ATTACH_GLOBAL = 1,
4924    CU_MEM_ATTACH_HOST = 2,
4925    CU_MEM_ATTACH_SINGLE = 4,
4926}
4927#[cfg(any(feature = "cuda-12080"))]
4928#[repr(u32)]
4929#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4930pub enum CUmemDecompressAlgorithm_enum {
4931    CU_MEM_DECOMPRESS_UNSUPPORTED = 0,
4932    CU_MEM_DECOMPRESS_ALGORITHM_DEFLATE = 1,
4933    CU_MEM_DECOMPRESS_ALGORITHM_SNAPPY = 2,
4934}
4935#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
4936#[repr(u32)]
4937#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4938pub enum CUmemDecompressAlgorithm_enum {
4939    CU_MEM_DECOMPRESS_UNSUPPORTED = 0,
4940    CU_MEM_DECOMPRESS_ALGORITHM_DEFLATE = 1,
4941    CU_MEM_DECOMPRESS_ALGORITHM_SNAPPY = 2,
4942    CU_MEM_DECOMPRESS_ALGORITHM_LZ4 = 4,
4943}
4944#[repr(u32)]
4945#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4946pub enum CUmemHandleType_enum {
4947    CU_MEM_HANDLE_TYPE_GENERIC = 0,
4948}
4949#[cfg(any(
4950    feature = "cuda-11040",
4951    feature = "cuda-11050",
4952    feature = "cuda-11060",
4953    feature = "cuda-11070",
4954    feature = "cuda-11080",
4955    feature = "cuda-12000",
4956    feature = "cuda-12010"
4957))]
4958#[repr(u32)]
4959#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4960pub enum CUmemLocationType_enum {
4961    CU_MEM_LOCATION_TYPE_INVALID = 0,
4962    CU_MEM_LOCATION_TYPE_DEVICE = 1,
4963    CU_MEM_LOCATION_TYPE_MAX = 2147483647,
4964}
4965#[cfg(any(
4966    feature = "cuda-12020",
4967    feature = "cuda-12030",
4968    feature = "cuda-12040",
4969    feature = "cuda-12050",
4970    feature = "cuda-12060",
4971    feature = "cuda-12080",
4972    feature = "cuda-12090",
4973    feature = "cuda-13000"
4974))]
4975#[repr(u32)]
4976#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4977pub enum CUmemLocationType_enum {
4978    CU_MEM_LOCATION_TYPE_INVALID = 0,
4979    CU_MEM_LOCATION_TYPE_DEVICE = 1,
4980    CU_MEM_LOCATION_TYPE_HOST = 2,
4981    CU_MEM_LOCATION_TYPE_HOST_NUMA = 3,
4982    CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT = 4,
4983    CU_MEM_LOCATION_TYPE_MAX = 2147483647,
4984}
4985#[repr(u32)]
4986#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4987pub enum CUmemOperationType_enum {
4988    CU_MEM_OPERATION_TYPE_MAP = 1,
4989    CU_MEM_OPERATION_TYPE_UNMAP = 2,
4990}
4991#[repr(u32)]
4992#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4993pub enum CUmemPool_attribute_enum {
4994    CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES = 1,
4995    CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC = 2,
4996    CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES = 3,
4997    CU_MEMPOOL_ATTR_RELEASE_THRESHOLD = 4,
4998    CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT = 5,
4999    CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH = 6,
5000    CU_MEMPOOL_ATTR_USED_MEM_CURRENT = 7,
5001    CU_MEMPOOL_ATTR_USED_MEM_HIGH = 8,
5002}
5003#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5004#[repr(u32)]
5005#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5006pub enum CUmemRangeFlags_enum {
5007    CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE = 1,
5008}
5009#[cfg(any(
5010    feature = "cuda-11070",
5011    feature = "cuda-11080",
5012    feature = "cuda-12000",
5013    feature = "cuda-12010",
5014    feature = "cuda-12020",
5015    feature = "cuda-12030",
5016    feature = "cuda-12040",
5017    feature = "cuda-12050",
5018    feature = "cuda-12060",
5019    feature = "cuda-12080",
5020    feature = "cuda-12090",
5021    feature = "cuda-13000"
5022))]
5023#[repr(u32)]
5024#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5025pub enum CUmemRangeHandleType_enum {
5026    CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD = 1,
5027    CU_MEM_RANGE_HANDLE_TYPE_MAX = 2147483647,
5028}
5029#[repr(u32)]
5030#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5031pub enum CUmem_advise_enum {
5032    CU_MEM_ADVISE_SET_READ_MOSTLY = 1,
5033    CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2,
5034    CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3,
5035    CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4,
5036    CU_MEM_ADVISE_SET_ACCESSED_BY = 5,
5037    CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6,
5038}
5039#[cfg(any(
5040    feature = "cuda-11040",
5041    feature = "cuda-11050",
5042    feature = "cuda-11060",
5043    feature = "cuda-11070",
5044    feature = "cuda-11080",
5045    feature = "cuda-12000",
5046    feature = "cuda-12010"
5047))]
5048#[repr(u32)]
5049#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5050pub enum CUmem_range_attribute_enum {
5051    CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = 1,
5052    CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = 2,
5053    CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY = 3,
5054    CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION = 4,
5055}
5056#[cfg(any(
5057    feature = "cuda-12020",
5058    feature = "cuda-12030",
5059    feature = "cuda-12040",
5060    feature = "cuda-12050",
5061    feature = "cuda-12060",
5062    feature = "cuda-12080",
5063    feature = "cuda-12090",
5064    feature = "cuda-13000"
5065))]
5066#[repr(u32)]
5067#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5068pub enum CUmem_range_attribute_enum {
5069    CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = 1,
5070    CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = 2,
5071    CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY = 3,
5072    CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION = 4,
5073    CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE = 5,
5074    CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID = 6,
5075    CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE = 7,
5076    CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID = 8,
5077}
5078#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5079#[repr(u32)]
5080#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5081pub enum CUmemcpy3DOperandType_enum {
5082    CU_MEMCPY_OPERAND_TYPE_POINTER = 1,
5083    CU_MEMCPY_OPERAND_TYPE_ARRAY = 2,
5084    CU_MEMCPY_OPERAND_TYPE_MAX = 2147483647,
5085}
5086#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5087#[repr(u32)]
5088#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5089pub enum CUmemcpyFlags_enum {
5090    CU_MEMCPY_FLAG_DEFAULT = 0,
5091    CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE = 1,
5092}
5093#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5094#[repr(u32)]
5095#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5096pub enum CUmemcpySrcAccessOrder_enum {
5097    CU_MEMCPY_SRC_ACCESS_ORDER_INVALID = 0,
5098    CU_MEMCPY_SRC_ACCESS_ORDER_STREAM = 1,
5099    CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL = 2,
5100    CU_MEMCPY_SRC_ACCESS_ORDER_ANY = 3,
5101    CU_MEMCPY_SRC_ACCESS_ORDER_MAX = 2147483647,
5102}
5103#[repr(u32)]
5104#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5105pub enum CUmemorytype_enum {
5106    CU_MEMORYTYPE_HOST = 1,
5107    CU_MEMORYTYPE_DEVICE = 2,
5108    CU_MEMORYTYPE_ARRAY = 3,
5109    CU_MEMORYTYPE_UNIFIED = 4,
5110}
5111#[cfg(any(
5112    feature = "cuda-11070",
5113    feature = "cuda-11080",
5114    feature = "cuda-12000",
5115    feature = "cuda-12010",
5116    feature = "cuda-12020",
5117    feature = "cuda-12030",
5118    feature = "cuda-12040",
5119    feature = "cuda-12050",
5120    feature = "cuda-12060",
5121    feature = "cuda-12080",
5122    feature = "cuda-12090",
5123    feature = "cuda-13000"
5124))]
5125#[repr(u32)]
5126#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5127pub enum CUmoduleLoadingMode_enum {
5128    CU_MODULE_EAGER_LOADING = 1,
5129    CU_MODULE_LAZY_LOADING = 2,
5130}
5131#[cfg(any(
5132    feature = "cuda-12010",
5133    feature = "cuda-12020",
5134    feature = "cuda-12030",
5135    feature = "cuda-12040",
5136    feature = "cuda-12050",
5137    feature = "cuda-12060",
5138    feature = "cuda-12080",
5139    feature = "cuda-12090",
5140    feature = "cuda-13000"
5141))]
5142#[repr(u32)]
5143#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5144pub enum CUmulticastGranularity_flags_enum {
5145    CU_MULTICAST_GRANULARITY_MINIMUM = 0,
5146    CU_MULTICAST_GRANULARITY_RECOMMENDED = 1,
5147}
5148#[repr(u32)]
5149#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5150pub enum CUoccupancy_flags_enum {
5151    CU_OCCUPANCY_DEFAULT = 0,
5152    CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 1,
5153}
5154#[repr(u32)]
5155#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5156pub enum CUoutput_mode_enum {
5157    CU_OUT_KEY_VALUE_PAIR = 0,
5158    CU_OUT_CSV = 1,
5159}
5160#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
5161#[repr(u32)]
5162#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5163pub enum CUpointer_attribute_enum {
5164    CU_POINTER_ATTRIBUTE_CONTEXT = 1,
5165    CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2,
5166    CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3,
5167    CU_POINTER_ATTRIBUTE_HOST_POINTER = 4,
5168    CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5,
5169    CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6,
5170    CU_POINTER_ATTRIBUTE_BUFFER_ID = 7,
5171    CU_POINTER_ATTRIBUTE_IS_MANAGED = 8,
5172    CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9,
5173    CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = 10,
5174    CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = 11,
5175    CU_POINTER_ATTRIBUTE_RANGE_SIZE = 12,
5176    CU_POINTER_ATTRIBUTE_MAPPED = 13,
5177    CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = 14,
5178    CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = 15,
5179    CU_POINTER_ATTRIBUTE_ACCESS_FLAGS = 16,
5180    CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = 17,
5181}
5182#[cfg(any(
5183    feature = "cuda-11070",
5184    feature = "cuda-11080",
5185    feature = "cuda-12000",
5186    feature = "cuda-12010",
5187    feature = "cuda-12020",
5188    feature = "cuda-12030",
5189    feature = "cuda-12040",
5190    feature = "cuda-12050",
5191    feature = "cuda-12060"
5192))]
5193#[repr(u32)]
5194#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5195pub enum CUpointer_attribute_enum {
5196    CU_POINTER_ATTRIBUTE_CONTEXT = 1,
5197    CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2,
5198    CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3,
5199    CU_POINTER_ATTRIBUTE_HOST_POINTER = 4,
5200    CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5,
5201    CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6,
5202    CU_POINTER_ATTRIBUTE_BUFFER_ID = 7,
5203    CU_POINTER_ATTRIBUTE_IS_MANAGED = 8,
5204    CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9,
5205    CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = 10,
5206    CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = 11,
5207    CU_POINTER_ATTRIBUTE_RANGE_SIZE = 12,
5208    CU_POINTER_ATTRIBUTE_MAPPED = 13,
5209    CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = 14,
5210    CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = 15,
5211    CU_POINTER_ATTRIBUTE_ACCESS_FLAGS = 16,
5212    CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = 17,
5213    CU_POINTER_ATTRIBUTE_MAPPING_SIZE = 18,
5214    CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR = 19,
5215    CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = 20,
5216}
5217#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5218#[repr(u32)]
5219#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5220pub enum CUpointer_attribute_enum {
5221    CU_POINTER_ATTRIBUTE_CONTEXT = 1,
5222    CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2,
5223    CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3,
5224    CU_POINTER_ATTRIBUTE_HOST_POINTER = 4,
5225    CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5,
5226    CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6,
5227    CU_POINTER_ATTRIBUTE_BUFFER_ID = 7,
5228    CU_POINTER_ATTRIBUTE_IS_MANAGED = 8,
5229    CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9,
5230    CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = 10,
5231    CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = 11,
5232    CU_POINTER_ATTRIBUTE_RANGE_SIZE = 12,
5233    CU_POINTER_ATTRIBUTE_MAPPED = 13,
5234    CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = 14,
5235    CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = 15,
5236    CU_POINTER_ATTRIBUTE_ACCESS_FLAGS = 16,
5237    CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = 17,
5238    CU_POINTER_ATTRIBUTE_MAPPING_SIZE = 18,
5239    CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR = 19,
5240    CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = 20,
5241    CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE = 21,
5242}
5243#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5244#[repr(u32)]
5245#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5246pub enum CUprocessState_enum {
5247    CU_PROCESS_STATE_RUNNING = 0,
5248    CU_PROCESS_STATE_LOCKED = 1,
5249    CU_PROCESS_STATE_CHECKPOINTED = 2,
5250    CU_PROCESS_STATE_FAILED = 3,
5251}
5252#[repr(u32)]
5253#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5254pub enum CUresourceViewFormat_enum {
5255    CU_RES_VIEW_FORMAT_NONE = 0,
5256    CU_RES_VIEW_FORMAT_UINT_1X8 = 1,
5257    CU_RES_VIEW_FORMAT_UINT_2X8 = 2,
5258    CU_RES_VIEW_FORMAT_UINT_4X8 = 3,
5259    CU_RES_VIEW_FORMAT_SINT_1X8 = 4,
5260    CU_RES_VIEW_FORMAT_SINT_2X8 = 5,
5261    CU_RES_VIEW_FORMAT_SINT_4X8 = 6,
5262    CU_RES_VIEW_FORMAT_UINT_1X16 = 7,
5263    CU_RES_VIEW_FORMAT_UINT_2X16 = 8,
5264    CU_RES_VIEW_FORMAT_UINT_4X16 = 9,
5265    CU_RES_VIEW_FORMAT_SINT_1X16 = 10,
5266    CU_RES_VIEW_FORMAT_SINT_2X16 = 11,
5267    CU_RES_VIEW_FORMAT_SINT_4X16 = 12,
5268    CU_RES_VIEW_FORMAT_UINT_1X32 = 13,
5269    CU_RES_VIEW_FORMAT_UINT_2X32 = 14,
5270    CU_RES_VIEW_FORMAT_UINT_4X32 = 15,
5271    CU_RES_VIEW_FORMAT_SINT_1X32 = 16,
5272    CU_RES_VIEW_FORMAT_SINT_2X32 = 17,
5273    CU_RES_VIEW_FORMAT_SINT_4X32 = 18,
5274    CU_RES_VIEW_FORMAT_FLOAT_1X16 = 19,
5275    CU_RES_VIEW_FORMAT_FLOAT_2X16 = 20,
5276    CU_RES_VIEW_FORMAT_FLOAT_4X16 = 21,
5277    CU_RES_VIEW_FORMAT_FLOAT_1X32 = 22,
5278    CU_RES_VIEW_FORMAT_FLOAT_2X32 = 23,
5279    CU_RES_VIEW_FORMAT_FLOAT_4X32 = 24,
5280    CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 25,
5281    CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 26,
5282    CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 27,
5283    CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 28,
5284    CU_RES_VIEW_FORMAT_SIGNED_BC4 = 29,
5285    CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 30,
5286    CU_RES_VIEW_FORMAT_SIGNED_BC5 = 31,
5287    CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 32,
5288    CU_RES_VIEW_FORMAT_SIGNED_BC6H = 33,
5289    CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 34,
5290}
5291#[repr(u32)]
5292#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5293pub enum CUresourcetype_enum {
5294    CU_RESOURCE_TYPE_ARRAY = 0,
5295    CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 1,
5296    CU_RESOURCE_TYPE_LINEAR = 2,
5297    CU_RESOURCE_TYPE_PITCH2D = 3,
5298}
5299#[repr(i32)]
5300#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5301pub enum CUshared_carveout_enum {
5302    CU_SHAREDMEM_CARVEOUT_DEFAULT = -1,
5303    CU_SHAREDMEM_CARVEOUT_MAX_SHARED = 100,
5304    CU_SHAREDMEM_CARVEOUT_MAX_L1 = 0,
5305}
5306#[repr(u32)]
5307#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5308pub enum CUsharedconfig_enum {
5309    CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0,
5310    CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 1,
5311    CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 2,
5312}
5313#[cfg(any(
5314    feature = "cuda-11040",
5315    feature = "cuda-11050",
5316    feature = "cuda-11060",
5317    feature = "cuda-11070"
5318))]
5319#[repr(u32)]
5320#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5321pub enum CUstreamAttrID_enum {
5322    CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
5323    CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3,
5324}
5325#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
5326#[repr(u32)]
5327#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5328pub enum CUstreamBatchMemOpType_enum {
5329    CU_STREAM_MEM_OP_WAIT_VALUE_32 = 1,
5330    CU_STREAM_MEM_OP_WRITE_VALUE_32 = 2,
5331    CU_STREAM_MEM_OP_WAIT_VALUE_64 = 4,
5332    CU_STREAM_MEM_OP_WRITE_VALUE_64 = 5,
5333    CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES = 3,
5334}
5335#[cfg(any(
5336    feature = "cuda-11070",
5337    feature = "cuda-11080",
5338    feature = "cuda-12000",
5339    feature = "cuda-12010",
5340    feature = "cuda-12020",
5341    feature = "cuda-12030",
5342    feature = "cuda-12040",
5343    feature = "cuda-12050",
5344    feature = "cuda-12060",
5345    feature = "cuda-12080",
5346    feature = "cuda-12090",
5347    feature = "cuda-13000"
5348))]
5349#[repr(u32)]
5350#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5351pub enum CUstreamBatchMemOpType_enum {
5352    CU_STREAM_MEM_OP_WAIT_VALUE_32 = 1,
5353    CU_STREAM_MEM_OP_WRITE_VALUE_32 = 2,
5354    CU_STREAM_MEM_OP_WAIT_VALUE_64 = 4,
5355    CU_STREAM_MEM_OP_WRITE_VALUE_64 = 5,
5356    CU_STREAM_MEM_OP_BARRIER = 6,
5357    CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES = 3,
5358}
5359#[repr(u32)]
5360#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5361pub enum CUstreamCaptureMode_enum {
5362    CU_STREAM_CAPTURE_MODE_GLOBAL = 0,
5363    CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = 1,
5364    CU_STREAM_CAPTURE_MODE_RELAXED = 2,
5365}
5366#[repr(u32)]
5367#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5368pub enum CUstreamCaptureStatus_enum {
5369    CU_STREAM_CAPTURE_STATUS_NONE = 0,
5370    CU_STREAM_CAPTURE_STATUS_ACTIVE = 1,
5371    CU_STREAM_CAPTURE_STATUS_INVALIDATED = 2,
5372}
5373#[cfg(any(
5374    feature = "cuda-11070",
5375    feature = "cuda-11080",
5376    feature = "cuda-12000",
5377    feature = "cuda-12010",
5378    feature = "cuda-12020",
5379    feature = "cuda-12030",
5380    feature = "cuda-12040",
5381    feature = "cuda-12050",
5382    feature = "cuda-12060",
5383    feature = "cuda-12080",
5384    feature = "cuda-12090",
5385    feature = "cuda-13000"
5386))]
5387#[repr(u32)]
5388#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5389pub enum CUstreamMemoryBarrier_flags_enum {
5390    CU_STREAM_MEMORY_BARRIER_TYPE_SYS = 0,
5391    CU_STREAM_MEMORY_BARRIER_TYPE_GPU = 1,
5392}
5393#[repr(u32)]
5394#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5395pub enum CUstreamUpdateCaptureDependencies_flags_enum {
5396    CU_STREAM_ADD_CAPTURE_DEPENDENCIES = 0,
5397    CU_STREAM_SET_CAPTURE_DEPENDENCIES = 1,
5398}
5399#[repr(u32)]
5400#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5401pub enum CUstreamWaitValue_flags_enum {
5402    CU_STREAM_WAIT_VALUE_GEQ = 0,
5403    CU_STREAM_WAIT_VALUE_EQ = 1,
5404    CU_STREAM_WAIT_VALUE_AND = 2,
5405    CU_STREAM_WAIT_VALUE_NOR = 3,
5406    CU_STREAM_WAIT_VALUE_FLUSH = 1073741824,
5407}
5408#[repr(u32)]
5409#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5410pub enum CUstreamWriteValue_flags_enum {
5411    CU_STREAM_WRITE_VALUE_DEFAULT = 0,
5412    CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 1,
5413}
5414#[repr(u32)]
5415#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5416pub enum CUstream_flags_enum {
5417    CU_STREAM_DEFAULT = 0,
5418    CU_STREAM_NON_BLOCKING = 1,
5419}
5420#[repr(u32)]
5421#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5422pub enum CUsynchronizationPolicy_enum {
5423    CU_SYNC_POLICY_AUTO = 1,
5424    CU_SYNC_POLICY_SPIN = 2,
5425    CU_SYNC_POLICY_YIELD = 3,
5426    CU_SYNC_POLICY_BLOCKING_SYNC = 4,
5427}
5428#[cfg(any(
5429    feature = "cuda-12000",
5430    feature = "cuda-12010",
5431    feature = "cuda-12020",
5432    feature = "cuda-12030",
5433    feature = "cuda-12040",
5434    feature = "cuda-12050",
5435    feature = "cuda-12060"
5436))]
5437#[repr(u32)]
5438#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5439pub enum CUtensorMapDataType_enum {
5440    CU_TENSOR_MAP_DATA_TYPE_UINT8 = 0,
5441    CU_TENSOR_MAP_DATA_TYPE_UINT16 = 1,
5442    CU_TENSOR_MAP_DATA_TYPE_UINT32 = 2,
5443    CU_TENSOR_MAP_DATA_TYPE_INT32 = 3,
5444    CU_TENSOR_MAP_DATA_TYPE_UINT64 = 4,
5445    CU_TENSOR_MAP_DATA_TYPE_INT64 = 5,
5446    CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = 6,
5447    CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = 7,
5448    CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = 8,
5449    CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = 9,
5450    CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = 10,
5451    CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = 11,
5452    CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = 12,
5453}
5454#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5455#[repr(u32)]
5456#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5457pub enum CUtensorMapDataType_enum {
5458    CU_TENSOR_MAP_DATA_TYPE_UINT8 = 0,
5459    CU_TENSOR_MAP_DATA_TYPE_UINT16 = 1,
5460    CU_TENSOR_MAP_DATA_TYPE_UINT32 = 2,
5461    CU_TENSOR_MAP_DATA_TYPE_INT32 = 3,
5462    CU_TENSOR_MAP_DATA_TYPE_UINT64 = 4,
5463    CU_TENSOR_MAP_DATA_TYPE_INT64 = 5,
5464    CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = 6,
5465    CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = 7,
5466    CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = 8,
5467    CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = 9,
5468    CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = 10,
5469    CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = 11,
5470    CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = 12,
5471    CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B = 13,
5472    CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B = 14,
5473    CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = 15,
5474}
5475#[cfg(any(
5476    feature = "cuda-12000",
5477    feature = "cuda-12010",
5478    feature = "cuda-12020",
5479    feature = "cuda-12030",
5480    feature = "cuda-12040",
5481    feature = "cuda-12050",
5482    feature = "cuda-12060",
5483    feature = "cuda-12080",
5484    feature = "cuda-12090",
5485    feature = "cuda-13000"
5486))]
5487#[repr(u32)]
5488#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5489pub enum CUtensorMapFloatOOBfill_enum {
5490    CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE = 0,
5491    CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = 1,
5492}
5493#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5494#[repr(u32)]
5495#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5496pub enum CUtensorMapIm2ColWideMode_enum {
5497    CU_TENSOR_MAP_IM2COL_WIDE_MODE_W = 0,
5498    CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128 = 1,
5499}
5500#[cfg(any(
5501    feature = "cuda-12000",
5502    feature = "cuda-12010",
5503    feature = "cuda-12020",
5504    feature = "cuda-12030",
5505    feature = "cuda-12040",
5506    feature = "cuda-12050",
5507    feature = "cuda-12060",
5508    feature = "cuda-12080",
5509    feature = "cuda-12090",
5510    feature = "cuda-13000"
5511))]
5512#[repr(u32)]
5513#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5514pub enum CUtensorMapInterleave_enum {
5515    CU_TENSOR_MAP_INTERLEAVE_NONE = 0,
5516    CU_TENSOR_MAP_INTERLEAVE_16B = 1,
5517    CU_TENSOR_MAP_INTERLEAVE_32B = 2,
5518}
5519#[cfg(any(
5520    feature = "cuda-12000",
5521    feature = "cuda-12010",
5522    feature = "cuda-12020",
5523    feature = "cuda-12030",
5524    feature = "cuda-12040",
5525    feature = "cuda-12050",
5526    feature = "cuda-12060",
5527    feature = "cuda-12080",
5528    feature = "cuda-12090",
5529    feature = "cuda-13000"
5530))]
5531#[repr(u32)]
5532#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5533pub enum CUtensorMapL2promotion_enum {
5534    CU_TENSOR_MAP_L2_PROMOTION_NONE = 0,
5535    CU_TENSOR_MAP_L2_PROMOTION_L2_64B = 1,
5536    CU_TENSOR_MAP_L2_PROMOTION_L2_128B = 2,
5537    CU_TENSOR_MAP_L2_PROMOTION_L2_256B = 3,
5538}
5539#[cfg(any(
5540    feature = "cuda-12000",
5541    feature = "cuda-12010",
5542    feature = "cuda-12020",
5543    feature = "cuda-12030",
5544    feature = "cuda-12040",
5545    feature = "cuda-12050",
5546    feature = "cuda-12060"
5547))]
5548#[repr(u32)]
5549#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5550pub enum CUtensorMapSwizzle_enum {
5551    CU_TENSOR_MAP_SWIZZLE_NONE = 0,
5552    CU_TENSOR_MAP_SWIZZLE_32B = 1,
5553    CU_TENSOR_MAP_SWIZZLE_64B = 2,
5554    CU_TENSOR_MAP_SWIZZLE_128B = 3,
5555}
5556#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
5557#[repr(u32)]
5558#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5559pub enum CUtensorMapSwizzle_enum {
5560    CU_TENSOR_MAP_SWIZZLE_NONE = 0,
5561    CU_TENSOR_MAP_SWIZZLE_32B = 1,
5562    CU_TENSOR_MAP_SWIZZLE_64B = 2,
5563    CU_TENSOR_MAP_SWIZZLE_128B = 3,
5564    CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B = 4,
5565    CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B = 5,
5566    CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = 6,
5567}
5568#[repr(u32)]
5569#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5570pub enum CUuserObjectRetain_flags_enum {
5571    CU_GRAPH_USER_OBJECT_MOVE = 1,
5572}
5573#[repr(u32)]
5574#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5575pub enum CUuserObject_flags_enum {
5576    CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = 1,
5577}
5578#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
5579#[repr(u32)]
5580#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5581pub enum cudaError_enum {
5582    CUDA_SUCCESS = 0,
5583    CUDA_ERROR_INVALID_VALUE = 1,
5584    CUDA_ERROR_OUT_OF_MEMORY = 2,
5585    CUDA_ERROR_NOT_INITIALIZED = 3,
5586    CUDA_ERROR_DEINITIALIZED = 4,
5587    CUDA_ERROR_PROFILER_DISABLED = 5,
5588    CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
5589    CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
5590    CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
5591    CUDA_ERROR_STUB_LIBRARY = 34,
5592    CUDA_ERROR_NO_DEVICE = 100,
5593    CUDA_ERROR_INVALID_DEVICE = 101,
5594    CUDA_ERROR_DEVICE_NOT_LICENSED = 102,
5595    CUDA_ERROR_INVALID_IMAGE = 200,
5596    CUDA_ERROR_INVALID_CONTEXT = 201,
5597    CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202,
5598    CUDA_ERROR_MAP_FAILED = 205,
5599    CUDA_ERROR_UNMAP_FAILED = 206,
5600    CUDA_ERROR_ARRAY_IS_MAPPED = 207,
5601    CUDA_ERROR_ALREADY_MAPPED = 208,
5602    CUDA_ERROR_NO_BINARY_FOR_GPU = 209,
5603    CUDA_ERROR_ALREADY_ACQUIRED = 210,
5604    CUDA_ERROR_NOT_MAPPED = 211,
5605    CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212,
5606    CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213,
5607    CUDA_ERROR_ECC_UNCORRECTABLE = 214,
5608    CUDA_ERROR_UNSUPPORTED_LIMIT = 215,
5609    CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216,
5610    CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
5611    CUDA_ERROR_INVALID_PTX = 218,
5612    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
5613    CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
5614    CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221,
5615    CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222,
5616    CUDA_ERROR_JIT_COMPILATION_DISABLED = 223,
5617    CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224,
5618    CUDA_ERROR_INVALID_SOURCE = 300,
5619    CUDA_ERROR_FILE_NOT_FOUND = 301,
5620    CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
5621    CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303,
5622    CUDA_ERROR_OPERATING_SYSTEM = 304,
5623    CUDA_ERROR_INVALID_HANDLE = 400,
5624    CUDA_ERROR_ILLEGAL_STATE = 401,
5625    CUDA_ERROR_NOT_FOUND = 500,
5626    CUDA_ERROR_NOT_READY = 600,
5627    CUDA_ERROR_ILLEGAL_ADDRESS = 700,
5628    CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701,
5629    CUDA_ERROR_LAUNCH_TIMEOUT = 702,
5630    CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703,
5631    CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704,
5632    CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705,
5633    CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708,
5634    CUDA_ERROR_CONTEXT_IS_DESTROYED = 709,
5635    CUDA_ERROR_ASSERT = 710,
5636    CUDA_ERROR_TOO_MANY_PEERS = 711,
5637    CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712,
5638    CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713,
5639    CUDA_ERROR_HARDWARE_STACK_ERROR = 714,
5640    CUDA_ERROR_ILLEGAL_INSTRUCTION = 715,
5641    CUDA_ERROR_MISALIGNED_ADDRESS = 716,
5642    CUDA_ERROR_INVALID_ADDRESS_SPACE = 717,
5643    CUDA_ERROR_INVALID_PC = 718,
5644    CUDA_ERROR_LAUNCH_FAILED = 719,
5645    CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720,
5646    CUDA_ERROR_NOT_PERMITTED = 800,
5647    CUDA_ERROR_NOT_SUPPORTED = 801,
5648    CUDA_ERROR_SYSTEM_NOT_READY = 802,
5649    CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803,
5650    CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804,
5651    CUDA_ERROR_MPS_CONNECTION_FAILED = 805,
5652    CUDA_ERROR_MPS_RPC_FAILURE = 806,
5653    CUDA_ERROR_MPS_SERVER_NOT_READY = 807,
5654    CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808,
5655    CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809,
5656    CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900,
5657    CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901,
5658    CUDA_ERROR_STREAM_CAPTURE_MERGE = 902,
5659    CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903,
5660    CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904,
5661    CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905,
5662    CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906,
5663    CUDA_ERROR_CAPTURED_EVENT = 907,
5664    CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908,
5665    CUDA_ERROR_TIMEOUT = 909,
5666    CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910,
5667    CUDA_ERROR_EXTERNAL_DEVICE = 911,
5668    CUDA_ERROR_UNKNOWN = 999,
5669}
5670#[cfg(any(feature = "cuda-11070"))]
5671#[repr(u32)]
5672#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5673pub enum cudaError_enum {
5674    CUDA_SUCCESS = 0,
5675    CUDA_ERROR_INVALID_VALUE = 1,
5676    CUDA_ERROR_OUT_OF_MEMORY = 2,
5677    CUDA_ERROR_NOT_INITIALIZED = 3,
5678    CUDA_ERROR_DEINITIALIZED = 4,
5679    CUDA_ERROR_PROFILER_DISABLED = 5,
5680    CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
5681    CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
5682    CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
5683    CUDA_ERROR_STUB_LIBRARY = 34,
5684    CUDA_ERROR_DEVICE_UNAVAILABLE = 46,
5685    CUDA_ERROR_NO_DEVICE = 100,
5686    CUDA_ERROR_INVALID_DEVICE = 101,
5687    CUDA_ERROR_DEVICE_NOT_LICENSED = 102,
5688    CUDA_ERROR_INVALID_IMAGE = 200,
5689    CUDA_ERROR_INVALID_CONTEXT = 201,
5690    CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202,
5691    CUDA_ERROR_MAP_FAILED = 205,
5692    CUDA_ERROR_UNMAP_FAILED = 206,
5693    CUDA_ERROR_ARRAY_IS_MAPPED = 207,
5694    CUDA_ERROR_ALREADY_MAPPED = 208,
5695    CUDA_ERROR_NO_BINARY_FOR_GPU = 209,
5696    CUDA_ERROR_ALREADY_ACQUIRED = 210,
5697    CUDA_ERROR_NOT_MAPPED = 211,
5698    CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212,
5699    CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213,
5700    CUDA_ERROR_ECC_UNCORRECTABLE = 214,
5701    CUDA_ERROR_UNSUPPORTED_LIMIT = 215,
5702    CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216,
5703    CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
5704    CUDA_ERROR_INVALID_PTX = 218,
5705    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
5706    CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
5707    CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221,
5708    CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222,
5709    CUDA_ERROR_JIT_COMPILATION_DISABLED = 223,
5710    CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224,
5711    CUDA_ERROR_INVALID_SOURCE = 300,
5712    CUDA_ERROR_FILE_NOT_FOUND = 301,
5713    CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
5714    CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303,
5715    CUDA_ERROR_OPERATING_SYSTEM = 304,
5716    CUDA_ERROR_INVALID_HANDLE = 400,
5717    CUDA_ERROR_ILLEGAL_STATE = 401,
5718    CUDA_ERROR_NOT_FOUND = 500,
5719    CUDA_ERROR_NOT_READY = 600,
5720    CUDA_ERROR_ILLEGAL_ADDRESS = 700,
5721    CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701,
5722    CUDA_ERROR_LAUNCH_TIMEOUT = 702,
5723    CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703,
5724    CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704,
5725    CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705,
5726    CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708,
5727    CUDA_ERROR_CONTEXT_IS_DESTROYED = 709,
5728    CUDA_ERROR_ASSERT = 710,
5729    CUDA_ERROR_TOO_MANY_PEERS = 711,
5730    CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712,
5731    CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713,
5732    CUDA_ERROR_HARDWARE_STACK_ERROR = 714,
5733    CUDA_ERROR_ILLEGAL_INSTRUCTION = 715,
5734    CUDA_ERROR_MISALIGNED_ADDRESS = 716,
5735    CUDA_ERROR_INVALID_ADDRESS_SPACE = 717,
5736    CUDA_ERROR_INVALID_PC = 718,
5737    CUDA_ERROR_LAUNCH_FAILED = 719,
5738    CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720,
5739    CUDA_ERROR_NOT_PERMITTED = 800,
5740    CUDA_ERROR_NOT_SUPPORTED = 801,
5741    CUDA_ERROR_SYSTEM_NOT_READY = 802,
5742    CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803,
5743    CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804,
5744    CUDA_ERROR_MPS_CONNECTION_FAILED = 805,
5745    CUDA_ERROR_MPS_RPC_FAILURE = 806,
5746    CUDA_ERROR_MPS_SERVER_NOT_READY = 807,
5747    CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808,
5748    CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809,
5749    CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900,
5750    CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901,
5751    CUDA_ERROR_STREAM_CAPTURE_MERGE = 902,
5752    CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903,
5753    CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904,
5754    CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905,
5755    CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906,
5756    CUDA_ERROR_CAPTURED_EVENT = 907,
5757    CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908,
5758    CUDA_ERROR_TIMEOUT = 909,
5759    CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910,
5760    CUDA_ERROR_EXTERNAL_DEVICE = 911,
5761    CUDA_ERROR_UNKNOWN = 999,
5762}
5763#[cfg(any(feature = "cuda-11080"))]
5764#[repr(u32)]
5765#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5766pub enum cudaError_enum {
5767    CUDA_SUCCESS = 0,
5768    CUDA_ERROR_INVALID_VALUE = 1,
5769    CUDA_ERROR_OUT_OF_MEMORY = 2,
5770    CUDA_ERROR_NOT_INITIALIZED = 3,
5771    CUDA_ERROR_DEINITIALIZED = 4,
5772    CUDA_ERROR_PROFILER_DISABLED = 5,
5773    CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
5774    CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
5775    CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
5776    CUDA_ERROR_STUB_LIBRARY = 34,
5777    CUDA_ERROR_DEVICE_UNAVAILABLE = 46,
5778    CUDA_ERROR_NO_DEVICE = 100,
5779    CUDA_ERROR_INVALID_DEVICE = 101,
5780    CUDA_ERROR_DEVICE_NOT_LICENSED = 102,
5781    CUDA_ERROR_INVALID_IMAGE = 200,
5782    CUDA_ERROR_INVALID_CONTEXT = 201,
5783    CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202,
5784    CUDA_ERROR_MAP_FAILED = 205,
5785    CUDA_ERROR_UNMAP_FAILED = 206,
5786    CUDA_ERROR_ARRAY_IS_MAPPED = 207,
5787    CUDA_ERROR_ALREADY_MAPPED = 208,
5788    CUDA_ERROR_NO_BINARY_FOR_GPU = 209,
5789    CUDA_ERROR_ALREADY_ACQUIRED = 210,
5790    CUDA_ERROR_NOT_MAPPED = 211,
5791    CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212,
5792    CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213,
5793    CUDA_ERROR_ECC_UNCORRECTABLE = 214,
5794    CUDA_ERROR_UNSUPPORTED_LIMIT = 215,
5795    CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216,
5796    CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
5797    CUDA_ERROR_INVALID_PTX = 218,
5798    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
5799    CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
5800    CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221,
5801    CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222,
5802    CUDA_ERROR_JIT_COMPILATION_DISABLED = 223,
5803    CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224,
5804    CUDA_ERROR_INVALID_SOURCE = 300,
5805    CUDA_ERROR_FILE_NOT_FOUND = 301,
5806    CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
5807    CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303,
5808    CUDA_ERROR_OPERATING_SYSTEM = 304,
5809    CUDA_ERROR_INVALID_HANDLE = 400,
5810    CUDA_ERROR_ILLEGAL_STATE = 401,
5811    CUDA_ERROR_NOT_FOUND = 500,
5812    CUDA_ERROR_NOT_READY = 600,
5813    CUDA_ERROR_ILLEGAL_ADDRESS = 700,
5814    CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701,
5815    CUDA_ERROR_LAUNCH_TIMEOUT = 702,
5816    CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703,
5817    CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704,
5818    CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705,
5819    CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708,
5820    CUDA_ERROR_CONTEXT_IS_DESTROYED = 709,
5821    CUDA_ERROR_ASSERT = 710,
5822    CUDA_ERROR_TOO_MANY_PEERS = 711,
5823    CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712,
5824    CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713,
5825    CUDA_ERROR_HARDWARE_STACK_ERROR = 714,
5826    CUDA_ERROR_ILLEGAL_INSTRUCTION = 715,
5827    CUDA_ERROR_MISALIGNED_ADDRESS = 716,
5828    CUDA_ERROR_INVALID_ADDRESS_SPACE = 717,
5829    CUDA_ERROR_INVALID_PC = 718,
5830    CUDA_ERROR_LAUNCH_FAILED = 719,
5831    CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720,
5832    CUDA_ERROR_NOT_PERMITTED = 800,
5833    CUDA_ERROR_NOT_SUPPORTED = 801,
5834    CUDA_ERROR_SYSTEM_NOT_READY = 802,
5835    CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803,
5836    CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804,
5837    CUDA_ERROR_MPS_CONNECTION_FAILED = 805,
5838    CUDA_ERROR_MPS_RPC_FAILURE = 806,
5839    CUDA_ERROR_MPS_SERVER_NOT_READY = 807,
5840    CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808,
5841    CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809,
5842    CUDA_ERROR_MPS_CLIENT_TERMINATED = 810,
5843    CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900,
5844    CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901,
5845    CUDA_ERROR_STREAM_CAPTURE_MERGE = 902,
5846    CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903,
5847    CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904,
5848    CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905,
5849    CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906,
5850    CUDA_ERROR_CAPTURED_EVENT = 907,
5851    CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908,
5852    CUDA_ERROR_TIMEOUT = 909,
5853    CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910,
5854    CUDA_ERROR_EXTERNAL_DEVICE = 911,
5855    CUDA_ERROR_INVALID_CLUSTER_SIZE = 912,
5856    CUDA_ERROR_UNKNOWN = 999,
5857}
5858#[cfg(any(feature = "cuda-12000"))]
5859#[repr(u32)]
5860#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5861pub enum cudaError_enum {
5862    CUDA_SUCCESS = 0,
5863    CUDA_ERROR_INVALID_VALUE = 1,
5864    CUDA_ERROR_OUT_OF_MEMORY = 2,
5865    CUDA_ERROR_NOT_INITIALIZED = 3,
5866    CUDA_ERROR_DEINITIALIZED = 4,
5867    CUDA_ERROR_PROFILER_DISABLED = 5,
5868    CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
5869    CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
5870    CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
5871    CUDA_ERROR_STUB_LIBRARY = 34,
5872    CUDA_ERROR_DEVICE_UNAVAILABLE = 46,
5873    CUDA_ERROR_NO_DEVICE = 100,
5874    CUDA_ERROR_INVALID_DEVICE = 101,
5875    CUDA_ERROR_DEVICE_NOT_LICENSED = 102,
5876    CUDA_ERROR_INVALID_IMAGE = 200,
5877    CUDA_ERROR_INVALID_CONTEXT = 201,
5878    CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202,
5879    CUDA_ERROR_MAP_FAILED = 205,
5880    CUDA_ERROR_UNMAP_FAILED = 206,
5881    CUDA_ERROR_ARRAY_IS_MAPPED = 207,
5882    CUDA_ERROR_ALREADY_MAPPED = 208,
5883    CUDA_ERROR_NO_BINARY_FOR_GPU = 209,
5884    CUDA_ERROR_ALREADY_ACQUIRED = 210,
5885    CUDA_ERROR_NOT_MAPPED = 211,
5886    CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212,
5887    CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213,
5888    CUDA_ERROR_ECC_UNCORRECTABLE = 214,
5889    CUDA_ERROR_UNSUPPORTED_LIMIT = 215,
5890    CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216,
5891    CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
5892    CUDA_ERROR_INVALID_PTX = 218,
5893    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
5894    CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
5895    CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221,
5896    CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222,
5897    CUDA_ERROR_JIT_COMPILATION_DISABLED = 223,
5898    CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224,
5899    CUDA_ERROR_INVALID_SOURCE = 300,
5900    CUDA_ERROR_FILE_NOT_FOUND = 301,
5901    CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
5902    CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303,
5903    CUDA_ERROR_OPERATING_SYSTEM = 304,
5904    CUDA_ERROR_INVALID_HANDLE = 400,
5905    CUDA_ERROR_ILLEGAL_STATE = 401,
5906    CUDA_ERROR_NOT_FOUND = 500,
5907    CUDA_ERROR_NOT_READY = 600,
5908    CUDA_ERROR_ILLEGAL_ADDRESS = 700,
5909    CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701,
5910    CUDA_ERROR_LAUNCH_TIMEOUT = 702,
5911    CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703,
5912    CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704,
5913    CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705,
5914    CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708,
5915    CUDA_ERROR_CONTEXT_IS_DESTROYED = 709,
5916    CUDA_ERROR_ASSERT = 710,
5917    CUDA_ERROR_TOO_MANY_PEERS = 711,
5918    CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712,
5919    CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713,
5920    CUDA_ERROR_HARDWARE_STACK_ERROR = 714,
5921    CUDA_ERROR_ILLEGAL_INSTRUCTION = 715,
5922    CUDA_ERROR_MISALIGNED_ADDRESS = 716,
5923    CUDA_ERROR_INVALID_ADDRESS_SPACE = 717,
5924    CUDA_ERROR_INVALID_PC = 718,
5925    CUDA_ERROR_LAUNCH_FAILED = 719,
5926    CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720,
5927    CUDA_ERROR_NOT_PERMITTED = 800,
5928    CUDA_ERROR_NOT_SUPPORTED = 801,
5929    CUDA_ERROR_SYSTEM_NOT_READY = 802,
5930    CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803,
5931    CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804,
5932    CUDA_ERROR_MPS_CONNECTION_FAILED = 805,
5933    CUDA_ERROR_MPS_RPC_FAILURE = 806,
5934    CUDA_ERROR_MPS_SERVER_NOT_READY = 807,
5935    CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808,
5936    CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809,
5937    CUDA_ERROR_MPS_CLIENT_TERMINATED = 810,
5938    CUDA_ERROR_CDP_NOT_SUPPORTED = 811,
5939    CUDA_ERROR_CDP_VERSION_MISMATCH = 812,
5940    CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900,
5941    CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901,
5942    CUDA_ERROR_STREAM_CAPTURE_MERGE = 902,
5943    CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903,
5944    CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904,
5945    CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905,
5946    CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906,
5947    CUDA_ERROR_CAPTURED_EVENT = 907,
5948    CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908,
5949    CUDA_ERROR_TIMEOUT = 909,
5950    CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910,
5951    CUDA_ERROR_EXTERNAL_DEVICE = 911,
5952    CUDA_ERROR_INVALID_CLUSTER_SIZE = 912,
5953    CUDA_ERROR_UNKNOWN = 999,
5954}
5955#[cfg(any(feature = "cuda-12010", feature = "cuda-12020"))]
5956#[repr(u32)]
5957#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
5958pub enum cudaError_enum {
5959    CUDA_SUCCESS = 0,
5960    CUDA_ERROR_INVALID_VALUE = 1,
5961    CUDA_ERROR_OUT_OF_MEMORY = 2,
5962    CUDA_ERROR_NOT_INITIALIZED = 3,
5963    CUDA_ERROR_DEINITIALIZED = 4,
5964    CUDA_ERROR_PROFILER_DISABLED = 5,
5965    CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
5966    CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
5967    CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
5968    CUDA_ERROR_STUB_LIBRARY = 34,
5969    CUDA_ERROR_DEVICE_UNAVAILABLE = 46,
5970    CUDA_ERROR_NO_DEVICE = 100,
5971    CUDA_ERROR_INVALID_DEVICE = 101,
5972    CUDA_ERROR_DEVICE_NOT_LICENSED = 102,
5973    CUDA_ERROR_INVALID_IMAGE = 200,
5974    CUDA_ERROR_INVALID_CONTEXT = 201,
5975    CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202,
5976    CUDA_ERROR_MAP_FAILED = 205,
5977    CUDA_ERROR_UNMAP_FAILED = 206,
5978    CUDA_ERROR_ARRAY_IS_MAPPED = 207,
5979    CUDA_ERROR_ALREADY_MAPPED = 208,
5980    CUDA_ERROR_NO_BINARY_FOR_GPU = 209,
5981    CUDA_ERROR_ALREADY_ACQUIRED = 210,
5982    CUDA_ERROR_NOT_MAPPED = 211,
5983    CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212,
5984    CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213,
5985    CUDA_ERROR_ECC_UNCORRECTABLE = 214,
5986    CUDA_ERROR_UNSUPPORTED_LIMIT = 215,
5987    CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216,
5988    CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
5989    CUDA_ERROR_INVALID_PTX = 218,
5990    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
5991    CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
5992    CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221,
5993    CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222,
5994    CUDA_ERROR_JIT_COMPILATION_DISABLED = 223,
5995    CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224,
5996    CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = 225,
5997    CUDA_ERROR_INVALID_SOURCE = 300,
5998    CUDA_ERROR_FILE_NOT_FOUND = 301,
5999    CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
6000    CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303,
6001    CUDA_ERROR_OPERATING_SYSTEM = 304,
6002    CUDA_ERROR_INVALID_HANDLE = 400,
6003    CUDA_ERROR_ILLEGAL_STATE = 401,
6004    CUDA_ERROR_NOT_FOUND = 500,
6005    CUDA_ERROR_NOT_READY = 600,
6006    CUDA_ERROR_ILLEGAL_ADDRESS = 700,
6007    CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701,
6008    CUDA_ERROR_LAUNCH_TIMEOUT = 702,
6009    CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703,
6010    CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704,
6011    CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705,
6012    CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708,
6013    CUDA_ERROR_CONTEXT_IS_DESTROYED = 709,
6014    CUDA_ERROR_ASSERT = 710,
6015    CUDA_ERROR_TOO_MANY_PEERS = 711,
6016    CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712,
6017    CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713,
6018    CUDA_ERROR_HARDWARE_STACK_ERROR = 714,
6019    CUDA_ERROR_ILLEGAL_INSTRUCTION = 715,
6020    CUDA_ERROR_MISALIGNED_ADDRESS = 716,
6021    CUDA_ERROR_INVALID_ADDRESS_SPACE = 717,
6022    CUDA_ERROR_INVALID_PC = 718,
6023    CUDA_ERROR_LAUNCH_FAILED = 719,
6024    CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720,
6025    CUDA_ERROR_NOT_PERMITTED = 800,
6026    CUDA_ERROR_NOT_SUPPORTED = 801,
6027    CUDA_ERROR_SYSTEM_NOT_READY = 802,
6028    CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803,
6029    CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804,
6030    CUDA_ERROR_MPS_CONNECTION_FAILED = 805,
6031    CUDA_ERROR_MPS_RPC_FAILURE = 806,
6032    CUDA_ERROR_MPS_SERVER_NOT_READY = 807,
6033    CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808,
6034    CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809,
6035    CUDA_ERROR_MPS_CLIENT_TERMINATED = 810,
6036    CUDA_ERROR_CDP_NOT_SUPPORTED = 811,
6037    CUDA_ERROR_CDP_VERSION_MISMATCH = 812,
6038    CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900,
6039    CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901,
6040    CUDA_ERROR_STREAM_CAPTURE_MERGE = 902,
6041    CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903,
6042    CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904,
6043    CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905,
6044    CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906,
6045    CUDA_ERROR_CAPTURED_EVENT = 907,
6046    CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908,
6047    CUDA_ERROR_TIMEOUT = 909,
6048    CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910,
6049    CUDA_ERROR_EXTERNAL_DEVICE = 911,
6050    CUDA_ERROR_INVALID_CLUSTER_SIZE = 912,
6051    CUDA_ERROR_UNKNOWN = 999,
6052}
6053#[cfg(any(feature = "cuda-12030"))]
6054#[repr(u32)]
6055#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6056pub enum cudaError_enum {
6057    CUDA_SUCCESS = 0,
6058    CUDA_ERROR_INVALID_VALUE = 1,
6059    CUDA_ERROR_OUT_OF_MEMORY = 2,
6060    CUDA_ERROR_NOT_INITIALIZED = 3,
6061    CUDA_ERROR_DEINITIALIZED = 4,
6062    CUDA_ERROR_PROFILER_DISABLED = 5,
6063    CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
6064    CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
6065    CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
6066    CUDA_ERROR_STUB_LIBRARY = 34,
6067    CUDA_ERROR_DEVICE_UNAVAILABLE = 46,
6068    CUDA_ERROR_NO_DEVICE = 100,
6069    CUDA_ERROR_INVALID_DEVICE = 101,
6070    CUDA_ERROR_DEVICE_NOT_LICENSED = 102,
6071    CUDA_ERROR_INVALID_IMAGE = 200,
6072    CUDA_ERROR_INVALID_CONTEXT = 201,
6073    CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202,
6074    CUDA_ERROR_MAP_FAILED = 205,
6075    CUDA_ERROR_UNMAP_FAILED = 206,
6076    CUDA_ERROR_ARRAY_IS_MAPPED = 207,
6077    CUDA_ERROR_ALREADY_MAPPED = 208,
6078    CUDA_ERROR_NO_BINARY_FOR_GPU = 209,
6079    CUDA_ERROR_ALREADY_ACQUIRED = 210,
6080    CUDA_ERROR_NOT_MAPPED = 211,
6081    CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212,
6082    CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213,
6083    CUDA_ERROR_ECC_UNCORRECTABLE = 214,
6084    CUDA_ERROR_UNSUPPORTED_LIMIT = 215,
6085    CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216,
6086    CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
6087    CUDA_ERROR_INVALID_PTX = 218,
6088    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
6089    CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
6090    CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221,
6091    CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222,
6092    CUDA_ERROR_JIT_COMPILATION_DISABLED = 223,
6093    CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224,
6094    CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = 225,
6095    CUDA_ERROR_INVALID_SOURCE = 300,
6096    CUDA_ERROR_FILE_NOT_FOUND = 301,
6097    CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
6098    CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303,
6099    CUDA_ERROR_OPERATING_SYSTEM = 304,
6100    CUDA_ERROR_INVALID_HANDLE = 400,
6101    CUDA_ERROR_ILLEGAL_STATE = 401,
6102    CUDA_ERROR_LOSSY_QUERY = 402,
6103    CUDA_ERROR_NOT_FOUND = 500,
6104    CUDA_ERROR_NOT_READY = 600,
6105    CUDA_ERROR_ILLEGAL_ADDRESS = 700,
6106    CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701,
6107    CUDA_ERROR_LAUNCH_TIMEOUT = 702,
6108    CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703,
6109    CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704,
6110    CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705,
6111    CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708,
6112    CUDA_ERROR_CONTEXT_IS_DESTROYED = 709,
6113    CUDA_ERROR_ASSERT = 710,
6114    CUDA_ERROR_TOO_MANY_PEERS = 711,
6115    CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712,
6116    CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713,
6117    CUDA_ERROR_HARDWARE_STACK_ERROR = 714,
6118    CUDA_ERROR_ILLEGAL_INSTRUCTION = 715,
6119    CUDA_ERROR_MISALIGNED_ADDRESS = 716,
6120    CUDA_ERROR_INVALID_ADDRESS_SPACE = 717,
6121    CUDA_ERROR_INVALID_PC = 718,
6122    CUDA_ERROR_LAUNCH_FAILED = 719,
6123    CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720,
6124    CUDA_ERROR_NOT_PERMITTED = 800,
6125    CUDA_ERROR_NOT_SUPPORTED = 801,
6126    CUDA_ERROR_SYSTEM_NOT_READY = 802,
6127    CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803,
6128    CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804,
6129    CUDA_ERROR_MPS_CONNECTION_FAILED = 805,
6130    CUDA_ERROR_MPS_RPC_FAILURE = 806,
6131    CUDA_ERROR_MPS_SERVER_NOT_READY = 807,
6132    CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808,
6133    CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809,
6134    CUDA_ERROR_MPS_CLIENT_TERMINATED = 810,
6135    CUDA_ERROR_CDP_NOT_SUPPORTED = 811,
6136    CUDA_ERROR_CDP_VERSION_MISMATCH = 812,
6137    CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900,
6138    CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901,
6139    CUDA_ERROR_STREAM_CAPTURE_MERGE = 902,
6140    CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903,
6141    CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904,
6142    CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905,
6143    CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906,
6144    CUDA_ERROR_CAPTURED_EVENT = 907,
6145    CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908,
6146    CUDA_ERROR_TIMEOUT = 909,
6147    CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910,
6148    CUDA_ERROR_EXTERNAL_DEVICE = 911,
6149    CUDA_ERROR_INVALID_CLUSTER_SIZE = 912,
6150    CUDA_ERROR_UNKNOWN = 999,
6151}
6152#[cfg(any(feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060"))]
6153#[repr(u32)]
6154#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6155pub enum cudaError_enum {
6156    CUDA_SUCCESS = 0,
6157    CUDA_ERROR_INVALID_VALUE = 1,
6158    CUDA_ERROR_OUT_OF_MEMORY = 2,
6159    CUDA_ERROR_NOT_INITIALIZED = 3,
6160    CUDA_ERROR_DEINITIALIZED = 4,
6161    CUDA_ERROR_PROFILER_DISABLED = 5,
6162    CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
6163    CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
6164    CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
6165    CUDA_ERROR_STUB_LIBRARY = 34,
6166    CUDA_ERROR_DEVICE_UNAVAILABLE = 46,
6167    CUDA_ERROR_NO_DEVICE = 100,
6168    CUDA_ERROR_INVALID_DEVICE = 101,
6169    CUDA_ERROR_DEVICE_NOT_LICENSED = 102,
6170    CUDA_ERROR_INVALID_IMAGE = 200,
6171    CUDA_ERROR_INVALID_CONTEXT = 201,
6172    CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202,
6173    CUDA_ERROR_MAP_FAILED = 205,
6174    CUDA_ERROR_UNMAP_FAILED = 206,
6175    CUDA_ERROR_ARRAY_IS_MAPPED = 207,
6176    CUDA_ERROR_ALREADY_MAPPED = 208,
6177    CUDA_ERROR_NO_BINARY_FOR_GPU = 209,
6178    CUDA_ERROR_ALREADY_ACQUIRED = 210,
6179    CUDA_ERROR_NOT_MAPPED = 211,
6180    CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212,
6181    CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213,
6182    CUDA_ERROR_ECC_UNCORRECTABLE = 214,
6183    CUDA_ERROR_UNSUPPORTED_LIMIT = 215,
6184    CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216,
6185    CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
6186    CUDA_ERROR_INVALID_PTX = 218,
6187    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
6188    CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
6189    CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221,
6190    CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222,
6191    CUDA_ERROR_JIT_COMPILATION_DISABLED = 223,
6192    CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224,
6193    CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = 225,
6194    CUDA_ERROR_INVALID_SOURCE = 300,
6195    CUDA_ERROR_FILE_NOT_FOUND = 301,
6196    CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
6197    CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303,
6198    CUDA_ERROR_OPERATING_SYSTEM = 304,
6199    CUDA_ERROR_INVALID_HANDLE = 400,
6200    CUDA_ERROR_ILLEGAL_STATE = 401,
6201    CUDA_ERROR_LOSSY_QUERY = 402,
6202    CUDA_ERROR_NOT_FOUND = 500,
6203    CUDA_ERROR_NOT_READY = 600,
6204    CUDA_ERROR_ILLEGAL_ADDRESS = 700,
6205    CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701,
6206    CUDA_ERROR_LAUNCH_TIMEOUT = 702,
6207    CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703,
6208    CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704,
6209    CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705,
6210    CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708,
6211    CUDA_ERROR_CONTEXT_IS_DESTROYED = 709,
6212    CUDA_ERROR_ASSERT = 710,
6213    CUDA_ERROR_TOO_MANY_PEERS = 711,
6214    CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712,
6215    CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713,
6216    CUDA_ERROR_HARDWARE_STACK_ERROR = 714,
6217    CUDA_ERROR_ILLEGAL_INSTRUCTION = 715,
6218    CUDA_ERROR_MISALIGNED_ADDRESS = 716,
6219    CUDA_ERROR_INVALID_ADDRESS_SPACE = 717,
6220    CUDA_ERROR_INVALID_PC = 718,
6221    CUDA_ERROR_LAUNCH_FAILED = 719,
6222    CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720,
6223    CUDA_ERROR_NOT_PERMITTED = 800,
6224    CUDA_ERROR_NOT_SUPPORTED = 801,
6225    CUDA_ERROR_SYSTEM_NOT_READY = 802,
6226    CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803,
6227    CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804,
6228    CUDA_ERROR_MPS_CONNECTION_FAILED = 805,
6229    CUDA_ERROR_MPS_RPC_FAILURE = 806,
6230    CUDA_ERROR_MPS_SERVER_NOT_READY = 807,
6231    CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808,
6232    CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809,
6233    CUDA_ERROR_MPS_CLIENT_TERMINATED = 810,
6234    CUDA_ERROR_CDP_NOT_SUPPORTED = 811,
6235    CUDA_ERROR_CDP_VERSION_MISMATCH = 812,
6236    CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900,
6237    CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901,
6238    CUDA_ERROR_STREAM_CAPTURE_MERGE = 902,
6239    CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903,
6240    CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904,
6241    CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905,
6242    CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906,
6243    CUDA_ERROR_CAPTURED_EVENT = 907,
6244    CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908,
6245    CUDA_ERROR_TIMEOUT = 909,
6246    CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910,
6247    CUDA_ERROR_EXTERNAL_DEVICE = 911,
6248    CUDA_ERROR_INVALID_CLUSTER_SIZE = 912,
6249    CUDA_ERROR_FUNCTION_NOT_LOADED = 913,
6250    CUDA_ERROR_INVALID_RESOURCE_TYPE = 914,
6251    CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION = 915,
6252    CUDA_ERROR_UNKNOWN = 999,
6253}
6254#[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
6255#[repr(u32)]
6256#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6257pub enum cudaError_enum {
6258    CUDA_SUCCESS = 0,
6259    CUDA_ERROR_INVALID_VALUE = 1,
6260    CUDA_ERROR_OUT_OF_MEMORY = 2,
6261    CUDA_ERROR_NOT_INITIALIZED = 3,
6262    CUDA_ERROR_DEINITIALIZED = 4,
6263    CUDA_ERROR_PROFILER_DISABLED = 5,
6264    CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
6265    CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
6266    CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
6267    CUDA_ERROR_STUB_LIBRARY = 34,
6268    CUDA_ERROR_DEVICE_UNAVAILABLE = 46,
6269    CUDA_ERROR_NO_DEVICE = 100,
6270    CUDA_ERROR_INVALID_DEVICE = 101,
6271    CUDA_ERROR_DEVICE_NOT_LICENSED = 102,
6272    CUDA_ERROR_INVALID_IMAGE = 200,
6273    CUDA_ERROR_INVALID_CONTEXT = 201,
6274    CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202,
6275    CUDA_ERROR_MAP_FAILED = 205,
6276    CUDA_ERROR_UNMAP_FAILED = 206,
6277    CUDA_ERROR_ARRAY_IS_MAPPED = 207,
6278    CUDA_ERROR_ALREADY_MAPPED = 208,
6279    CUDA_ERROR_NO_BINARY_FOR_GPU = 209,
6280    CUDA_ERROR_ALREADY_ACQUIRED = 210,
6281    CUDA_ERROR_NOT_MAPPED = 211,
6282    CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212,
6283    CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213,
6284    CUDA_ERROR_ECC_UNCORRECTABLE = 214,
6285    CUDA_ERROR_UNSUPPORTED_LIMIT = 215,
6286    CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216,
6287    CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
6288    CUDA_ERROR_INVALID_PTX = 218,
6289    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
6290    CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
6291    CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221,
6292    CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222,
6293    CUDA_ERROR_JIT_COMPILATION_DISABLED = 223,
6294    CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224,
6295    CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = 225,
6296    CUDA_ERROR_CONTAINED = 226,
6297    CUDA_ERROR_INVALID_SOURCE = 300,
6298    CUDA_ERROR_FILE_NOT_FOUND = 301,
6299    CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
6300    CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303,
6301    CUDA_ERROR_OPERATING_SYSTEM = 304,
6302    CUDA_ERROR_INVALID_HANDLE = 400,
6303    CUDA_ERROR_ILLEGAL_STATE = 401,
6304    CUDA_ERROR_LOSSY_QUERY = 402,
6305    CUDA_ERROR_NOT_FOUND = 500,
6306    CUDA_ERROR_NOT_READY = 600,
6307    CUDA_ERROR_ILLEGAL_ADDRESS = 700,
6308    CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701,
6309    CUDA_ERROR_LAUNCH_TIMEOUT = 702,
6310    CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703,
6311    CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704,
6312    CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705,
6313    CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708,
6314    CUDA_ERROR_CONTEXT_IS_DESTROYED = 709,
6315    CUDA_ERROR_ASSERT = 710,
6316    CUDA_ERROR_TOO_MANY_PEERS = 711,
6317    CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712,
6318    CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713,
6319    CUDA_ERROR_HARDWARE_STACK_ERROR = 714,
6320    CUDA_ERROR_ILLEGAL_INSTRUCTION = 715,
6321    CUDA_ERROR_MISALIGNED_ADDRESS = 716,
6322    CUDA_ERROR_INVALID_ADDRESS_SPACE = 717,
6323    CUDA_ERROR_INVALID_PC = 718,
6324    CUDA_ERROR_LAUNCH_FAILED = 719,
6325    CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720,
6326    CUDA_ERROR_TENSOR_MEMORY_LEAK = 721,
6327    CUDA_ERROR_NOT_PERMITTED = 800,
6328    CUDA_ERROR_NOT_SUPPORTED = 801,
6329    CUDA_ERROR_SYSTEM_NOT_READY = 802,
6330    CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803,
6331    CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804,
6332    CUDA_ERROR_MPS_CONNECTION_FAILED = 805,
6333    CUDA_ERROR_MPS_RPC_FAILURE = 806,
6334    CUDA_ERROR_MPS_SERVER_NOT_READY = 807,
6335    CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808,
6336    CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809,
6337    CUDA_ERROR_MPS_CLIENT_TERMINATED = 810,
6338    CUDA_ERROR_CDP_NOT_SUPPORTED = 811,
6339    CUDA_ERROR_CDP_VERSION_MISMATCH = 812,
6340    CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900,
6341    CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901,
6342    CUDA_ERROR_STREAM_CAPTURE_MERGE = 902,
6343    CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903,
6344    CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904,
6345    CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905,
6346    CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906,
6347    CUDA_ERROR_CAPTURED_EVENT = 907,
6348    CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908,
6349    CUDA_ERROR_TIMEOUT = 909,
6350    CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910,
6351    CUDA_ERROR_EXTERNAL_DEVICE = 911,
6352    CUDA_ERROR_INVALID_CLUSTER_SIZE = 912,
6353    CUDA_ERROR_FUNCTION_NOT_LOADED = 913,
6354    CUDA_ERROR_INVALID_RESOURCE_TYPE = 914,
6355    CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION = 915,
6356    CUDA_ERROR_KEY_ROTATION = 916,
6357    CUDA_ERROR_UNKNOWN = 999,
6358}
6359#[cfg(any(feature = "cuda-13000"))]
6360#[repr(u32)]
6361#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6362pub enum cudaError_enum {
6363    CUDA_SUCCESS = 0,
6364    CUDA_ERROR_INVALID_VALUE = 1,
6365    CUDA_ERROR_OUT_OF_MEMORY = 2,
6366    CUDA_ERROR_NOT_INITIALIZED = 3,
6367    CUDA_ERROR_DEINITIALIZED = 4,
6368    CUDA_ERROR_PROFILER_DISABLED = 5,
6369    CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
6370    CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
6371    CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
6372    CUDA_ERROR_STUB_LIBRARY = 34,
6373    CUDA_ERROR_CALL_REQUIRES_NEWER_DRIVER = 36,
6374    CUDA_ERROR_DEVICE_UNAVAILABLE = 46,
6375    CUDA_ERROR_NO_DEVICE = 100,
6376    CUDA_ERROR_INVALID_DEVICE = 101,
6377    CUDA_ERROR_DEVICE_NOT_LICENSED = 102,
6378    CUDA_ERROR_INVALID_IMAGE = 200,
6379    CUDA_ERROR_INVALID_CONTEXT = 201,
6380    CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202,
6381    CUDA_ERROR_MAP_FAILED = 205,
6382    CUDA_ERROR_UNMAP_FAILED = 206,
6383    CUDA_ERROR_ARRAY_IS_MAPPED = 207,
6384    CUDA_ERROR_ALREADY_MAPPED = 208,
6385    CUDA_ERROR_NO_BINARY_FOR_GPU = 209,
6386    CUDA_ERROR_ALREADY_ACQUIRED = 210,
6387    CUDA_ERROR_NOT_MAPPED = 211,
6388    CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212,
6389    CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213,
6390    CUDA_ERROR_ECC_UNCORRECTABLE = 214,
6391    CUDA_ERROR_UNSUPPORTED_LIMIT = 215,
6392    CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 216,
6393    CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
6394    CUDA_ERROR_INVALID_PTX = 218,
6395    CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
6396    CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
6397    CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 221,
6398    CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 222,
6399    CUDA_ERROR_JIT_COMPILATION_DISABLED = 223,
6400    CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224,
6401    CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = 225,
6402    CUDA_ERROR_CONTAINED = 226,
6403    CUDA_ERROR_INVALID_SOURCE = 300,
6404    CUDA_ERROR_FILE_NOT_FOUND = 301,
6405    CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
6406    CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303,
6407    CUDA_ERROR_OPERATING_SYSTEM = 304,
6408    CUDA_ERROR_INVALID_HANDLE = 400,
6409    CUDA_ERROR_ILLEGAL_STATE = 401,
6410    CUDA_ERROR_LOSSY_QUERY = 402,
6411    CUDA_ERROR_NOT_FOUND = 500,
6412    CUDA_ERROR_NOT_READY = 600,
6413    CUDA_ERROR_ILLEGAL_ADDRESS = 700,
6414    CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701,
6415    CUDA_ERROR_LAUNCH_TIMEOUT = 702,
6416    CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703,
6417    CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 704,
6418    CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 705,
6419    CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 708,
6420    CUDA_ERROR_CONTEXT_IS_DESTROYED = 709,
6421    CUDA_ERROR_ASSERT = 710,
6422    CUDA_ERROR_TOO_MANY_PEERS = 711,
6423    CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 712,
6424    CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 713,
6425    CUDA_ERROR_HARDWARE_STACK_ERROR = 714,
6426    CUDA_ERROR_ILLEGAL_INSTRUCTION = 715,
6427    CUDA_ERROR_MISALIGNED_ADDRESS = 716,
6428    CUDA_ERROR_INVALID_ADDRESS_SPACE = 717,
6429    CUDA_ERROR_INVALID_PC = 718,
6430    CUDA_ERROR_LAUNCH_FAILED = 719,
6431    CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720,
6432    CUDA_ERROR_TENSOR_MEMORY_LEAK = 721,
6433    CUDA_ERROR_NOT_PERMITTED = 800,
6434    CUDA_ERROR_NOT_SUPPORTED = 801,
6435    CUDA_ERROR_SYSTEM_NOT_READY = 802,
6436    CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 803,
6437    CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 804,
6438    CUDA_ERROR_MPS_CONNECTION_FAILED = 805,
6439    CUDA_ERROR_MPS_RPC_FAILURE = 806,
6440    CUDA_ERROR_MPS_SERVER_NOT_READY = 807,
6441    CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 808,
6442    CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 809,
6443    CUDA_ERROR_MPS_CLIENT_TERMINATED = 810,
6444    CUDA_ERROR_CDP_NOT_SUPPORTED = 811,
6445    CUDA_ERROR_CDP_VERSION_MISMATCH = 812,
6446    CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900,
6447    CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 901,
6448    CUDA_ERROR_STREAM_CAPTURE_MERGE = 902,
6449    CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 903,
6450    CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 904,
6451    CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 905,
6452    CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 906,
6453    CUDA_ERROR_CAPTURED_EVENT = 907,
6454    CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908,
6455    CUDA_ERROR_TIMEOUT = 909,
6456    CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 910,
6457    CUDA_ERROR_EXTERNAL_DEVICE = 911,
6458    CUDA_ERROR_INVALID_CLUSTER_SIZE = 912,
6459    CUDA_ERROR_FUNCTION_NOT_LOADED = 913,
6460    CUDA_ERROR_INVALID_RESOURCE_TYPE = 914,
6461    CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION = 915,
6462    CUDA_ERROR_KEY_ROTATION = 916,
6463    CUDA_ERROR_UNKNOWN = 999,
6464}
6465#[repr(C)]
6466#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6467pub struct CUDA_ARRAY3D_DESCRIPTOR_st {
6468    pub Width: usize,
6469    pub Height: usize,
6470    pub Depth: usize,
6471    pub Format: CUarray_format,
6472    pub NumChannels: ::core::ffi::c_uint,
6473    pub Flags: ::core::ffi::c_uint,
6474}
6475#[repr(C)]
6476#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6477pub struct CUDA_ARRAY_DESCRIPTOR_st {
6478    pub Width: usize,
6479    pub Height: usize,
6480    pub Format: CUarray_format,
6481    pub NumChannels: ::core::ffi::c_uint,
6482}
6483#[cfg(any(
6484    feature = "cuda-11060",
6485    feature = "cuda-11070",
6486    feature = "cuda-11080",
6487    feature = "cuda-12000",
6488    feature = "cuda-12010",
6489    feature = "cuda-12020",
6490    feature = "cuda-12030",
6491    feature = "cuda-12040",
6492    feature = "cuda-12050",
6493    feature = "cuda-12060",
6494    feature = "cuda-12080",
6495    feature = "cuda-12090",
6496    feature = "cuda-13000"
6497))]
6498#[repr(C)]
6499#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6500pub struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st {
6501    pub size: usize,
6502    pub alignment: usize,
6503    pub reserved: [::core::ffi::c_uint; 4usize],
6504}
6505#[repr(C)]
6506#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6507pub struct CUDA_ARRAY_SPARSE_PROPERTIES_st {
6508    pub tileExtent: CUDA_ARRAY_SPARSE_PROPERTIES_st__bindgen_ty_1,
6509    pub miptailFirstLevel: ::core::ffi::c_uint,
6510    pub miptailSize: ::core::ffi::c_ulonglong,
6511    pub flags: ::core::ffi::c_uint,
6512    pub reserved: [::core::ffi::c_uint; 4usize],
6513}
6514#[repr(C)]
6515#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6516pub struct CUDA_ARRAY_SPARSE_PROPERTIES_st__bindgen_ty_1 {
6517    pub width: ::core::ffi::c_uint,
6518    pub height: ::core::ffi::c_uint,
6519    pub depth: ::core::ffi::c_uint,
6520}
6521#[cfg(any(
6522    feature = "cuda-11070",
6523    feature = "cuda-11080",
6524    feature = "cuda-12000",
6525    feature = "cuda-12010"
6526))]
6527#[repr(C)]
6528#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6529pub struct CUDA_BATCH_MEM_OP_NODE_PARAMS_st {
6530    pub ctx: CUcontext,
6531    pub count: ::core::ffi::c_uint,
6532    pub paramArray: *mut CUstreamBatchMemOpParams,
6533    pub flags: ::core::ffi::c_uint,
6534}
6535#[cfg(any(
6536    feature = "cuda-12020",
6537    feature = "cuda-12030",
6538    feature = "cuda-12040",
6539    feature = "cuda-12050",
6540    feature = "cuda-12060",
6541    feature = "cuda-12080",
6542    feature = "cuda-12090",
6543    feature = "cuda-13000"
6544))]
6545#[repr(C)]
6546#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6547pub struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st {
6548    pub ctx: CUcontext,
6549    pub count: ::core::ffi::c_uint,
6550    pub paramArray: *mut CUstreamBatchMemOpParams,
6551    pub flags: ::core::ffi::c_uint,
6552}
6553#[cfg(any(
6554    feature = "cuda-12020",
6555    feature = "cuda-12030",
6556    feature = "cuda-12040",
6557    feature = "cuda-12050",
6558    feature = "cuda-12060",
6559    feature = "cuda-12080",
6560    feature = "cuda-12090",
6561    feature = "cuda-13000"
6562))]
6563#[repr(C)]
6564#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6565pub struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st {
6566    pub ctx: CUcontext,
6567    pub count: ::core::ffi::c_uint,
6568    pub paramArray: *mut CUstreamBatchMemOpParams,
6569    pub flags: ::core::ffi::c_uint,
6570}
6571#[cfg(any(
6572    feature = "cuda-12020",
6573    feature = "cuda-12030",
6574    feature = "cuda-12040",
6575    feature = "cuda-12050",
6576    feature = "cuda-12060",
6577    feature = "cuda-12080"
6578))]
6579#[repr(C)]
6580#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6581pub struct CUDA_CHILD_GRAPH_NODE_PARAMS_st {
6582    pub graph: CUgraph,
6583}
6584#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
6585#[repr(C)]
6586#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6587pub struct CUDA_CHILD_GRAPH_NODE_PARAMS_st {
6588    pub graph: CUgraph,
6589    pub ownership: CUgraphChildGraphNodeOwnership,
6590}
6591#[cfg(any(
6592    feature = "cuda-12030",
6593    feature = "cuda-12040",
6594    feature = "cuda-12050",
6595    feature = "cuda-12060",
6596    feature = "cuda-12080",
6597    feature = "cuda-12090",
6598    feature = "cuda-13000"
6599))]
6600#[repr(C)]
6601#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6602pub struct CUDA_CONDITIONAL_NODE_PARAMS {
6603    pub handle: CUgraphConditionalHandle,
6604    pub type_: CUgraphConditionalNodeType,
6605    pub size: ::core::ffi::c_uint,
6606    pub phGraph_out: *mut CUgraph,
6607    pub ctx: CUcontext,
6608}
6609#[cfg(any(
6610    feature = "cuda-12020",
6611    feature = "cuda-12030",
6612    feature = "cuda-12040",
6613    feature = "cuda-12050",
6614    feature = "cuda-12060",
6615    feature = "cuda-12080",
6616    feature = "cuda-12090",
6617    feature = "cuda-13000"
6618))]
6619#[repr(C)]
6620#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6621pub struct CUDA_EVENT_RECORD_NODE_PARAMS_st {
6622    pub event: CUevent,
6623}
6624#[cfg(any(
6625    feature = "cuda-12020",
6626    feature = "cuda-12030",
6627    feature = "cuda-12040",
6628    feature = "cuda-12050",
6629    feature = "cuda-12060",
6630    feature = "cuda-12080",
6631    feature = "cuda-12090",
6632    feature = "cuda-13000"
6633))]
6634#[repr(C)]
6635#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6636pub struct CUDA_EVENT_WAIT_NODE_PARAMS_st {
6637    pub event: CUevent,
6638}
6639#[repr(C)]
6640#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6641pub struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st {
6642    pub offset: ::core::ffi::c_ulonglong,
6643    pub size: ::core::ffi::c_ulonglong,
6644    pub flags: ::core::ffi::c_uint,
6645    pub reserved: [::core::ffi::c_uint; 16usize],
6646}
6647#[repr(C)]
6648#[derive(Copy, Clone)]
6649pub struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st {
6650    pub type_: CUexternalMemoryHandleType,
6651    pub handle: CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st__bindgen_ty_1,
6652    pub size: ::core::ffi::c_ulonglong,
6653    pub flags: ::core::ffi::c_uint,
6654    pub reserved: [::core::ffi::c_uint; 16usize],
6655}
6656#[repr(C)]
6657#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6658pub struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st__bindgen_ty_1__bindgen_ty_1 {
6659    pub handle: *mut ::core::ffi::c_void,
6660    pub name: *const ::core::ffi::c_void,
6661}
6662#[repr(C)]
6663#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6664pub struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st {
6665    pub offset: ::core::ffi::c_ulonglong,
6666    pub arrayDesc: CUDA_ARRAY3D_DESCRIPTOR,
6667    pub numLevels: ::core::ffi::c_uint,
6668    pub reserved: [::core::ffi::c_uint; 16usize],
6669}
6670#[repr(C)]
6671#[derive(Copy, Clone)]
6672pub struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st {
6673    pub type_: CUexternalSemaphoreHandleType,
6674    pub handle: CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st__bindgen_ty_1,
6675    pub flags: ::core::ffi::c_uint,
6676    pub reserved: [::core::ffi::c_uint; 16usize],
6677}
6678#[repr(C)]
6679#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6680pub struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st__bindgen_ty_1__bindgen_ty_1 {
6681    pub handle: *mut ::core::ffi::c_void,
6682    pub name: *const ::core::ffi::c_void,
6683}
6684#[repr(C)]
6685#[derive(Copy, Clone)]
6686pub struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st {
6687    pub params: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__bindgen_ty_1,
6688    pub flags: ::core::ffi::c_uint,
6689    pub reserved: [::core::ffi::c_uint; 16usize],
6690}
6691#[repr(C)]
6692#[derive(Copy, Clone)]
6693pub struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__bindgen_ty_1 {
6694    pub fence: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__bindgen_ty_1__bindgen_ty_1,
6695    pub nvSciSync: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__bindgen_ty_1__bindgen_ty_2,
6696    pub keyedMutex: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__bindgen_ty_1__bindgen_ty_3,
6697    pub reserved: [::core::ffi::c_uint; 12usize],
6698}
6699#[repr(C)]
6700#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6701pub struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__bindgen_ty_1__bindgen_ty_1 {
6702    pub value: ::core::ffi::c_ulonglong,
6703}
6704#[repr(C)]
6705#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6706pub struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__bindgen_ty_1__bindgen_ty_3 {
6707    pub key: ::core::ffi::c_ulonglong,
6708}
6709#[repr(C)]
6710#[derive(Copy, Clone)]
6711pub struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st {
6712    pub params: CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__bindgen_ty_1,
6713    pub flags: ::core::ffi::c_uint,
6714    pub reserved: [::core::ffi::c_uint; 16usize],
6715}
6716#[repr(C)]
6717#[derive(Copy, Clone)]
6718pub struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__bindgen_ty_1 {
6719    pub fence: CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__bindgen_ty_1__bindgen_ty_1,
6720    pub nvSciSync: CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__bindgen_ty_1__bindgen_ty_2,
6721    pub keyedMutex: CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__bindgen_ty_1__bindgen_ty_3,
6722    pub reserved: [::core::ffi::c_uint; 10usize],
6723}
6724#[repr(C)]
6725#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6726pub struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__bindgen_ty_1__bindgen_ty_1 {
6727    pub value: ::core::ffi::c_ulonglong,
6728}
6729#[repr(C)]
6730#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6731pub struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__bindgen_ty_1__bindgen_ty_3 {
6732    pub key: ::core::ffi::c_ulonglong,
6733    pub timeoutMs: ::core::ffi::c_uint,
6734}
6735#[repr(C)]
6736#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6737pub struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st {
6738    pub extSemArray: *mut CUexternalSemaphore,
6739    pub paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,
6740    pub numExtSems: ::core::ffi::c_uint,
6741}
6742#[cfg(any(
6743    feature = "cuda-12020",
6744    feature = "cuda-12030",
6745    feature = "cuda-12040",
6746    feature = "cuda-12050",
6747    feature = "cuda-12060",
6748    feature = "cuda-12080",
6749    feature = "cuda-12090",
6750    feature = "cuda-13000"
6751))]
6752#[repr(C)]
6753#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6754pub struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st {
6755    pub extSemArray: *mut CUexternalSemaphore,
6756    pub paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,
6757    pub numExtSems: ::core::ffi::c_uint,
6758}
6759#[repr(C)]
6760#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6761pub struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st {
6762    pub extSemArray: *mut CUexternalSemaphore,
6763    pub paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,
6764    pub numExtSems: ::core::ffi::c_uint,
6765}
6766#[cfg(any(
6767    feature = "cuda-12020",
6768    feature = "cuda-12030",
6769    feature = "cuda-12040",
6770    feature = "cuda-12050",
6771    feature = "cuda-12060",
6772    feature = "cuda-12080",
6773    feature = "cuda-12090",
6774    feature = "cuda-13000"
6775))]
6776#[repr(C)]
6777#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6778pub struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st {
6779    pub extSemArray: *mut CUexternalSemaphore,
6780    pub paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,
6781    pub numExtSems: ::core::ffi::c_uint,
6782}
6783#[cfg(any(
6784    feature = "cuda-12000",
6785    feature = "cuda-12010",
6786    feature = "cuda-12020",
6787    feature = "cuda-12030",
6788    feature = "cuda-12040",
6789    feature = "cuda-12050",
6790    feature = "cuda-12060",
6791    feature = "cuda-12080",
6792    feature = "cuda-12090",
6793    feature = "cuda-13000"
6794))]
6795#[repr(C)]
6796#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6797pub struct CUDA_GRAPH_INSTANTIATE_PARAMS_st {
6798    pub flags: cuuint64_t,
6799    pub hUploadStream: CUstream,
6800    pub hErrNode_out: CUgraphNode,
6801    pub result_out: CUgraphInstantiateResult,
6802}
6803#[repr(C)]
6804#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6805pub struct CUDA_HOST_NODE_PARAMS_st {
6806    pub fn_: CUhostFn,
6807    pub userData: *mut ::core::ffi::c_void,
6808}
6809#[cfg(any(
6810    feature = "cuda-12020",
6811    feature = "cuda-12030",
6812    feature = "cuda-12040",
6813    feature = "cuda-12050",
6814    feature = "cuda-12060",
6815    feature = "cuda-12080",
6816    feature = "cuda-12090",
6817    feature = "cuda-13000"
6818))]
6819#[repr(C)]
6820#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6821pub struct CUDA_HOST_NODE_PARAMS_v2_st {
6822    pub fn_: CUhostFn,
6823    pub userData: *mut ::core::ffi::c_void,
6824}
6825#[repr(C)]
6826#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6827pub struct CUDA_KERNEL_NODE_PARAMS_st {
6828    pub func: CUfunction,
6829    pub gridDimX: ::core::ffi::c_uint,
6830    pub gridDimY: ::core::ffi::c_uint,
6831    pub gridDimZ: ::core::ffi::c_uint,
6832    pub blockDimX: ::core::ffi::c_uint,
6833    pub blockDimY: ::core::ffi::c_uint,
6834    pub blockDimZ: ::core::ffi::c_uint,
6835    pub sharedMemBytes: ::core::ffi::c_uint,
6836    pub kernelParams: *mut *mut ::core::ffi::c_void,
6837    pub extra: *mut *mut ::core::ffi::c_void,
6838}
6839#[cfg(any(
6840    feature = "cuda-12000",
6841    feature = "cuda-12010",
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))]
6851#[repr(C)]
6852#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6853pub struct CUDA_KERNEL_NODE_PARAMS_v2_st {
6854    pub func: CUfunction,
6855    pub gridDimX: ::core::ffi::c_uint,
6856    pub gridDimY: ::core::ffi::c_uint,
6857    pub gridDimZ: ::core::ffi::c_uint,
6858    pub blockDimX: ::core::ffi::c_uint,
6859    pub blockDimY: ::core::ffi::c_uint,
6860    pub blockDimZ: ::core::ffi::c_uint,
6861    pub sharedMemBytes: ::core::ffi::c_uint,
6862    pub kernelParams: *mut *mut ::core::ffi::c_void,
6863    pub extra: *mut *mut ::core::ffi::c_void,
6864    pub kern: CUkernel,
6865    pub ctx: CUcontext,
6866}
6867#[cfg(any(
6868    feature = "cuda-12020",
6869    feature = "cuda-12030",
6870    feature = "cuda-12040",
6871    feature = "cuda-12050",
6872    feature = "cuda-12060",
6873    feature = "cuda-12080",
6874    feature = "cuda-12090",
6875    feature = "cuda-13000"
6876))]
6877#[repr(C)]
6878#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6879pub struct CUDA_KERNEL_NODE_PARAMS_v3_st {
6880    pub func: CUfunction,
6881    pub gridDimX: ::core::ffi::c_uint,
6882    pub gridDimY: ::core::ffi::c_uint,
6883    pub gridDimZ: ::core::ffi::c_uint,
6884    pub blockDimX: ::core::ffi::c_uint,
6885    pub blockDimY: ::core::ffi::c_uint,
6886    pub blockDimZ: ::core::ffi::c_uint,
6887    pub sharedMemBytes: ::core::ffi::c_uint,
6888    pub kernelParams: *mut *mut ::core::ffi::c_void,
6889    pub extra: *mut *mut ::core::ffi::c_void,
6890    pub kern: CUkernel,
6891    pub ctx: CUcontext,
6892}
6893#[repr(C)]
6894#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6895pub struct CUDA_LAUNCH_PARAMS_st {
6896    pub function: CUfunction,
6897    pub gridDimX: ::core::ffi::c_uint,
6898    pub gridDimY: ::core::ffi::c_uint,
6899    pub gridDimZ: ::core::ffi::c_uint,
6900    pub blockDimX: ::core::ffi::c_uint,
6901    pub blockDimY: ::core::ffi::c_uint,
6902    pub blockDimZ: ::core::ffi::c_uint,
6903    pub sharedMemBytes: ::core::ffi::c_uint,
6904    pub hStream: CUstream,
6905    pub kernelParams: *mut *mut ::core::ffi::c_void,
6906}
6907#[repr(C)]
6908#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6909pub struct CUDA_MEMCPY2D_st {
6910    pub srcXInBytes: usize,
6911    pub srcY: usize,
6912    pub srcMemoryType: CUmemorytype,
6913    pub srcHost: *const ::core::ffi::c_void,
6914    pub srcDevice: CUdeviceptr,
6915    pub srcArray: CUarray,
6916    pub srcPitch: usize,
6917    pub dstXInBytes: usize,
6918    pub dstY: usize,
6919    pub dstMemoryType: CUmemorytype,
6920    pub dstHost: *mut ::core::ffi::c_void,
6921    pub dstDevice: CUdeviceptr,
6922    pub dstArray: CUarray,
6923    pub dstPitch: usize,
6924    pub WidthInBytes: usize,
6925    pub Height: usize,
6926}
6927#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
6928#[repr(C)]
6929#[derive(Copy, Clone)]
6930pub struct CUDA_MEMCPY3D_BATCH_OP_st {
6931    pub src: CUmemcpy3DOperand,
6932    pub dst: CUmemcpy3DOperand,
6933    pub extent: CUextent3D,
6934    pub srcAccessOrder: CUmemcpySrcAccessOrder,
6935    pub flags: ::core::ffi::c_uint,
6936}
6937#[repr(C)]
6938#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6939pub struct CUDA_MEMCPY3D_PEER_st {
6940    pub srcXInBytes: usize,
6941    pub srcY: usize,
6942    pub srcZ: usize,
6943    pub srcLOD: usize,
6944    pub srcMemoryType: CUmemorytype,
6945    pub srcHost: *const ::core::ffi::c_void,
6946    pub srcDevice: CUdeviceptr,
6947    pub srcArray: CUarray,
6948    pub srcContext: CUcontext,
6949    pub srcPitch: usize,
6950    pub srcHeight: usize,
6951    pub dstXInBytes: usize,
6952    pub dstY: usize,
6953    pub dstZ: usize,
6954    pub dstLOD: usize,
6955    pub dstMemoryType: CUmemorytype,
6956    pub dstHost: *mut ::core::ffi::c_void,
6957    pub dstDevice: CUdeviceptr,
6958    pub dstArray: CUarray,
6959    pub dstContext: CUcontext,
6960    pub dstPitch: usize,
6961    pub dstHeight: usize,
6962    pub WidthInBytes: usize,
6963    pub Height: usize,
6964    pub Depth: usize,
6965}
6966#[repr(C)]
6967#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
6968pub struct CUDA_MEMCPY3D_st {
6969    pub srcXInBytes: usize,
6970    pub srcY: usize,
6971    pub srcZ: usize,
6972    pub srcLOD: usize,
6973    pub srcMemoryType: CUmemorytype,
6974    pub srcHost: *const ::core::ffi::c_void,
6975    pub srcDevice: CUdeviceptr,
6976    pub srcArray: CUarray,
6977    pub reserved0: *mut ::core::ffi::c_void,
6978    pub srcPitch: usize,
6979    pub srcHeight: usize,
6980    pub dstXInBytes: usize,
6981    pub dstY: usize,
6982    pub dstZ: usize,
6983    pub dstLOD: usize,
6984    pub dstMemoryType: CUmemorytype,
6985    pub dstHost: *mut ::core::ffi::c_void,
6986    pub dstDevice: CUdeviceptr,
6987    pub dstArray: CUarray,
6988    pub reserved1: *mut ::core::ffi::c_void,
6989    pub dstPitch: usize,
6990    pub dstHeight: usize,
6991    pub WidthInBytes: usize,
6992    pub Height: usize,
6993    pub Depth: usize,
6994}
6995#[cfg(any(
6996    feature = "cuda-12020",
6997    feature = "cuda-12030",
6998    feature = "cuda-12040",
6999    feature = "cuda-12050",
7000    feature = "cuda-12060",
7001    feature = "cuda-12080",
7002    feature = "cuda-12090",
7003    feature = "cuda-13000"
7004))]
7005#[repr(C)]
7006#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7007pub struct CUDA_MEMCPY_NODE_PARAMS_st {
7008    pub flags: ::core::ffi::c_int,
7009    pub reserved: ::core::ffi::c_int,
7010    pub copyCtx: CUcontext,
7011    pub copyParams: CUDA_MEMCPY3D,
7012}
7013#[repr(C)]
7014#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7015pub struct CUDA_MEMSET_NODE_PARAMS_st {
7016    pub dst: CUdeviceptr,
7017    pub pitch: usize,
7018    pub value: ::core::ffi::c_uint,
7019    pub elementSize: ::core::ffi::c_uint,
7020    pub width: usize,
7021    pub height: usize,
7022}
7023#[cfg(any(
7024    feature = "cuda-12020",
7025    feature = "cuda-12030",
7026    feature = "cuda-12040",
7027    feature = "cuda-12050",
7028    feature = "cuda-12060",
7029    feature = "cuda-12080",
7030    feature = "cuda-12090",
7031    feature = "cuda-13000"
7032))]
7033#[repr(C)]
7034#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7035pub struct CUDA_MEMSET_NODE_PARAMS_v2_st {
7036    pub dst: CUdeviceptr,
7037    pub pitch: usize,
7038    pub value: ::core::ffi::c_uint,
7039    pub elementSize: ::core::ffi::c_uint,
7040    pub width: usize,
7041    pub height: usize,
7042    pub ctx: CUcontext,
7043}
7044#[cfg(any(
7045    feature = "cuda-11040",
7046    feature = "cuda-11050",
7047    feature = "cuda-11060",
7048    feature = "cuda-11070",
7049    feature = "cuda-11080",
7050    feature = "cuda-12000",
7051    feature = "cuda-12010"
7052))]
7053#[repr(C)]
7054#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7055pub struct CUDA_MEM_ALLOC_NODE_PARAMS_st {
7056    pub poolProps: CUmemPoolProps,
7057    pub accessDescs: *const CUmemAccessDesc,
7058    pub accessDescCount: usize,
7059    pub bytesize: usize,
7060    pub dptr: CUdeviceptr,
7061}
7062#[cfg(any(
7063    feature = "cuda-12020",
7064    feature = "cuda-12030",
7065    feature = "cuda-12040",
7066    feature = "cuda-12050",
7067    feature = "cuda-12060",
7068    feature = "cuda-12080",
7069    feature = "cuda-12090",
7070    feature = "cuda-13000"
7071))]
7072#[repr(C)]
7073#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7074pub struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st {
7075    pub poolProps: CUmemPoolProps,
7076    pub accessDescs: *const CUmemAccessDesc,
7077    pub accessDescCount: usize,
7078    pub bytesize: usize,
7079    pub dptr: CUdeviceptr,
7080}
7081#[cfg(any(
7082    feature = "cuda-12020",
7083    feature = "cuda-12030",
7084    feature = "cuda-12040",
7085    feature = "cuda-12050",
7086    feature = "cuda-12060",
7087    feature = "cuda-12080",
7088    feature = "cuda-12090",
7089    feature = "cuda-13000"
7090))]
7091#[repr(C)]
7092#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7093pub struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st {
7094    pub poolProps: CUmemPoolProps,
7095    pub accessDescs: *const CUmemAccessDesc,
7096    pub accessDescCount: usize,
7097    pub bytesize: usize,
7098    pub dptr: CUdeviceptr,
7099}
7100#[cfg(any(
7101    feature = "cuda-12020",
7102    feature = "cuda-12030",
7103    feature = "cuda-12040",
7104    feature = "cuda-12050",
7105    feature = "cuda-12060",
7106    feature = "cuda-12080",
7107    feature = "cuda-12090",
7108    feature = "cuda-13000"
7109))]
7110#[repr(C)]
7111#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7112pub struct CUDA_MEM_FREE_NODE_PARAMS_st {
7113    pub dptr: CUdeviceptr,
7114}
7115#[repr(C)]
7116#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7117pub struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st {
7118    pub p2pToken: ::core::ffi::c_ulonglong,
7119    pub vaSpaceToken: ::core::ffi::c_uint,
7120}
7121#[repr(C)]
7122#[derive(Copy, Clone)]
7123pub struct CUDA_RESOURCE_DESC_st {
7124    pub resType: CUresourcetype,
7125    pub res: CUDA_RESOURCE_DESC_st__bindgen_ty_1,
7126    pub flags: ::core::ffi::c_uint,
7127}
7128#[repr(C)]
7129#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7130pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_1 {
7131    pub hArray: CUarray,
7132}
7133#[repr(C)]
7134#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7135pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_2 {
7136    pub hMipmappedArray: CUmipmappedArray,
7137}
7138#[repr(C)]
7139#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7140pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_3 {
7141    pub devPtr: CUdeviceptr,
7142    pub format: CUarray_format,
7143    pub numChannels: ::core::ffi::c_uint,
7144    pub sizeInBytes: usize,
7145}
7146#[repr(C)]
7147#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7148pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_4 {
7149    pub devPtr: CUdeviceptr,
7150    pub format: CUarray_format,
7151    pub numChannels: ::core::ffi::c_uint,
7152    pub width: usize,
7153    pub height: usize,
7154    pub pitchInBytes: usize,
7155}
7156#[repr(C)]
7157#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7158pub struct CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_5 {
7159    pub reserved: [::core::ffi::c_int; 32usize],
7160}
7161#[repr(C)]
7162#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7163pub struct CUDA_RESOURCE_VIEW_DESC_st {
7164    pub format: CUresourceViewFormat,
7165    pub width: usize,
7166    pub height: usize,
7167    pub depth: usize,
7168    pub firstMipmapLevel: ::core::ffi::c_uint,
7169    pub lastMipmapLevel: ::core::ffi::c_uint,
7170    pub firstLayer: ::core::ffi::c_uint,
7171    pub lastLayer: ::core::ffi::c_uint,
7172    pub reserved: [::core::ffi::c_uint; 16usize],
7173}
7174#[repr(C)]
7175#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
7176pub struct CUDA_TEXTURE_DESC_st {
7177    pub addressMode: [CUaddress_mode; 3usize],
7178    pub filterMode: CUfilter_mode,
7179    pub flags: ::core::ffi::c_uint,
7180    pub maxAnisotropy: ::core::ffi::c_uint,
7181    pub mipmapFilterMode: CUfilter_mode,
7182    pub mipmapLevelBias: f32,
7183    pub minMipmapLevelClamp: f32,
7184    pub maxMipmapLevelClamp: f32,
7185    pub borderColor: [f32; 4usize],
7186    pub reserved: [::core::ffi::c_int; 12usize],
7187}
7188#[repr(C)]
7189#[derive(Debug, Copy, Clone, PartialOrd, PartialEq)]
7190pub struct CUaccessPolicyWindow_st {
7191    pub base_ptr: *mut ::core::ffi::c_void,
7192    pub num_bytes: usize,
7193    pub hitRatio: f32,
7194    pub hitProp: CUaccessProperty,
7195    pub missProp: CUaccessProperty,
7196}
7197#[repr(C)]
7198#[derive(Copy, Clone)]
7199pub struct CUarrayMapInfo_st {
7200    pub resourceType: CUresourcetype,
7201    pub resource: CUarrayMapInfo_st__bindgen_ty_1,
7202    pub subresourceType: CUarraySparseSubresourceType,
7203    pub subresource: CUarrayMapInfo_st__bindgen_ty_2,
7204    pub memOperationType: CUmemOperationType,
7205    pub memHandleType: CUmemHandleType,
7206    pub memHandle: CUarrayMapInfo_st__bindgen_ty_3,
7207    pub offset: ::core::ffi::c_ulonglong,
7208    pub deviceBitMask: ::core::ffi::c_uint,
7209    pub flags: ::core::ffi::c_uint,
7210    pub reserved: [::core::ffi::c_uint; 2usize],
7211}
7212#[repr(C)]
7213#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7214pub struct CUarrayMapInfo_st__bindgen_ty_2__bindgen_ty_1 {
7215    pub level: ::core::ffi::c_uint,
7216    pub layer: ::core::ffi::c_uint,
7217    pub offsetX: ::core::ffi::c_uint,
7218    pub offsetY: ::core::ffi::c_uint,
7219    pub offsetZ: ::core::ffi::c_uint,
7220    pub extentWidth: ::core::ffi::c_uint,
7221    pub extentHeight: ::core::ffi::c_uint,
7222    pub extentDepth: ::core::ffi::c_uint,
7223}
7224#[repr(C)]
7225#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7226pub struct CUarrayMapInfo_st__bindgen_ty_2__bindgen_ty_2 {
7227    pub layer: ::core::ffi::c_uint,
7228    pub offset: ::core::ffi::c_ulonglong,
7229    pub size: ::core::ffi::c_ulonglong,
7230}
7231#[repr(C)]
7232#[derive(Debug, Copy, Clone)]
7233pub struct CUarray_st {
7234    _unused: [u8; 0],
7235}
7236#[cfg(any(
7237    feature = "cuda-12040",
7238    feature = "cuda-12050",
7239    feature = "cuda-12060",
7240    feature = "cuda-12080",
7241    feature = "cuda-12090",
7242    feature = "cuda-13000"
7243))]
7244#[repr(C)]
7245#[derive(Debug, Copy, Clone)]
7246pub struct CUasyncCallbackEntry_st {
7247    _unused: [u8; 0],
7248}
7249#[cfg(any(
7250    feature = "cuda-12040",
7251    feature = "cuda-12050",
7252    feature = "cuda-12060",
7253    feature = "cuda-12080",
7254    feature = "cuda-12090",
7255    feature = "cuda-13000"
7256))]
7257#[repr(C)]
7258#[derive(Copy, Clone)]
7259pub struct CUasyncNotificationInfo_st {
7260    pub type_: CUasyncNotificationType,
7261    pub info: CUasyncNotificationInfo_st__bindgen_ty_1,
7262}
7263#[cfg(any(
7264    feature = "cuda-12040",
7265    feature = "cuda-12050",
7266    feature = "cuda-12060",
7267    feature = "cuda-12080",
7268    feature = "cuda-12090",
7269    feature = "cuda-13000"
7270))]
7271#[repr(C)]
7272#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7273pub struct CUasyncNotificationInfo_st__bindgen_ty_1__bindgen_ty_1 {
7274    pub bytesOverBudget: ::core::ffi::c_ulonglong,
7275}
7276#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7277#[repr(C)]
7278#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7279pub struct CUcheckpointCheckpointArgs_st {
7280    pub reserved: [cuuint64_t; 8usize],
7281}
7282#[cfg(any(feature = "cuda-13000"))]
7283#[repr(C)]
7284#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7285pub struct CUcheckpointGpuPair_st {
7286    pub oldUuid: CUuuid,
7287    pub newUuid: CUuuid,
7288}
7289#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7290#[repr(C)]
7291#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7292pub struct CUcheckpointLockArgs_st {
7293    pub timeoutMs: ::core::ffi::c_uint,
7294    pub reserved0: ::core::ffi::c_uint,
7295    pub reserved1: [cuuint64_t; 7usize],
7296}
7297#[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
7298#[repr(C)]
7299#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7300pub struct CUcheckpointRestoreArgs_st {
7301    pub reserved: [cuuint64_t; 8usize],
7302}
7303#[cfg(any(feature = "cuda-13000"))]
7304#[repr(C)]
7305#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7306pub struct CUcheckpointRestoreArgs_st {
7307    pub gpuPairs: *mut CUcheckpointGpuPair,
7308    pub gpuPairsCount: ::core::ffi::c_uint,
7309    pub reserved: [::core::ffi::c_char; 44usize],
7310    pub reserved1: cuuint64_t,
7311}
7312#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7313#[repr(C)]
7314#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7315pub struct CUcheckpointUnlockArgs_st {
7316    pub reserved: [cuuint64_t; 8usize],
7317}
7318#[cfg(any(
7319    feature = "cuda-12050",
7320    feature = "cuda-12060",
7321    feature = "cuda-12080",
7322    feature = "cuda-12090",
7323    feature = "cuda-13000"
7324))]
7325#[repr(C)]
7326#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7327pub struct CUctxCigParam_st {
7328    pub sharedDataType: CUcigDataType,
7329    pub sharedData: *mut ::core::ffi::c_void,
7330}
7331#[cfg(any(
7332    feature = "cuda-12050",
7333    feature = "cuda-12060",
7334    feature = "cuda-12080",
7335    feature = "cuda-12090",
7336    feature = "cuda-13000"
7337))]
7338#[repr(C)]
7339#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7340pub struct CUctxCreateParams_st {
7341    pub execAffinityParams: *mut CUexecAffinityParam,
7342    pub numExecAffinityParams: ::core::ffi::c_int,
7343    pub cigParams: *mut CUctxCigParam,
7344}
7345#[repr(C)]
7346#[derive(Debug, Copy, Clone)]
7347pub struct CUctx_st {
7348    _unused: [u8; 0],
7349}
7350#[cfg(any(
7351    feature = "cuda-12040",
7352    feature = "cuda-12050",
7353    feature = "cuda-12060",
7354    feature = "cuda-12080",
7355    feature = "cuda-12090",
7356    feature = "cuda-13000"
7357))]
7358#[repr(C)]
7359#[derive(Debug, Copy, Clone)]
7360pub struct CUdevResourceDesc_st {
7361    _unused: [u8; 0],
7362}
7363#[cfg(any(
7364    feature = "cuda-12040",
7365    feature = "cuda-12050",
7366    feature = "cuda-12060",
7367    feature = "cuda-12080",
7368    feature = "cuda-12090",
7369    feature = "cuda-13000"
7370))]
7371#[repr(C)]
7372#[derive(Copy, Clone)]
7373pub struct CUdevResource_st {
7374    pub type_: CUdevResourceType,
7375    pub _internal_padding: [::core::ffi::c_uchar; 92usize],
7376    pub __bindgen_anon_1: CUdevResource_st__bindgen_ty_1,
7377}
7378#[cfg(any(
7379    feature = "cuda-12040",
7380    feature = "cuda-12050",
7381    feature = "cuda-12060",
7382    feature = "cuda-12080",
7383    feature = "cuda-12090"
7384))]
7385#[repr(C)]
7386#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7387pub struct CUdevSmResource_st {
7388    pub smCount: ::core::ffi::c_uint,
7389}
7390#[cfg(any(feature = "cuda-13000"))]
7391#[repr(C)]
7392#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7393pub struct CUdevSmResource_st {
7394    pub smCount: ::core::ffi::c_uint,
7395    pub minSmPartitionSize: ::core::ffi::c_uint,
7396    pub smCoscheduledAlignment: ::core::ffi::c_uint,
7397}
7398#[repr(C)]
7399#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7400pub struct CUdevprop_st {
7401    pub maxThreadsPerBlock: ::core::ffi::c_int,
7402    pub maxThreadsDim: [::core::ffi::c_int; 3usize],
7403    pub maxGridSize: [::core::ffi::c_int; 3usize],
7404    pub sharedMemPerBlock: ::core::ffi::c_int,
7405    pub totalConstantMemory: ::core::ffi::c_int,
7406    pub SIMDWidth: ::core::ffi::c_int,
7407    pub memPitch: ::core::ffi::c_int,
7408    pub regsPerBlock: ::core::ffi::c_int,
7409    pub clockRate: ::core::ffi::c_int,
7410    pub textureAlign: ::core::ffi::c_int,
7411}
7412#[repr(C)]
7413#[derive(Debug, Copy, Clone)]
7414pub struct CUevent_st {
7415    _unused: [u8; 0],
7416}
7417#[repr(C)]
7418#[derive(Copy, Clone)]
7419pub struct CUexecAffinityParam_st {
7420    pub type_: CUexecAffinityType,
7421    pub param: CUexecAffinityParam_st__bindgen_ty_1,
7422}
7423#[repr(C)]
7424#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7425pub struct CUexecAffinitySmCount_st {
7426    pub val: ::core::ffi::c_uint,
7427}
7428#[repr(C)]
7429#[derive(Debug, Copy, Clone)]
7430pub struct CUextMemory_st {
7431    _unused: [u8; 0],
7432}
7433#[repr(C)]
7434#[derive(Debug, Copy, Clone)]
7435pub struct CUextSemaphore_st {
7436    _unused: [u8; 0],
7437}
7438#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7439#[repr(C)]
7440#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7441pub struct CUextent3D_st {
7442    pub width: usize,
7443    pub height: usize,
7444    pub depth: usize,
7445}
7446#[repr(C)]
7447#[derive(Debug, Copy, Clone)]
7448pub struct CUfunc_st {
7449    _unused: [u8; 0],
7450}
7451#[cfg(any(
7452    feature = "cuda-12040",
7453    feature = "cuda-12050",
7454    feature = "cuda-12060",
7455    feature = "cuda-12080",
7456    feature = "cuda-12090",
7457    feature = "cuda-13000"
7458))]
7459#[repr(C)]
7460#[derive(Debug, Copy, Clone)]
7461pub struct CUgraphDeviceUpdatableNode_st {
7462    _unused: [u8; 0],
7463}
7464#[cfg(any(
7465    feature = "cuda-12030",
7466    feature = "cuda-12040",
7467    feature = "cuda-12050",
7468    feature = "cuda-12060",
7469    feature = "cuda-12080",
7470    feature = "cuda-12090",
7471    feature = "cuda-13000"
7472))]
7473#[repr(C)]
7474#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7475pub struct CUgraphEdgeData_st {
7476    pub from_port: ::core::ffi::c_uchar,
7477    pub to_port: ::core::ffi::c_uchar,
7478    pub type_: ::core::ffi::c_uchar,
7479    pub reserved: [::core::ffi::c_uchar; 5usize],
7480}
7481#[cfg(any(
7482    feature = "cuda-12000",
7483    feature = "cuda-12010",
7484    feature = "cuda-12020",
7485    feature = "cuda-12030",
7486    feature = "cuda-12040",
7487    feature = "cuda-12050",
7488    feature = "cuda-12060",
7489    feature = "cuda-12080",
7490    feature = "cuda-12090",
7491    feature = "cuda-13000"
7492))]
7493#[repr(C)]
7494#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7495pub struct CUgraphExecUpdateResultInfo_st {
7496    pub result: CUgraphExecUpdateResult,
7497    pub errorNode: CUgraphNode,
7498    pub errorFromNode: CUgraphNode,
7499}
7500#[repr(C)]
7501#[derive(Debug, Copy, Clone)]
7502pub struct CUgraphExec_st {
7503    _unused: [u8; 0],
7504}
7505#[cfg(any(
7506    feature = "cuda-12020",
7507    feature = "cuda-12030",
7508    feature = "cuda-12040",
7509    feature = "cuda-12050",
7510    feature = "cuda-12060",
7511    feature = "cuda-12080",
7512    feature = "cuda-12090",
7513    feature = "cuda-13000"
7514))]
7515#[repr(C)]
7516#[derive(Copy, Clone)]
7517pub struct CUgraphNodeParams_st {
7518    pub type_: CUgraphNodeType,
7519    pub reserved0: [::core::ffi::c_int; 3usize],
7520    pub __bindgen_anon_1: CUgraphNodeParams_st__bindgen_ty_1,
7521    pub reserved2: ::core::ffi::c_longlong,
7522}
7523#[repr(C)]
7524#[derive(Debug, Copy, Clone)]
7525pub struct CUgraphNode_st {
7526    _unused: [u8; 0],
7527}
7528#[repr(C)]
7529#[derive(Debug, Copy, Clone)]
7530pub struct CUgraph_st {
7531    _unused: [u8; 0],
7532}
7533#[repr(C)]
7534#[derive(Debug, Copy, Clone)]
7535pub struct CUgraphicsResource_st {
7536    _unused: [u8; 0],
7537}
7538#[cfg(any(
7539    feature = "cuda-12040",
7540    feature = "cuda-12050",
7541    feature = "cuda-12060",
7542    feature = "cuda-12080",
7543    feature = "cuda-12090",
7544    feature = "cuda-13000"
7545))]
7546#[repr(C)]
7547#[derive(Debug, Copy, Clone)]
7548pub struct CUgreenCtx_st {
7549    _unused: [u8; 0],
7550}
7551#[repr(C)]
7552#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7553pub struct CUipcEventHandle_st {
7554    pub reserved: [::core::ffi::c_char; 64usize],
7555}
7556#[repr(C)]
7557#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7558pub struct CUipcMemHandle_st {
7559    pub reserved: [::core::ffi::c_char; 64usize],
7560}
7561#[cfg(any(
7562    feature = "cuda-12000",
7563    feature = "cuda-12010",
7564    feature = "cuda-12020",
7565    feature = "cuda-12030",
7566    feature = "cuda-12040",
7567    feature = "cuda-12050",
7568    feature = "cuda-12060",
7569    feature = "cuda-12080",
7570    feature = "cuda-12090",
7571    feature = "cuda-13000"
7572))]
7573#[repr(C)]
7574#[derive(Debug, Copy, Clone)]
7575pub struct CUkern_st {
7576    _unused: [u8; 0],
7577}
7578#[cfg(any(
7579    feature = "cuda-11080",
7580    feature = "cuda-12000",
7581    feature = "cuda-12010",
7582    feature = "cuda-12020",
7583    feature = "cuda-12030",
7584    feature = "cuda-12040",
7585    feature = "cuda-12050",
7586    feature = "cuda-12060",
7587    feature = "cuda-12080",
7588    feature = "cuda-12090",
7589    feature = "cuda-13000"
7590))]
7591#[repr(C)]
7592#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7593pub struct CUlaunchAttributeValue_union__bindgen_ty_1 {
7594    pub x: ::core::ffi::c_uint,
7595    pub y: ::core::ffi::c_uint,
7596    pub z: ::core::ffi::c_uint,
7597}
7598#[cfg(any(
7599    feature = "cuda-11080",
7600    feature = "cuda-12000",
7601    feature = "cuda-12010",
7602    feature = "cuda-12020",
7603    feature = "cuda-12030",
7604    feature = "cuda-12040",
7605    feature = "cuda-12050",
7606    feature = "cuda-12060",
7607    feature = "cuda-12080",
7608    feature = "cuda-12090",
7609    feature = "cuda-13000"
7610))]
7611#[repr(C)]
7612#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7613pub struct CUlaunchAttributeValue_union__bindgen_ty_2 {
7614    pub event: CUevent,
7615    pub flags: ::core::ffi::c_int,
7616    pub triggerAtBlockStart: ::core::ffi::c_int,
7617}
7618#[cfg(any(
7619    feature = "cuda-12030",
7620    feature = "cuda-12040",
7621    feature = "cuda-12050",
7622    feature = "cuda-12060",
7623    feature = "cuda-12080",
7624    feature = "cuda-12090",
7625    feature = "cuda-13000"
7626))]
7627#[repr(C)]
7628#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7629pub struct CUlaunchAttributeValue_union__bindgen_ty_3 {
7630    pub event: CUevent,
7631    pub flags: ::core::ffi::c_int,
7632}
7633#[cfg(any(feature = "cuda-12040", feature = "cuda-12050", feature = "cuda-12060"))]
7634#[repr(C)]
7635#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7636pub struct CUlaunchAttributeValue_union__bindgen_ty_4 {
7637    pub deviceUpdatable: ::core::ffi::c_int,
7638    pub devNode: CUgraphDeviceNode,
7639}
7640#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7641#[repr(C)]
7642#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7643pub struct CUlaunchAttributeValue_union__bindgen_ty_4 {
7644    pub x: ::core::ffi::c_uint,
7645    pub y: ::core::ffi::c_uint,
7646    pub z: ::core::ffi::c_uint,
7647}
7648#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7649#[repr(C)]
7650#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7651pub struct CUlaunchAttributeValue_union__bindgen_ty_5 {
7652    pub deviceUpdatable: ::core::ffi::c_int,
7653    pub devNode: CUgraphDeviceNode,
7654}
7655#[cfg(any(
7656    feature = "cuda-11080",
7657    feature = "cuda-12000",
7658    feature = "cuda-12010",
7659    feature = "cuda-12020",
7660    feature = "cuda-12030",
7661    feature = "cuda-12040",
7662    feature = "cuda-12050",
7663    feature = "cuda-12060",
7664    feature = "cuda-12080",
7665    feature = "cuda-12090",
7666    feature = "cuda-13000"
7667))]
7668#[repr(C)]
7669#[derive(Copy, Clone)]
7670pub struct CUlaunchAttribute_st {
7671    pub id: CUlaunchAttributeID,
7672    pub pad: [::core::ffi::c_char; 4usize],
7673    pub value: CUlaunchAttributeValue,
7674}
7675#[cfg(any(
7676    feature = "cuda-11080",
7677    feature = "cuda-12000",
7678    feature = "cuda-12010",
7679    feature = "cuda-12020",
7680    feature = "cuda-12030",
7681    feature = "cuda-12040",
7682    feature = "cuda-12050",
7683    feature = "cuda-12060",
7684    feature = "cuda-12080",
7685    feature = "cuda-12090",
7686    feature = "cuda-13000"
7687))]
7688#[repr(C)]
7689#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7690pub struct CUlaunchConfig_st {
7691    pub gridDimX: ::core::ffi::c_uint,
7692    pub gridDimY: ::core::ffi::c_uint,
7693    pub gridDimZ: ::core::ffi::c_uint,
7694    pub blockDimX: ::core::ffi::c_uint,
7695    pub blockDimY: ::core::ffi::c_uint,
7696    pub blockDimZ: ::core::ffi::c_uint,
7697    pub sharedMemBytes: ::core::ffi::c_uint,
7698    pub hStream: CUstream,
7699    pub attrs: *mut CUlaunchAttribute,
7700    pub numAttrs: ::core::ffi::c_uint,
7701}
7702#[cfg(any(
7703    feature = "cuda-12000",
7704    feature = "cuda-12010",
7705    feature = "cuda-12020",
7706    feature = "cuda-12030",
7707    feature = "cuda-12040",
7708    feature = "cuda-12050",
7709    feature = "cuda-12060",
7710    feature = "cuda-12080",
7711    feature = "cuda-12090",
7712    feature = "cuda-13000"
7713))]
7714#[repr(C)]
7715#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7716pub struct CUlaunchMemSyncDomainMap_st {
7717    pub default_: ::core::ffi::c_uchar,
7718    pub remote: ::core::ffi::c_uchar,
7719}
7720#[cfg(any(
7721    feature = "cuda-12000",
7722    feature = "cuda-12010",
7723    feature = "cuda-12020",
7724    feature = "cuda-12030",
7725    feature = "cuda-12040",
7726    feature = "cuda-12050",
7727    feature = "cuda-12060",
7728    feature = "cuda-12080",
7729    feature = "cuda-12090",
7730    feature = "cuda-13000"
7731))]
7732#[repr(C)]
7733#[derive(Debug, Copy, Clone)]
7734pub struct CUlib_st {
7735    _unused: [u8; 0],
7736}
7737#[cfg(any(
7738    feature = "cuda-12000",
7739    feature = "cuda-12010",
7740    feature = "cuda-12020",
7741    feature = "cuda-12030",
7742    feature = "cuda-12040",
7743    feature = "cuda-12050",
7744    feature = "cuda-12060",
7745    feature = "cuda-12080",
7746    feature = "cuda-12090",
7747    feature = "cuda-13000"
7748))]
7749#[repr(C)]
7750#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7751pub struct CUlibraryHostUniversalFunctionAndDataTable_st {
7752    pub functionTable: *mut ::core::ffi::c_void,
7753    pub functionWindowSize: usize,
7754    pub dataTable: *mut ::core::ffi::c_void,
7755    pub dataWindowSize: usize,
7756}
7757#[repr(C)]
7758#[derive(Debug, Copy, Clone)]
7759pub struct CUlinkState_st {
7760    _unused: [u8; 0],
7761}
7762#[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
7763#[repr(C)]
7764#[derive(Debug, Copy, Clone)]
7765pub struct CUlogsCallbackEntry_st {
7766    _unused: [u8; 0],
7767}
7768#[repr(C)]
7769#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7770pub struct CUmemAccessDesc_st {
7771    pub location: CUmemLocation,
7772    pub flags: CUmemAccess_flags,
7773}
7774#[repr(C)]
7775#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7776pub struct CUmemAllocationProp_st {
7777    pub type_: CUmemAllocationType,
7778    pub requestedHandleTypes: CUmemAllocationHandleType,
7779    pub location: CUmemLocation,
7780    pub win32HandleMetaData: *mut ::core::ffi::c_void,
7781    pub allocFlags: CUmemAllocationProp_st__bindgen_ty_1,
7782}
7783#[repr(C)]
7784#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7785pub struct CUmemAllocationProp_st__bindgen_ty_1 {
7786    pub compressionType: ::core::ffi::c_uchar,
7787    pub gpuDirectRDMACapable: ::core::ffi::c_uchar,
7788    pub usage: ::core::ffi::c_ushort,
7789    pub reserved: [::core::ffi::c_uchar; 4usize],
7790}
7791#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7792#[repr(C)]
7793#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7794pub struct CUmemDecompressParams_st {
7795    pub srcNumBytes: usize,
7796    pub dstNumBytes: usize,
7797    pub dstActBytes: *mut cuuint32_t,
7798    pub src: *const ::core::ffi::c_void,
7799    pub dst: *mut ::core::ffi::c_void,
7800    pub algo: CUmemDecompressAlgorithm,
7801    pub padding: [::core::ffi::c_uchar; 20usize],
7802}
7803#[cfg(any(
7804    feature = "cuda-12030",
7805    feature = "cuda-12040",
7806    feature = "cuda-12050",
7807    feature = "cuda-12060",
7808    feature = "cuda-12080",
7809    feature = "cuda-12090",
7810    feature = "cuda-13000"
7811))]
7812#[repr(C)]
7813#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7814pub struct CUmemFabricHandle_st {
7815    pub data: [::core::ffi::c_uchar; 64usize],
7816}
7817#[repr(C)]
7818#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7819pub struct CUmemLocation_st {
7820    pub type_: CUmemLocationType,
7821    pub id: ::core::ffi::c_int,
7822}
7823#[repr(C)]
7824#[derive(Debug, Copy, Clone)]
7825pub struct CUmemPoolHandle_st {
7826    _unused: [u8; 0],
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    feature = "cuda-12000",
7835    feature = "cuda-12010"
7836))]
7837#[repr(C)]
7838#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7839pub struct CUmemPoolProps_st {
7840    pub allocType: CUmemAllocationType,
7841    pub handleTypes: CUmemAllocationHandleType,
7842    pub location: CUmemLocation,
7843    pub win32SecurityAttributes: *mut ::core::ffi::c_void,
7844    pub reserved: [::core::ffi::c_uchar; 64usize],
7845}
7846#[cfg(any(
7847    feature = "cuda-12020",
7848    feature = "cuda-12030",
7849    feature = "cuda-12040",
7850    feature = "cuda-12050"
7851))]
7852#[repr(C)]
7853#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7854pub struct CUmemPoolProps_st {
7855    pub allocType: CUmemAllocationType,
7856    pub handleTypes: CUmemAllocationHandleType,
7857    pub location: CUmemLocation,
7858    pub win32SecurityAttributes: *mut ::core::ffi::c_void,
7859    pub maxSize: usize,
7860    pub reserved: [::core::ffi::c_uchar; 56usize],
7861}
7862#[cfg(any(
7863    feature = "cuda-12060",
7864    feature = "cuda-12080",
7865    feature = "cuda-12090",
7866    feature = "cuda-13000"
7867))]
7868#[repr(C)]
7869#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7870pub struct CUmemPoolProps_st {
7871    pub allocType: CUmemAllocationType,
7872    pub handleTypes: CUmemAllocationHandleType,
7873    pub location: CUmemLocation,
7874    pub win32SecurityAttributes: *mut ::core::ffi::c_void,
7875    pub maxSize: usize,
7876    pub usage: ::core::ffi::c_ushort,
7877    pub reserved: [::core::ffi::c_uchar; 54usize],
7878}
7879#[repr(C)]
7880#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7881pub struct CUmemPoolPtrExportData_st {
7882    pub reserved: [::core::ffi::c_uchar; 64usize],
7883}
7884#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7885#[repr(C)]
7886#[derive(Copy, Clone)]
7887pub struct CUmemcpy3DOperand_st {
7888    pub type_: CUmemcpy3DOperandType,
7889    pub op: CUmemcpy3DOperand_st__bindgen_ty_1,
7890}
7891#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7892#[repr(C)]
7893#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7894pub struct CUmemcpy3DOperand_st__bindgen_ty_1__bindgen_ty_1 {
7895    pub ptr: CUdeviceptr,
7896    pub rowLength: usize,
7897    pub layerHeight: usize,
7898    pub locHint: CUmemLocation,
7899}
7900#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7901#[repr(C)]
7902#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7903pub struct CUmemcpy3DOperand_st__bindgen_ty_1__bindgen_ty_2 {
7904    pub array: CUarray,
7905    pub offset: CUoffset3D,
7906}
7907#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7908#[repr(C)]
7909#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7910pub struct CUmemcpyAttributes_st {
7911    pub srcAccessOrder: CUmemcpySrcAccessOrder,
7912    pub srcLocHint: CUmemLocation,
7913    pub dstLocHint: CUmemLocation,
7914    pub flags: ::core::ffi::c_uint,
7915}
7916#[repr(C)]
7917#[derive(Debug, Copy, Clone)]
7918pub struct CUmipmappedArray_st {
7919    _unused: [u8; 0],
7920}
7921#[repr(C)]
7922#[derive(Debug, Copy, Clone)]
7923pub struct CUmod_st {
7924    _unused: [u8; 0],
7925}
7926#[cfg(any(
7927    feature = "cuda-12010",
7928    feature = "cuda-12020",
7929    feature = "cuda-12030",
7930    feature = "cuda-12040",
7931    feature = "cuda-12050",
7932    feature = "cuda-12060",
7933    feature = "cuda-12080",
7934    feature = "cuda-12090",
7935    feature = "cuda-13000"
7936))]
7937#[repr(C)]
7938#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7939pub struct CUmulticastObjectProp_st {
7940    pub numDevices: ::core::ffi::c_uint,
7941    pub size: usize,
7942    pub handleTypes: ::core::ffi::c_ulonglong,
7943    pub flags: ::core::ffi::c_ulonglong,
7944}
7945#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
7946#[repr(C)]
7947#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7948pub struct CUoffset3D_st {
7949    pub x: usize,
7950    pub y: usize,
7951    pub z: usize,
7952}
7953#[repr(C)]
7954#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7955pub struct CUstreamBatchMemOpParams_union_CUstreamMemOpFlushRemoteWritesParams_st {
7956    pub operation: CUstreamBatchMemOpType,
7957    pub flags: ::core::ffi::c_uint,
7958}
7959#[cfg(any(
7960    feature = "cuda-11070",
7961    feature = "cuda-11080",
7962    feature = "cuda-12000",
7963    feature = "cuda-12010",
7964    feature = "cuda-12020",
7965    feature = "cuda-12030",
7966    feature = "cuda-12040",
7967    feature = "cuda-12050",
7968    feature = "cuda-12060",
7969    feature = "cuda-12080",
7970    feature = "cuda-12090",
7971    feature = "cuda-13000"
7972))]
7973#[repr(C)]
7974#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7975pub struct CUstreamBatchMemOpParams_union_CUstreamMemOpMemoryBarrierParams_st {
7976    pub operation: CUstreamBatchMemOpType,
7977    pub flags: ::core::ffi::c_uint,
7978}
7979#[repr(C)]
7980#[derive(Copy, Clone)]
7981pub struct CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st {
7982    pub operation: CUstreamBatchMemOpType,
7983    pub address: CUdeviceptr,
7984    pub __bindgen_anon_1:
7985        CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st__bindgen_ty_1,
7986    pub flags: ::core::ffi::c_uint,
7987    pub alias: CUdeviceptr,
7988}
7989#[repr(C)]
7990#[derive(Copy, Clone)]
7991pub struct CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st {
7992    pub operation: CUstreamBatchMemOpType,
7993    pub address: CUdeviceptr,
7994    pub __bindgen_anon_1:
7995        CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st__bindgen_ty_1,
7996    pub flags: ::core::ffi::c_uint,
7997    pub alias: CUdeviceptr,
7998}
7999#[repr(C)]
8000#[derive(Debug, Copy, Clone)]
8001pub struct CUstream_st {
8002    _unused: [u8; 0],
8003}
8004#[repr(C)]
8005#[derive(Debug, Copy, Clone)]
8006pub struct CUsurfref_st {
8007    _unused: [u8; 0],
8008}
8009#[cfg(any(
8010    feature = "cuda-12000",
8011    feature = "cuda-12010",
8012    feature = "cuda-12020",
8013    feature = "cuda-12030",
8014    feature = "cuda-12040",
8015    feature = "cuda-12050",
8016    feature = "cuda-12060",
8017    feature = "cuda-12080",
8018    feature = "cuda-12090"
8019))]
8020#[repr(C)]
8021#[repr(align(64))]
8022#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
8023pub struct CUtensorMap_st {
8024    pub opaque: [cuuint64_t; 16usize],
8025}
8026#[cfg(any(feature = "cuda-13000"))]
8027#[repr(C)]
8028#[repr(align(128))]
8029#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
8030pub struct CUtensorMap_st {
8031    pub opaque: [cuuint64_t; 16usize],
8032}
8033#[repr(C)]
8034#[derive(Debug, Copy, Clone)]
8035pub struct CUtexref_st {
8036    _unused: [u8; 0],
8037}
8038#[repr(C)]
8039#[derive(Debug, Copy, Clone)]
8040pub struct CUuserObject_st {
8041    _unused: [u8; 0],
8042}
8043#[repr(C)]
8044#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
8045pub struct CUuuid_st {
8046    pub bytes: [::core::ffi::c_char; 16usize],
8047}
8048impl CUctx_flags_enum {
8049    pub const CU_CTX_BLOCKING_SYNC: CUctx_flags_enum = CUctx_flags_enum::CU_CTX_SCHED_BLOCKING_SYNC;
8050}
8051impl CUdevice_P2PAttribute_enum {
8052    pub const CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED: CUdevice_P2PAttribute_enum =
8053        CUdevice_P2PAttribute_enum::CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED;
8054}
8055impl CUdevice_attribute_enum {
8056    pub const CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT: CUdevice_attribute_enum =
8057        CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT;
8058}
8059impl CUdevice_attribute_enum {
8060    pub const CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES: CUdevice_attribute_enum =
8061        CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS;
8062}
8063impl CUdevice_attribute_enum {
8064    pub const CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH: CUdevice_attribute_enum =
8065        CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH;
8066}
8067impl CUdevice_attribute_enum {
8068    pub const CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK: CUdevice_attribute_enum =
8069        CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK;
8070}
8071impl CUdevice_attribute_enum {
8072    pub const CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK: CUdevice_attribute_enum =
8073        CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK;
8074}
8075impl CUdevice_attribute_enum {
8076    pub const CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED: CUdevice_attribute_enum =
8077        CUdevice_attribute_enum::CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED;
8078}
8079#[cfg(any(feature = "cuda-13000"))]
8080impl CUmemLocationType_enum {
8081    pub const CU_MEM_LOCATION_TYPE_NONE: CUmemLocationType_enum =
8082        CUmemLocationType_enum::CU_MEM_LOCATION_TYPE_INVALID;
8083}
8084#[repr(C)]
8085#[derive(Copy, Clone)]
8086pub union CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st__bindgen_ty_1 {
8087    pub fd: ::core::ffi::c_int,
8088    pub win32: CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st__bindgen_ty_1__bindgen_ty_1,
8089    pub nvSciBufObject: *const ::core::ffi::c_void,
8090}
8091#[repr(C)]
8092#[derive(Copy, Clone)]
8093pub union CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st__bindgen_ty_1 {
8094    pub fd: ::core::ffi::c_int,
8095    pub win32: CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st__bindgen_ty_1__bindgen_ty_1,
8096    pub nvSciSyncObj: *const ::core::ffi::c_void,
8097}
8098#[repr(C)]
8099#[derive(Copy, Clone)]
8100pub union CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__bindgen_ty_1__bindgen_ty_2 {
8101    pub fence: *mut ::core::ffi::c_void,
8102    pub reserved: ::core::ffi::c_ulonglong,
8103}
8104#[repr(C)]
8105#[derive(Copy, Clone)]
8106pub union CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__bindgen_ty_1__bindgen_ty_2 {
8107    pub fence: *mut ::core::ffi::c_void,
8108    pub reserved: ::core::ffi::c_ulonglong,
8109}
8110#[repr(C)]
8111#[derive(Copy, Clone)]
8112pub union CUDA_RESOURCE_DESC_st__bindgen_ty_1 {
8113    pub array: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_1,
8114    pub mipmap: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_2,
8115    pub linear: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_3,
8116    pub pitch2D: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_4,
8117    pub reserved: CUDA_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_5,
8118}
8119#[repr(C)]
8120#[derive(Copy, Clone)]
8121pub union CUarrayMapInfo_st__bindgen_ty_1 {
8122    pub mipmap: CUmipmappedArray,
8123    pub array: CUarray,
8124}
8125#[repr(C)]
8126#[derive(Copy, Clone)]
8127pub union CUarrayMapInfo_st__bindgen_ty_2 {
8128    pub sparseLevel: CUarrayMapInfo_st__bindgen_ty_2__bindgen_ty_1,
8129    pub miptail: CUarrayMapInfo_st__bindgen_ty_2__bindgen_ty_2,
8130}
8131#[repr(C)]
8132#[derive(Copy, Clone)]
8133pub union CUarrayMapInfo_st__bindgen_ty_3 {
8134    pub memHandle: CUmemGenericAllocationHandle,
8135}
8136#[cfg(any(
8137    feature = "cuda-12040",
8138    feature = "cuda-12050",
8139    feature = "cuda-12060",
8140    feature = "cuda-12080",
8141    feature = "cuda-12090",
8142    feature = "cuda-13000"
8143))]
8144#[repr(C)]
8145#[derive(Copy, Clone)]
8146pub union CUasyncNotificationInfo_st__bindgen_ty_1 {
8147    pub overBudget: CUasyncNotificationInfo_st__bindgen_ty_1__bindgen_ty_1,
8148}
8149#[cfg(any(
8150    feature = "cuda-12040",
8151    feature = "cuda-12050",
8152    feature = "cuda-12060",
8153    feature = "cuda-12080",
8154    feature = "cuda-12090",
8155    feature = "cuda-13000"
8156))]
8157#[repr(C)]
8158#[derive(Copy, Clone)]
8159pub union CUdevResource_st__bindgen_ty_1 {
8160    pub sm: CUdevSmResource,
8161    pub _oversize: [::core::ffi::c_uchar; 48usize],
8162}
8163#[repr(C)]
8164#[derive(Copy, Clone)]
8165pub union CUexecAffinityParam_st__bindgen_ty_1 {
8166    pub smCount: CUexecAffinitySmCount,
8167}
8168#[cfg(any(feature = "cuda-12020"))]
8169#[repr(C)]
8170#[derive(Copy, Clone)]
8171pub union CUgraphNodeParams_st__bindgen_ty_1 {
8172    pub reserved1: [::core::ffi::c_longlong; 29usize],
8173    pub kernel: CUDA_KERNEL_NODE_PARAMS_v3,
8174    pub memcpy: CUDA_MEMCPY_NODE_PARAMS,
8175    pub memset: CUDA_MEMSET_NODE_PARAMS_v2,
8176    pub host: CUDA_HOST_NODE_PARAMS_v2,
8177    pub graph: CUDA_CHILD_GRAPH_NODE_PARAMS,
8178    pub eventWait: CUDA_EVENT_WAIT_NODE_PARAMS,
8179    pub eventRecord: CUDA_EVENT_RECORD_NODE_PARAMS,
8180    pub extSemSignal: CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2,
8181    pub extSemWait: CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2,
8182    pub alloc: CUDA_MEM_ALLOC_NODE_PARAMS_v2,
8183    pub free: CUDA_MEM_FREE_NODE_PARAMS,
8184    pub memOp: CUDA_BATCH_MEM_OP_NODE_PARAMS_v2,
8185}
8186#[cfg(any(
8187    feature = "cuda-12030",
8188    feature = "cuda-12040",
8189    feature = "cuda-12050",
8190    feature = "cuda-12060",
8191    feature = "cuda-12080",
8192    feature = "cuda-12090",
8193    feature = "cuda-13000"
8194))]
8195#[repr(C)]
8196#[derive(Copy, Clone)]
8197pub union CUgraphNodeParams_st__bindgen_ty_1 {
8198    pub reserved1: [::core::ffi::c_longlong; 29usize],
8199    pub kernel: CUDA_KERNEL_NODE_PARAMS_v3,
8200    pub memcpy: CUDA_MEMCPY_NODE_PARAMS,
8201    pub memset: CUDA_MEMSET_NODE_PARAMS_v2,
8202    pub host: CUDA_HOST_NODE_PARAMS_v2,
8203    pub graph: CUDA_CHILD_GRAPH_NODE_PARAMS,
8204    pub eventWait: CUDA_EVENT_WAIT_NODE_PARAMS,
8205    pub eventRecord: CUDA_EVENT_RECORD_NODE_PARAMS,
8206    pub extSemSignal: CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2,
8207    pub extSemWait: CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2,
8208    pub alloc: CUDA_MEM_ALLOC_NODE_PARAMS_v2,
8209    pub free: CUDA_MEM_FREE_NODE_PARAMS,
8210    pub memOp: CUDA_BATCH_MEM_OP_NODE_PARAMS_v2,
8211    pub conditional: CUDA_CONDITIONAL_NODE_PARAMS,
8212}
8213#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
8214#[repr(C)]
8215#[derive(Copy, Clone)]
8216pub union CUkernelNodeAttrValue_union {
8217    pub accessPolicyWindow: CUaccessPolicyWindow,
8218    pub cooperative: ::core::ffi::c_int,
8219}
8220#[cfg(any(feature = "cuda-11070"))]
8221#[repr(C)]
8222#[derive(Copy, Clone)]
8223pub union CUkernelNodeAttrValue_union {
8224    pub accessPolicyWindow: CUaccessPolicyWindow,
8225    pub cooperative: ::core::ffi::c_int,
8226    pub priority: ::core::ffi::c_int,
8227}
8228#[cfg(any(feature = "cuda-11080"))]
8229#[repr(C)]
8230#[derive(Copy, Clone)]
8231pub union CUlaunchAttributeValue_union {
8232    pub pad: [::core::ffi::c_char; 64usize],
8233    pub accessPolicyWindow: CUaccessPolicyWindow,
8234    pub cooperative: ::core::ffi::c_int,
8235    pub syncPolicy: CUsynchronizationPolicy,
8236    pub clusterDim: CUlaunchAttributeValue_union__bindgen_ty_1,
8237    pub clusterSchedulingPolicyPreference: CUclusterSchedulingPolicy,
8238    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8239    pub programmaticEvent: CUlaunchAttributeValue_union__bindgen_ty_2,
8240    pub priority: ::core::ffi::c_int,
8241}
8242#[cfg(any(feature = "cuda-12000", feature = "cuda-12010", feature = "cuda-12020"))]
8243#[repr(C)]
8244#[derive(Copy, Clone)]
8245pub union CUlaunchAttributeValue_union {
8246    pub pad: [::core::ffi::c_char; 64usize],
8247    pub accessPolicyWindow: CUaccessPolicyWindow,
8248    pub cooperative: ::core::ffi::c_int,
8249    pub syncPolicy: CUsynchronizationPolicy,
8250    pub clusterDim: CUlaunchAttributeValue_union__bindgen_ty_1,
8251    pub clusterSchedulingPolicyPreference: CUclusterSchedulingPolicy,
8252    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8253    pub programmaticEvent: CUlaunchAttributeValue_union__bindgen_ty_2,
8254    pub priority: ::core::ffi::c_int,
8255    pub memSyncDomainMap: CUlaunchMemSyncDomainMap,
8256    pub memSyncDomain: CUlaunchMemSyncDomain,
8257}
8258#[cfg(any(feature = "cuda-12030"))]
8259#[repr(C)]
8260#[derive(Copy, Clone)]
8261pub union CUlaunchAttributeValue_union {
8262    pub pad: [::core::ffi::c_char; 64usize],
8263    pub accessPolicyWindow: CUaccessPolicyWindow,
8264    pub cooperative: ::core::ffi::c_int,
8265    pub syncPolicy: CUsynchronizationPolicy,
8266    pub clusterDim: CUlaunchAttributeValue_union__bindgen_ty_1,
8267    pub clusterSchedulingPolicyPreference: CUclusterSchedulingPolicy,
8268    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8269    pub programmaticEvent: CUlaunchAttributeValue_union__bindgen_ty_2,
8270    pub launchCompletionEvent: CUlaunchAttributeValue_union__bindgen_ty_3,
8271    pub priority: ::core::ffi::c_int,
8272    pub memSyncDomainMap: CUlaunchMemSyncDomainMap,
8273    pub memSyncDomain: CUlaunchMemSyncDomain,
8274}
8275#[cfg(any(feature = "cuda-12040"))]
8276#[repr(C)]
8277#[derive(Copy, Clone)]
8278pub union CUlaunchAttributeValue_union {
8279    pub pad: [::core::ffi::c_char; 64usize],
8280    pub accessPolicyWindow: CUaccessPolicyWindow,
8281    pub cooperative: ::core::ffi::c_int,
8282    pub syncPolicy: CUsynchronizationPolicy,
8283    pub clusterDim: CUlaunchAttributeValue_union__bindgen_ty_1,
8284    pub clusterSchedulingPolicyPreference: CUclusterSchedulingPolicy,
8285    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8286    pub programmaticEvent: CUlaunchAttributeValue_union__bindgen_ty_2,
8287    pub launchCompletionEvent: CUlaunchAttributeValue_union__bindgen_ty_3,
8288    pub priority: ::core::ffi::c_int,
8289    pub memSyncDomainMap: CUlaunchMemSyncDomainMap,
8290    pub memSyncDomain: CUlaunchMemSyncDomain,
8291    pub deviceUpdatableKernelNode: CUlaunchAttributeValue_union__bindgen_ty_4,
8292}
8293#[cfg(any(feature = "cuda-12050", feature = "cuda-12060"))]
8294#[repr(C)]
8295#[derive(Copy, Clone)]
8296pub union CUlaunchAttributeValue_union {
8297    pub pad: [::core::ffi::c_char; 64usize],
8298    pub accessPolicyWindow: CUaccessPolicyWindow,
8299    pub cooperative: ::core::ffi::c_int,
8300    pub syncPolicy: CUsynchronizationPolicy,
8301    pub clusterDim: CUlaunchAttributeValue_union__bindgen_ty_1,
8302    pub clusterSchedulingPolicyPreference: CUclusterSchedulingPolicy,
8303    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8304    pub programmaticEvent: CUlaunchAttributeValue_union__bindgen_ty_2,
8305    pub launchCompletionEvent: CUlaunchAttributeValue_union__bindgen_ty_3,
8306    pub priority: ::core::ffi::c_int,
8307    pub memSyncDomainMap: CUlaunchMemSyncDomainMap,
8308    pub memSyncDomain: CUlaunchMemSyncDomain,
8309    pub deviceUpdatableKernelNode: CUlaunchAttributeValue_union__bindgen_ty_4,
8310    pub sharedMemCarveout: ::core::ffi::c_uint,
8311}
8312#[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
8313#[repr(C)]
8314#[derive(Copy, Clone)]
8315pub union CUlaunchAttributeValue_union {
8316    pub pad: [::core::ffi::c_char; 64usize],
8317    pub accessPolicyWindow: CUaccessPolicyWindow,
8318    pub cooperative: ::core::ffi::c_int,
8319    pub syncPolicy: CUsynchronizationPolicy,
8320    pub clusterDim: CUlaunchAttributeValue_union__bindgen_ty_1,
8321    pub clusterSchedulingPolicyPreference: CUclusterSchedulingPolicy,
8322    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8323    pub programmaticEvent: CUlaunchAttributeValue_union__bindgen_ty_2,
8324    pub launchCompletionEvent: CUlaunchAttributeValue_union__bindgen_ty_3,
8325    pub priority: ::core::ffi::c_int,
8326    pub memSyncDomainMap: CUlaunchMemSyncDomainMap,
8327    pub memSyncDomain: CUlaunchMemSyncDomain,
8328    pub preferredClusterDim: CUlaunchAttributeValue_union__bindgen_ty_4,
8329    pub deviceUpdatableKernelNode: CUlaunchAttributeValue_union__bindgen_ty_5,
8330    pub sharedMemCarveout: ::core::ffi::c_uint,
8331}
8332#[cfg(any(feature = "cuda-13000"))]
8333#[repr(C)]
8334#[derive(Copy, Clone)]
8335pub union CUlaunchAttributeValue_union {
8336    pub pad: [::core::ffi::c_char; 64usize],
8337    pub accessPolicyWindow: CUaccessPolicyWindow,
8338    pub cooperative: ::core::ffi::c_int,
8339    pub syncPolicy: CUsynchronizationPolicy,
8340    pub clusterDim: CUlaunchAttributeValue_union__bindgen_ty_1,
8341    pub clusterSchedulingPolicyPreference: CUclusterSchedulingPolicy,
8342    pub programmaticStreamSerializationAllowed: ::core::ffi::c_int,
8343    pub programmaticEvent: CUlaunchAttributeValue_union__bindgen_ty_2,
8344    pub launchCompletionEvent: CUlaunchAttributeValue_union__bindgen_ty_3,
8345    pub priority: ::core::ffi::c_int,
8346    pub memSyncDomainMap: CUlaunchMemSyncDomainMap,
8347    pub memSyncDomain: CUlaunchMemSyncDomain,
8348    pub preferredClusterDim: CUlaunchAttributeValue_union__bindgen_ty_4,
8349    pub deviceUpdatableKernelNode: CUlaunchAttributeValue_union__bindgen_ty_5,
8350    pub sharedMemCarveout: ::core::ffi::c_uint,
8351    pub nvlinkUtilCentricScheduling: ::core::ffi::c_uint,
8352}
8353#[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
8354#[repr(C)]
8355#[derive(Copy, Clone)]
8356pub union CUmemcpy3DOperand_st__bindgen_ty_1 {
8357    pub ptr: CUmemcpy3DOperand_st__bindgen_ty_1__bindgen_ty_1,
8358    pub array: CUmemcpy3DOperand_st__bindgen_ty_1__bindgen_ty_2,
8359}
8360#[cfg(any(
8361    feature = "cuda-11040",
8362    feature = "cuda-11050",
8363    feature = "cuda-11060",
8364    feature = "cuda-11070"
8365))]
8366#[repr(C)]
8367#[derive(Copy, Clone)]
8368pub union CUstreamAttrValue_union {
8369    pub accessPolicyWindow: CUaccessPolicyWindow,
8370    pub syncPolicy: CUsynchronizationPolicy,
8371}
8372#[cfg(any(feature = "cuda-11040", feature = "cuda-11050", feature = "cuda-11060"))]
8373#[repr(C)]
8374#[derive(Copy, Clone)]
8375pub union CUstreamBatchMemOpParams_union {
8376    pub operation: CUstreamBatchMemOpType,
8377    pub waitValue: CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st,
8378    pub writeValue: CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st,
8379    pub flushRemoteWrites: CUstreamBatchMemOpParams_union_CUstreamMemOpFlushRemoteWritesParams_st,
8380    pub pad: [cuuint64_t; 6usize],
8381}
8382#[cfg(any(
8383    feature = "cuda-11070",
8384    feature = "cuda-11080",
8385    feature = "cuda-12000",
8386    feature = "cuda-12010",
8387    feature = "cuda-12020",
8388    feature = "cuda-12030",
8389    feature = "cuda-12040",
8390    feature = "cuda-12050",
8391    feature = "cuda-12060",
8392    feature = "cuda-12080",
8393    feature = "cuda-12090",
8394    feature = "cuda-13000"
8395))]
8396#[repr(C)]
8397#[derive(Copy, Clone)]
8398pub union CUstreamBatchMemOpParams_union {
8399    pub operation: CUstreamBatchMemOpType,
8400    pub waitValue: CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st,
8401    pub writeValue: CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st,
8402    pub flushRemoteWrites: CUstreamBatchMemOpParams_union_CUstreamMemOpFlushRemoteWritesParams_st,
8403    pub memoryBarrier: CUstreamBatchMemOpParams_union_CUstreamMemOpMemoryBarrierParams_st,
8404    pub pad: [cuuint64_t; 6usize],
8405}
8406#[repr(C)]
8407#[derive(Copy, Clone)]
8408pub union CUstreamBatchMemOpParams_union_CUstreamMemOpWaitValueParams_st__bindgen_ty_1 {
8409    pub value: cuuint32_t,
8410    pub value64: cuuint64_t,
8411}
8412#[repr(C)]
8413#[derive(Copy, Clone)]
8414pub union CUstreamBatchMemOpParams_union_CUstreamMemOpWriteValueParams_st__bindgen_ty_1 {
8415    pub value: cuuint32_t,
8416    pub value64: cuuint64_t,
8417}
8418#[cfg(not(feature = "dynamic-loading"))]
8419extern "C" {
8420    pub fn cuArray3DCreate_v2(
8421        pHandle: *mut CUarray,
8422        pAllocateArray: *const CUDA_ARRAY3D_DESCRIPTOR,
8423    ) -> CUresult;
8424    pub fn cuArray3DGetDescriptor_v2(
8425        pArrayDescriptor: *mut CUDA_ARRAY3D_DESCRIPTOR,
8426        hArray: CUarray,
8427    ) -> CUresult;
8428    pub fn cuArrayCreate_v2(
8429        pHandle: *mut CUarray,
8430        pAllocateArray: *const CUDA_ARRAY_DESCRIPTOR,
8431    ) -> CUresult;
8432    pub fn cuArrayDestroy(hArray: CUarray) -> CUresult;
8433    pub fn cuArrayGetDescriptor_v2(
8434        pArrayDescriptor: *mut CUDA_ARRAY_DESCRIPTOR,
8435        hArray: CUarray,
8436    ) -> CUresult;
8437    #[cfg(any(
8438        feature = "cuda-11060",
8439        feature = "cuda-11070",
8440        feature = "cuda-11080",
8441        feature = "cuda-12000",
8442        feature = "cuda-12010",
8443        feature = "cuda-12020",
8444        feature = "cuda-12030",
8445        feature = "cuda-12040",
8446        feature = "cuda-12050",
8447        feature = "cuda-12060",
8448        feature = "cuda-12080",
8449        feature = "cuda-12090",
8450        feature = "cuda-13000"
8451    ))]
8452    pub fn cuArrayGetMemoryRequirements(
8453        memoryRequirements: *mut CUDA_ARRAY_MEMORY_REQUIREMENTS,
8454        array: CUarray,
8455        device: CUdevice,
8456    ) -> CUresult;
8457    pub fn cuArrayGetPlane(
8458        pPlaneArray: *mut CUarray,
8459        hArray: CUarray,
8460        planeIdx: ::core::ffi::c_uint,
8461    ) -> CUresult;
8462    pub fn cuArrayGetSparseProperties(
8463        sparseProperties: *mut CUDA_ARRAY_SPARSE_PROPERTIES,
8464        array: CUarray,
8465    ) -> CUresult;
8466    #[cfg(any(
8467        feature = "cuda-12010",
8468        feature = "cuda-12020",
8469        feature = "cuda-12030",
8470        feature = "cuda-12040",
8471        feature = "cuda-12050",
8472        feature = "cuda-12060",
8473        feature = "cuda-12080",
8474        feature = "cuda-12090",
8475        feature = "cuda-13000"
8476    ))]
8477    pub fn cuCoredumpGetAttribute(
8478        attrib: CUcoredumpSettings,
8479        value: *mut ::core::ffi::c_void,
8480        size: *mut usize,
8481    ) -> CUresult;
8482    #[cfg(any(
8483        feature = "cuda-12010",
8484        feature = "cuda-12020",
8485        feature = "cuda-12030",
8486        feature = "cuda-12040",
8487        feature = "cuda-12050",
8488        feature = "cuda-12060",
8489        feature = "cuda-12080",
8490        feature = "cuda-12090",
8491        feature = "cuda-13000"
8492    ))]
8493    pub fn cuCoredumpGetAttributeGlobal(
8494        attrib: CUcoredumpSettings,
8495        value: *mut ::core::ffi::c_void,
8496        size: *mut usize,
8497    ) -> CUresult;
8498    #[cfg(any(
8499        feature = "cuda-12010",
8500        feature = "cuda-12020",
8501        feature = "cuda-12030",
8502        feature = "cuda-12040",
8503        feature = "cuda-12050",
8504        feature = "cuda-12060",
8505        feature = "cuda-12080",
8506        feature = "cuda-12090",
8507        feature = "cuda-13000"
8508    ))]
8509    pub fn cuCoredumpSetAttribute(
8510        attrib: CUcoredumpSettings,
8511        value: *mut ::core::ffi::c_void,
8512        size: *mut usize,
8513    ) -> CUresult;
8514    #[cfg(any(
8515        feature = "cuda-12010",
8516        feature = "cuda-12020",
8517        feature = "cuda-12030",
8518        feature = "cuda-12040",
8519        feature = "cuda-12050",
8520        feature = "cuda-12060",
8521        feature = "cuda-12080",
8522        feature = "cuda-12090",
8523        feature = "cuda-13000"
8524    ))]
8525    pub fn cuCoredumpSetAttributeGlobal(
8526        attrib: CUcoredumpSettings,
8527        value: *mut ::core::ffi::c_void,
8528        size: *mut usize,
8529    ) -> CUresult;
8530    pub fn cuCtxAttach(pctx: *mut CUcontext, flags: ::core::ffi::c_uint) -> CUresult;
8531    #[cfg(any(
8532        feature = "cuda-11040",
8533        feature = "cuda-11050",
8534        feature = "cuda-11060",
8535        feature = "cuda-11070",
8536        feature = "cuda-11080",
8537        feature = "cuda-12000",
8538        feature = "cuda-12010",
8539        feature = "cuda-12020",
8540        feature = "cuda-12030",
8541        feature = "cuda-12040",
8542        feature = "cuda-12050",
8543        feature = "cuda-12060",
8544        feature = "cuda-12080",
8545        feature = "cuda-12090"
8546    ))]
8547    pub fn cuCtxCreate_v2(
8548        pctx: *mut CUcontext,
8549        flags: ::core::ffi::c_uint,
8550        dev: CUdevice,
8551    ) -> CUresult;
8552    #[cfg(any(
8553        feature = "cuda-11040",
8554        feature = "cuda-11050",
8555        feature = "cuda-11060",
8556        feature = "cuda-11070",
8557        feature = "cuda-11080",
8558        feature = "cuda-12000",
8559        feature = "cuda-12010",
8560        feature = "cuda-12020",
8561        feature = "cuda-12030",
8562        feature = "cuda-12040",
8563        feature = "cuda-12050",
8564        feature = "cuda-12060",
8565        feature = "cuda-12080",
8566        feature = "cuda-12090"
8567    ))]
8568    pub fn cuCtxCreate_v3(
8569        pctx: *mut CUcontext,
8570        paramsArray: *mut CUexecAffinityParam,
8571        numParams: ::core::ffi::c_int,
8572        flags: ::core::ffi::c_uint,
8573        dev: CUdevice,
8574    ) -> CUresult;
8575    #[cfg(any(
8576        feature = "cuda-12050",
8577        feature = "cuda-12060",
8578        feature = "cuda-12080",
8579        feature = "cuda-12090",
8580        feature = "cuda-13000"
8581    ))]
8582    pub fn cuCtxCreate_v4(
8583        pctx: *mut CUcontext,
8584        ctxCreateParams: *mut CUctxCreateParams,
8585        flags: ::core::ffi::c_uint,
8586        dev: CUdevice,
8587    ) -> CUresult;
8588    pub fn cuCtxDestroy_v2(ctx: CUcontext) -> CUresult;
8589    pub fn cuCtxDetach(ctx: CUcontext) -> CUresult;
8590    pub fn cuCtxDisablePeerAccess(peerContext: CUcontext) -> CUresult;
8591    pub fn cuCtxEnablePeerAccess(peerContext: CUcontext, Flags: ::core::ffi::c_uint) -> CUresult;
8592    #[cfg(any(
8593        feature = "cuda-12040",
8594        feature = "cuda-12050",
8595        feature = "cuda-12060",
8596        feature = "cuda-12080",
8597        feature = "cuda-12090",
8598        feature = "cuda-13000"
8599    ))]
8600    pub fn cuCtxFromGreenCtx(pContext: *mut CUcontext, hCtx: CUgreenCtx) -> CUresult;
8601    pub fn cuCtxGetApiVersion(ctx: CUcontext, version: *mut ::core::ffi::c_uint) -> CUresult;
8602    pub fn cuCtxGetCacheConfig(pconfig: *mut CUfunc_cache) -> CUresult;
8603    pub fn cuCtxGetCurrent(pctx: *mut CUcontext) -> CUresult;
8604    #[cfg(any(
8605        feature = "cuda-12040",
8606        feature = "cuda-12050",
8607        feature = "cuda-12060",
8608        feature = "cuda-12080",
8609        feature = "cuda-12090",
8610        feature = "cuda-13000"
8611    ))]
8612    pub fn cuCtxGetDevResource(
8613        hCtx: CUcontext,
8614        resource: *mut CUdevResource,
8615        type_: CUdevResourceType,
8616    ) -> CUresult;
8617    pub fn cuCtxGetDevice(device: *mut CUdevice) -> CUresult;
8618    #[cfg(any(feature = "cuda-13000"))]
8619    pub fn cuCtxGetDevice_v2(device: *mut CUdevice, ctx: CUcontext) -> CUresult;
8620    pub fn cuCtxGetExecAffinity(
8621        pExecAffinity: *mut CUexecAffinityParam,
8622        type_: CUexecAffinityType,
8623    ) -> CUresult;
8624    pub fn cuCtxGetFlags(flags: *mut ::core::ffi::c_uint) -> CUresult;
8625    #[cfg(any(
8626        feature = "cuda-12000",
8627        feature = "cuda-12010",
8628        feature = "cuda-12020",
8629        feature = "cuda-12030",
8630        feature = "cuda-12040",
8631        feature = "cuda-12050",
8632        feature = "cuda-12060",
8633        feature = "cuda-12080",
8634        feature = "cuda-12090",
8635        feature = "cuda-13000"
8636    ))]
8637    pub fn cuCtxGetId(ctx: CUcontext, ctxId: *mut ::core::ffi::c_ulonglong) -> CUresult;
8638    pub fn cuCtxGetLimit(pvalue: *mut usize, limit: CUlimit) -> CUresult;
8639    pub fn cuCtxGetSharedMemConfig(pConfig: *mut CUsharedconfig) -> CUresult;
8640    pub fn cuCtxGetStreamPriorityRange(
8641        leastPriority: *mut ::core::ffi::c_int,
8642        greatestPriority: *mut ::core::ffi::c_int,
8643    ) -> CUresult;
8644    pub fn cuCtxPopCurrent_v2(pctx: *mut CUcontext) -> CUresult;
8645    pub fn cuCtxPushCurrent_v2(ctx: CUcontext) -> CUresult;
8646    #[cfg(any(
8647        feature = "cuda-12050",
8648        feature = "cuda-12060",
8649        feature = "cuda-12080",
8650        feature = "cuda-12090",
8651        feature = "cuda-13000"
8652    ))]
8653    pub fn cuCtxRecordEvent(hCtx: CUcontext, hEvent: CUevent) -> CUresult;
8654    pub fn cuCtxResetPersistingL2Cache() -> CUresult;
8655    pub fn cuCtxSetCacheConfig(config: CUfunc_cache) -> CUresult;
8656    pub fn cuCtxSetCurrent(ctx: CUcontext) -> CUresult;
8657    #[cfg(any(
8658        feature = "cuda-12010",
8659        feature = "cuda-12020",
8660        feature = "cuda-12030",
8661        feature = "cuda-12040",
8662        feature = "cuda-12050",
8663        feature = "cuda-12060",
8664        feature = "cuda-12080",
8665        feature = "cuda-12090",
8666        feature = "cuda-13000"
8667    ))]
8668    pub fn cuCtxSetFlags(flags: ::core::ffi::c_uint) -> CUresult;
8669    pub fn cuCtxSetLimit(limit: CUlimit, value: usize) -> CUresult;
8670    pub fn cuCtxSetSharedMemConfig(config: CUsharedconfig) -> CUresult;
8671    pub fn cuCtxSynchronize() -> CUresult;
8672    #[cfg(any(feature = "cuda-13000"))]
8673    pub fn cuCtxSynchronize_v2(ctx: CUcontext) -> CUresult;
8674    #[cfg(any(
8675        feature = "cuda-12050",
8676        feature = "cuda-12060",
8677        feature = "cuda-12080",
8678        feature = "cuda-12090",
8679        feature = "cuda-13000"
8680    ))]
8681    pub fn cuCtxWaitEvent(hCtx: CUcontext, hEvent: CUevent) -> CUresult;
8682    pub fn cuDestroyExternalMemory(extMem: CUexternalMemory) -> CUresult;
8683    pub fn cuDestroyExternalSemaphore(extSem: CUexternalSemaphore) -> CUresult;
8684    #[cfg(any(
8685        feature = "cuda-12040",
8686        feature = "cuda-12050",
8687        feature = "cuda-12060",
8688        feature = "cuda-12080",
8689        feature = "cuda-12090",
8690        feature = "cuda-13000"
8691    ))]
8692    pub fn cuDevResourceGenerateDesc(
8693        phDesc: *mut CUdevResourceDesc,
8694        resources: *mut CUdevResource,
8695        nbResources: ::core::ffi::c_uint,
8696    ) -> CUresult;
8697    #[cfg(any(
8698        feature = "cuda-12040",
8699        feature = "cuda-12050",
8700        feature = "cuda-12060",
8701        feature = "cuda-12080",
8702        feature = "cuda-12090",
8703        feature = "cuda-13000"
8704    ))]
8705    pub fn cuDevSmResourceSplitByCount(
8706        result: *mut CUdevResource,
8707        nbGroups: *mut ::core::ffi::c_uint,
8708        input: *const CUdevResource,
8709        remaining: *mut CUdevResource,
8710        useFlags: ::core::ffi::c_uint,
8711        minCount: ::core::ffi::c_uint,
8712    ) -> CUresult;
8713    pub fn cuDeviceCanAccessPeer(
8714        canAccessPeer: *mut ::core::ffi::c_int,
8715        dev: CUdevice,
8716        peerDev: CUdevice,
8717    ) -> CUresult;
8718    pub fn cuDeviceComputeCapability(
8719        major: *mut ::core::ffi::c_int,
8720        minor: *mut ::core::ffi::c_int,
8721        dev: CUdevice,
8722    ) -> CUresult;
8723    pub fn cuDeviceGet(device: *mut CUdevice, ordinal: ::core::ffi::c_int) -> CUresult;
8724    pub fn cuDeviceGetAttribute(
8725        pi: *mut ::core::ffi::c_int,
8726        attrib: CUdevice_attribute,
8727        dev: CUdevice,
8728    ) -> CUresult;
8729    pub fn cuDeviceGetByPCIBusId(
8730        dev: *mut CUdevice,
8731        pciBusId: *const ::core::ffi::c_char,
8732    ) -> CUresult;
8733    pub fn cuDeviceGetCount(count: *mut ::core::ffi::c_int) -> CUresult;
8734    pub fn cuDeviceGetDefaultMemPool(pool_out: *mut CUmemoryPool, dev: CUdevice) -> CUresult;
8735    #[cfg(any(
8736        feature = "cuda-12040",
8737        feature = "cuda-12050",
8738        feature = "cuda-12060",
8739        feature = "cuda-12080",
8740        feature = "cuda-12090",
8741        feature = "cuda-13000"
8742    ))]
8743    pub fn cuDeviceGetDevResource(
8744        device: CUdevice,
8745        resource: *mut CUdevResource,
8746        type_: CUdevResourceType,
8747    ) -> CUresult;
8748    pub fn cuDeviceGetExecAffinitySupport(
8749        pi: *mut ::core::ffi::c_int,
8750        type_: CUexecAffinityType,
8751        dev: CUdevice,
8752    ) -> CUresult;
8753    pub fn cuDeviceGetGraphMemAttribute(
8754        device: CUdevice,
8755        attr: CUgraphMem_attribute,
8756        value: *mut ::core::ffi::c_void,
8757    ) -> CUresult;
8758    #[cfg(any(feature = "cuda-13000"))]
8759    pub fn cuDeviceGetHostAtomicCapabilities(
8760        capabilities: *mut ::core::ffi::c_uint,
8761        operations: *const CUatomicOperation,
8762        count: ::core::ffi::c_uint,
8763        dev: CUdevice,
8764    ) -> CUresult;
8765    pub fn cuDeviceGetLuid(
8766        luid: *mut ::core::ffi::c_char,
8767        deviceNodeMask: *mut ::core::ffi::c_uint,
8768        dev: CUdevice,
8769    ) -> CUresult;
8770    pub fn cuDeviceGetMemPool(pool: *mut CUmemoryPool, dev: CUdevice) -> CUresult;
8771    pub fn cuDeviceGetName(
8772        name: *mut ::core::ffi::c_char,
8773        len: ::core::ffi::c_int,
8774        dev: CUdevice,
8775    ) -> CUresult;
8776    #[cfg(any(feature = "cuda-13000"))]
8777    pub fn cuDeviceGetP2PAtomicCapabilities(
8778        capabilities: *mut ::core::ffi::c_uint,
8779        operations: *const CUatomicOperation,
8780        count: ::core::ffi::c_uint,
8781        srcDevice: CUdevice,
8782        dstDevice: CUdevice,
8783    ) -> CUresult;
8784    pub fn cuDeviceGetP2PAttribute(
8785        value: *mut ::core::ffi::c_int,
8786        attrib: CUdevice_P2PAttribute,
8787        srcDevice: CUdevice,
8788        dstDevice: CUdevice,
8789    ) -> CUresult;
8790    pub fn cuDeviceGetPCIBusId(
8791        pciBusId: *mut ::core::ffi::c_char,
8792        len: ::core::ffi::c_int,
8793        dev: CUdevice,
8794    ) -> CUresult;
8795    pub fn cuDeviceGetProperties(prop: *mut CUdevprop, dev: CUdevice) -> CUresult;
8796    pub fn cuDeviceGetTexture1DLinearMaxWidth(
8797        maxWidthInElements: *mut usize,
8798        format: CUarray_format,
8799        numChannels: ::core::ffi::c_uint,
8800        dev: CUdevice,
8801    ) -> CUresult;
8802    #[cfg(any(
8803        feature = "cuda-11040",
8804        feature = "cuda-11050",
8805        feature = "cuda-11060",
8806        feature = "cuda-11070",
8807        feature = "cuda-11080",
8808        feature = "cuda-12000",
8809        feature = "cuda-12010",
8810        feature = "cuda-12020",
8811        feature = "cuda-12030",
8812        feature = "cuda-12040",
8813        feature = "cuda-12050",
8814        feature = "cuda-12060",
8815        feature = "cuda-12080",
8816        feature = "cuda-12090"
8817    ))]
8818    pub fn cuDeviceGetUuid(uuid: *mut CUuuid, dev: CUdevice) -> CUresult;
8819    pub fn cuDeviceGetUuid_v2(uuid: *mut CUuuid, dev: CUdevice) -> CUresult;
8820    pub fn cuDeviceGraphMemTrim(device: CUdevice) -> CUresult;
8821    pub fn cuDevicePrimaryCtxGetState(
8822        dev: CUdevice,
8823        flags: *mut ::core::ffi::c_uint,
8824        active: *mut ::core::ffi::c_int,
8825    ) -> CUresult;
8826    pub fn cuDevicePrimaryCtxRelease_v2(dev: CUdevice) -> CUresult;
8827    pub fn cuDevicePrimaryCtxReset_v2(dev: CUdevice) -> CUresult;
8828    pub fn cuDevicePrimaryCtxRetain(pctx: *mut CUcontext, dev: CUdevice) -> CUresult;
8829    pub fn cuDevicePrimaryCtxSetFlags_v2(dev: CUdevice, flags: ::core::ffi::c_uint) -> CUresult;
8830    #[cfg(any(
8831        feature = "cuda-12040",
8832        feature = "cuda-12050",
8833        feature = "cuda-12060",
8834        feature = "cuda-12080",
8835        feature = "cuda-12090",
8836        feature = "cuda-13000"
8837    ))]
8838    pub fn cuDeviceRegisterAsyncNotification(
8839        device: CUdevice,
8840        callbackFunc: CUasyncCallback,
8841        userData: *mut ::core::ffi::c_void,
8842        callback: *mut CUasyncCallbackHandle,
8843    ) -> CUresult;
8844    pub fn cuDeviceSetGraphMemAttribute(
8845        device: CUdevice,
8846        attr: CUgraphMem_attribute,
8847        value: *mut ::core::ffi::c_void,
8848    ) -> CUresult;
8849    pub fn cuDeviceSetMemPool(dev: CUdevice, pool: CUmemoryPool) -> CUresult;
8850    pub fn cuDeviceTotalMem_v2(bytes: *mut usize, dev: CUdevice) -> CUresult;
8851    #[cfg(any(
8852        feature = "cuda-12040",
8853        feature = "cuda-12050",
8854        feature = "cuda-12060",
8855        feature = "cuda-12080",
8856        feature = "cuda-12090",
8857        feature = "cuda-13000"
8858    ))]
8859    pub fn cuDeviceUnregisterAsyncNotification(
8860        device: CUdevice,
8861        callback: CUasyncCallbackHandle,
8862    ) -> CUresult;
8863    pub fn cuDriverGetVersion(driverVersion: *mut ::core::ffi::c_int) -> CUresult;
8864    pub fn cuEventCreate(phEvent: *mut CUevent, Flags: ::core::ffi::c_uint) -> CUresult;
8865    pub fn cuEventDestroy_v2(hEvent: CUevent) -> CUresult;
8866    #[cfg(any(
8867        feature = "cuda-11040",
8868        feature = "cuda-11050",
8869        feature = "cuda-11060",
8870        feature = "cuda-11070",
8871        feature = "cuda-11080",
8872        feature = "cuda-12000",
8873        feature = "cuda-12010",
8874        feature = "cuda-12020",
8875        feature = "cuda-12030",
8876        feature = "cuda-12040",
8877        feature = "cuda-12050",
8878        feature = "cuda-12060",
8879        feature = "cuda-12080",
8880        feature = "cuda-12090"
8881    ))]
8882    pub fn cuEventElapsedTime(pMilliseconds: *mut f32, hStart: CUevent, hEnd: CUevent) -> CUresult;
8883    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
8884    pub fn cuEventElapsedTime_v2(
8885        pMilliseconds: *mut f32,
8886        hStart: CUevent,
8887        hEnd: CUevent,
8888    ) -> CUresult;
8889    pub fn cuEventQuery(hEvent: CUevent) -> CUresult;
8890    pub fn cuEventRecord(hEvent: CUevent, hStream: CUstream) -> CUresult;
8891    pub fn cuEventRecordWithFlags(
8892        hEvent: CUevent,
8893        hStream: CUstream,
8894        flags: ::core::ffi::c_uint,
8895    ) -> CUresult;
8896    pub fn cuEventSynchronize(hEvent: CUevent) -> CUresult;
8897    pub fn cuExternalMemoryGetMappedBuffer(
8898        devPtr: *mut CUdeviceptr,
8899        extMem: CUexternalMemory,
8900        bufferDesc: *const CUDA_EXTERNAL_MEMORY_BUFFER_DESC,
8901    ) -> CUresult;
8902    pub fn cuExternalMemoryGetMappedMipmappedArray(
8903        mipmap: *mut CUmipmappedArray,
8904        extMem: CUexternalMemory,
8905        mipmapDesc: *const CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC,
8906    ) -> CUresult;
8907    pub fn cuFlushGPUDirectRDMAWrites(
8908        target: CUflushGPUDirectRDMAWritesTarget,
8909        scope: CUflushGPUDirectRDMAWritesScope,
8910    ) -> CUresult;
8911    pub fn cuFuncGetAttribute(
8912        pi: *mut ::core::ffi::c_int,
8913        attrib: CUfunction_attribute,
8914        hfunc: CUfunction,
8915    ) -> CUresult;
8916    pub fn cuFuncGetModule(hmod: *mut CUmodule, hfunc: CUfunction) -> CUresult;
8917    #[cfg(any(
8918        feature = "cuda-12030",
8919        feature = "cuda-12040",
8920        feature = "cuda-12050",
8921        feature = "cuda-12060",
8922        feature = "cuda-12080",
8923        feature = "cuda-12090",
8924        feature = "cuda-13000"
8925    ))]
8926    pub fn cuFuncGetName(name: *mut *const ::core::ffi::c_char, hfunc: CUfunction) -> CUresult;
8927    #[cfg(any(
8928        feature = "cuda-12040",
8929        feature = "cuda-12050",
8930        feature = "cuda-12060",
8931        feature = "cuda-12080",
8932        feature = "cuda-12090",
8933        feature = "cuda-13000"
8934    ))]
8935    pub fn cuFuncGetParamInfo(
8936        func: CUfunction,
8937        paramIndex: usize,
8938        paramOffset: *mut usize,
8939        paramSize: *mut usize,
8940    ) -> CUresult;
8941    #[cfg(any(
8942        feature = "cuda-12040",
8943        feature = "cuda-12050",
8944        feature = "cuda-12060",
8945        feature = "cuda-12080",
8946        feature = "cuda-12090",
8947        feature = "cuda-13000"
8948    ))]
8949    pub fn cuFuncIsLoaded(state: *mut CUfunctionLoadingState, function: CUfunction) -> CUresult;
8950    #[cfg(any(
8951        feature = "cuda-12040",
8952        feature = "cuda-12050",
8953        feature = "cuda-12060",
8954        feature = "cuda-12080",
8955        feature = "cuda-12090",
8956        feature = "cuda-13000"
8957    ))]
8958    pub fn cuFuncLoad(function: CUfunction) -> CUresult;
8959    pub fn cuFuncSetAttribute(
8960        hfunc: CUfunction,
8961        attrib: CUfunction_attribute,
8962        value: ::core::ffi::c_int,
8963    ) -> CUresult;
8964    pub fn cuFuncSetBlockShape(
8965        hfunc: CUfunction,
8966        x: ::core::ffi::c_int,
8967        y: ::core::ffi::c_int,
8968        z: ::core::ffi::c_int,
8969    ) -> CUresult;
8970    pub fn cuFuncSetCacheConfig(hfunc: CUfunction, config: CUfunc_cache) -> CUresult;
8971    pub fn cuFuncSetSharedMemConfig(hfunc: CUfunction, config: CUsharedconfig) -> CUresult;
8972    pub fn cuFuncSetSharedSize(hfunc: CUfunction, bytes: ::core::ffi::c_uint) -> CUresult;
8973    pub fn cuGetErrorName(error: CUresult, pStr: *mut *const ::core::ffi::c_char) -> CUresult;
8974    pub fn cuGetErrorString(error: CUresult, pStr: *mut *const ::core::ffi::c_char) -> CUresult;
8975    pub fn cuGetExportTable(
8976        ppExportTable: *mut *const ::core::ffi::c_void,
8977        pExportTableId: *const CUuuid,
8978    ) -> CUresult;
8979    #[cfg(any(
8980        feature = "cuda-11040",
8981        feature = "cuda-11050",
8982        feature = "cuda-11060",
8983        feature = "cuda-11070",
8984        feature = "cuda-11080"
8985    ))]
8986    pub fn cuGetProcAddress(
8987        symbol: *const ::core::ffi::c_char,
8988        pfn: *mut *mut ::core::ffi::c_void,
8989        cudaVersion: ::core::ffi::c_int,
8990        flags: cuuint64_t,
8991    ) -> CUresult;
8992    #[cfg(any(
8993        feature = "cuda-12000",
8994        feature = "cuda-12010",
8995        feature = "cuda-12020",
8996        feature = "cuda-12030",
8997        feature = "cuda-12040",
8998        feature = "cuda-12050",
8999        feature = "cuda-12060",
9000        feature = "cuda-12080",
9001        feature = "cuda-12090",
9002        feature = "cuda-13000"
9003    ))]
9004    pub fn cuGetProcAddress_v2(
9005        symbol: *const ::core::ffi::c_char,
9006        pfn: *mut *mut ::core::ffi::c_void,
9007        cudaVersion: ::core::ffi::c_int,
9008        flags: cuuint64_t,
9009        symbolStatus: *mut CUdriverProcAddressQueryResult,
9010    ) -> CUresult;
9011    #[cfg(any(
9012        feature = "cuda-11070",
9013        feature = "cuda-11080",
9014        feature = "cuda-12000",
9015        feature = "cuda-12010",
9016        feature = "cuda-12020",
9017        feature = "cuda-12030",
9018        feature = "cuda-12040",
9019        feature = "cuda-12050",
9020        feature = "cuda-12060",
9021        feature = "cuda-12080",
9022        feature = "cuda-12090",
9023        feature = "cuda-13000"
9024    ))]
9025    pub fn cuGraphAddBatchMemOpNode(
9026        phGraphNode: *mut CUgraphNode,
9027        hGraph: CUgraph,
9028        dependencies: *const CUgraphNode,
9029        numDependencies: usize,
9030        nodeParams: *const CUDA_BATCH_MEM_OP_NODE_PARAMS,
9031    ) -> CUresult;
9032    pub fn cuGraphAddChildGraphNode(
9033        phGraphNode: *mut CUgraphNode,
9034        hGraph: CUgraph,
9035        dependencies: *const CUgraphNode,
9036        numDependencies: usize,
9037        childGraph: CUgraph,
9038    ) -> CUresult;
9039    #[cfg(any(
9040        feature = "cuda-11040",
9041        feature = "cuda-11050",
9042        feature = "cuda-11060",
9043        feature = "cuda-11070",
9044        feature = "cuda-11080",
9045        feature = "cuda-12000",
9046        feature = "cuda-12010",
9047        feature = "cuda-12020",
9048        feature = "cuda-12030",
9049        feature = "cuda-12040",
9050        feature = "cuda-12050",
9051        feature = "cuda-12060",
9052        feature = "cuda-12080",
9053        feature = "cuda-12090"
9054    ))]
9055    pub fn cuGraphAddDependencies(
9056        hGraph: CUgraph,
9057        from: *const CUgraphNode,
9058        to: *const CUgraphNode,
9059        numDependencies: usize,
9060    ) -> CUresult;
9061    #[cfg(any(
9062        feature = "cuda-12030",
9063        feature = "cuda-12040",
9064        feature = "cuda-12050",
9065        feature = "cuda-12060",
9066        feature = "cuda-12080",
9067        feature = "cuda-12090",
9068        feature = "cuda-13000"
9069    ))]
9070    pub fn cuGraphAddDependencies_v2(
9071        hGraph: CUgraph,
9072        from: *const CUgraphNode,
9073        to: *const CUgraphNode,
9074        edgeData: *const CUgraphEdgeData,
9075        numDependencies: usize,
9076    ) -> CUresult;
9077    pub fn cuGraphAddEmptyNode(
9078        phGraphNode: *mut CUgraphNode,
9079        hGraph: CUgraph,
9080        dependencies: *const CUgraphNode,
9081        numDependencies: usize,
9082    ) -> CUresult;
9083    pub fn cuGraphAddEventRecordNode(
9084        phGraphNode: *mut CUgraphNode,
9085        hGraph: CUgraph,
9086        dependencies: *const CUgraphNode,
9087        numDependencies: usize,
9088        event: CUevent,
9089    ) -> CUresult;
9090    pub fn cuGraphAddEventWaitNode(
9091        phGraphNode: *mut CUgraphNode,
9092        hGraph: CUgraph,
9093        dependencies: *const CUgraphNode,
9094        numDependencies: usize,
9095        event: CUevent,
9096    ) -> CUresult;
9097    pub fn cuGraphAddExternalSemaphoresSignalNode(
9098        phGraphNode: *mut CUgraphNode,
9099        hGraph: CUgraph,
9100        dependencies: *const CUgraphNode,
9101        numDependencies: usize,
9102        nodeParams: *const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
9103    ) -> CUresult;
9104    pub fn cuGraphAddExternalSemaphoresWaitNode(
9105        phGraphNode: *mut CUgraphNode,
9106        hGraph: CUgraph,
9107        dependencies: *const CUgraphNode,
9108        numDependencies: usize,
9109        nodeParams: *const CUDA_EXT_SEM_WAIT_NODE_PARAMS,
9110    ) -> CUresult;
9111    pub fn cuGraphAddHostNode(
9112        phGraphNode: *mut CUgraphNode,
9113        hGraph: CUgraph,
9114        dependencies: *const CUgraphNode,
9115        numDependencies: usize,
9116        nodeParams: *const CUDA_HOST_NODE_PARAMS,
9117    ) -> CUresult;
9118    #[cfg(any(
9119        feature = "cuda-11040",
9120        feature = "cuda-11050",
9121        feature = "cuda-11060",
9122        feature = "cuda-11070",
9123        feature = "cuda-11080"
9124    ))]
9125    pub fn cuGraphAddKernelNode(
9126        phGraphNode: *mut CUgraphNode,
9127        hGraph: CUgraph,
9128        dependencies: *const CUgraphNode,
9129        numDependencies: usize,
9130        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
9131    ) -> CUresult;
9132    #[cfg(any(
9133        feature = "cuda-12000",
9134        feature = "cuda-12010",
9135        feature = "cuda-12020",
9136        feature = "cuda-12030",
9137        feature = "cuda-12040",
9138        feature = "cuda-12050",
9139        feature = "cuda-12060",
9140        feature = "cuda-12080",
9141        feature = "cuda-12090",
9142        feature = "cuda-13000"
9143    ))]
9144    pub fn cuGraphAddKernelNode_v2(
9145        phGraphNode: *mut CUgraphNode,
9146        hGraph: CUgraph,
9147        dependencies: *const CUgraphNode,
9148        numDependencies: usize,
9149        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
9150    ) -> CUresult;
9151    pub fn cuGraphAddMemAllocNode(
9152        phGraphNode: *mut CUgraphNode,
9153        hGraph: CUgraph,
9154        dependencies: *const CUgraphNode,
9155        numDependencies: usize,
9156        nodeParams: *mut CUDA_MEM_ALLOC_NODE_PARAMS,
9157    ) -> CUresult;
9158    pub fn cuGraphAddMemFreeNode(
9159        phGraphNode: *mut CUgraphNode,
9160        hGraph: CUgraph,
9161        dependencies: *const CUgraphNode,
9162        numDependencies: usize,
9163        dptr: CUdeviceptr,
9164    ) -> CUresult;
9165    pub fn cuGraphAddMemcpyNode(
9166        phGraphNode: *mut CUgraphNode,
9167        hGraph: CUgraph,
9168        dependencies: *const CUgraphNode,
9169        numDependencies: usize,
9170        copyParams: *const CUDA_MEMCPY3D,
9171        ctx: CUcontext,
9172    ) -> CUresult;
9173    pub fn cuGraphAddMemsetNode(
9174        phGraphNode: *mut CUgraphNode,
9175        hGraph: CUgraph,
9176        dependencies: *const CUgraphNode,
9177        numDependencies: usize,
9178        memsetParams: *const CUDA_MEMSET_NODE_PARAMS,
9179        ctx: CUcontext,
9180    ) -> CUresult;
9181    #[cfg(any(
9182        feature = "cuda-12020",
9183        feature = "cuda-12030",
9184        feature = "cuda-12040",
9185        feature = "cuda-12050",
9186        feature = "cuda-12060",
9187        feature = "cuda-12080",
9188        feature = "cuda-12090"
9189    ))]
9190    pub fn cuGraphAddNode(
9191        phGraphNode: *mut CUgraphNode,
9192        hGraph: CUgraph,
9193        dependencies: *const CUgraphNode,
9194        numDependencies: usize,
9195        nodeParams: *mut CUgraphNodeParams,
9196    ) -> CUresult;
9197    #[cfg(any(
9198        feature = "cuda-12030",
9199        feature = "cuda-12040",
9200        feature = "cuda-12050",
9201        feature = "cuda-12060",
9202        feature = "cuda-12080",
9203        feature = "cuda-12090",
9204        feature = "cuda-13000"
9205    ))]
9206    pub fn cuGraphAddNode_v2(
9207        phGraphNode: *mut CUgraphNode,
9208        hGraph: CUgraph,
9209        dependencies: *const CUgraphNode,
9210        dependencyData: *const CUgraphEdgeData,
9211        numDependencies: usize,
9212        nodeParams: *mut CUgraphNodeParams,
9213    ) -> CUresult;
9214    #[cfg(any(
9215        feature = "cuda-11070",
9216        feature = "cuda-11080",
9217        feature = "cuda-12000",
9218        feature = "cuda-12010",
9219        feature = "cuda-12020",
9220        feature = "cuda-12030",
9221        feature = "cuda-12040",
9222        feature = "cuda-12050",
9223        feature = "cuda-12060",
9224        feature = "cuda-12080",
9225        feature = "cuda-12090",
9226        feature = "cuda-13000"
9227    ))]
9228    pub fn cuGraphBatchMemOpNodeGetParams(
9229        hNode: CUgraphNode,
9230        nodeParams_out: *mut CUDA_BATCH_MEM_OP_NODE_PARAMS,
9231    ) -> CUresult;
9232    #[cfg(any(
9233        feature = "cuda-11070",
9234        feature = "cuda-11080",
9235        feature = "cuda-12000",
9236        feature = "cuda-12010",
9237        feature = "cuda-12020",
9238        feature = "cuda-12030",
9239        feature = "cuda-12040",
9240        feature = "cuda-12050",
9241        feature = "cuda-12060",
9242        feature = "cuda-12080",
9243        feature = "cuda-12090",
9244        feature = "cuda-13000"
9245    ))]
9246    pub fn cuGraphBatchMemOpNodeSetParams(
9247        hNode: CUgraphNode,
9248        nodeParams: *const CUDA_BATCH_MEM_OP_NODE_PARAMS,
9249    ) -> CUresult;
9250    pub fn cuGraphChildGraphNodeGetGraph(hNode: CUgraphNode, phGraph: *mut CUgraph) -> CUresult;
9251    pub fn cuGraphClone(phGraphClone: *mut CUgraph, originalGraph: CUgraph) -> CUresult;
9252    #[cfg(any(
9253        feature = "cuda-12030",
9254        feature = "cuda-12040",
9255        feature = "cuda-12050",
9256        feature = "cuda-12060",
9257        feature = "cuda-12080",
9258        feature = "cuda-12090",
9259        feature = "cuda-13000"
9260    ))]
9261    pub fn cuGraphConditionalHandleCreate(
9262        pHandle_out: *mut CUgraphConditionalHandle,
9263        hGraph: CUgraph,
9264        ctx: CUcontext,
9265        defaultLaunchValue: ::core::ffi::c_uint,
9266        flags: ::core::ffi::c_uint,
9267    ) -> CUresult;
9268    pub fn cuGraphCreate(phGraph: *mut CUgraph, flags: ::core::ffi::c_uint) -> CUresult;
9269    pub fn cuGraphDebugDotPrint(
9270        hGraph: CUgraph,
9271        path: *const ::core::ffi::c_char,
9272        flags: ::core::ffi::c_uint,
9273    ) -> CUresult;
9274    pub fn cuGraphDestroy(hGraph: CUgraph) -> CUresult;
9275    pub fn cuGraphDestroyNode(hNode: CUgraphNode) -> CUresult;
9276    pub fn cuGraphEventRecordNodeGetEvent(hNode: CUgraphNode, event_out: *mut CUevent) -> CUresult;
9277    pub fn cuGraphEventRecordNodeSetEvent(hNode: CUgraphNode, event: CUevent) -> CUresult;
9278    pub fn cuGraphEventWaitNodeGetEvent(hNode: CUgraphNode, event_out: *mut CUevent) -> CUresult;
9279    pub fn cuGraphEventWaitNodeSetEvent(hNode: CUgraphNode, event: CUevent) -> CUresult;
9280    #[cfg(any(
9281        feature = "cuda-11070",
9282        feature = "cuda-11080",
9283        feature = "cuda-12000",
9284        feature = "cuda-12010",
9285        feature = "cuda-12020",
9286        feature = "cuda-12030",
9287        feature = "cuda-12040",
9288        feature = "cuda-12050",
9289        feature = "cuda-12060",
9290        feature = "cuda-12080",
9291        feature = "cuda-12090",
9292        feature = "cuda-13000"
9293    ))]
9294    pub fn cuGraphExecBatchMemOpNodeSetParams(
9295        hGraphExec: CUgraphExec,
9296        hNode: CUgraphNode,
9297        nodeParams: *const CUDA_BATCH_MEM_OP_NODE_PARAMS,
9298    ) -> CUresult;
9299    pub fn cuGraphExecChildGraphNodeSetParams(
9300        hGraphExec: CUgraphExec,
9301        hNode: CUgraphNode,
9302        childGraph: CUgraph,
9303    ) -> CUresult;
9304    pub fn cuGraphExecDestroy(hGraphExec: CUgraphExec) -> CUresult;
9305    pub fn cuGraphExecEventRecordNodeSetEvent(
9306        hGraphExec: CUgraphExec,
9307        hNode: CUgraphNode,
9308        event: CUevent,
9309    ) -> CUresult;
9310    pub fn cuGraphExecEventWaitNodeSetEvent(
9311        hGraphExec: CUgraphExec,
9312        hNode: CUgraphNode,
9313        event: CUevent,
9314    ) -> CUresult;
9315    pub fn cuGraphExecExternalSemaphoresSignalNodeSetParams(
9316        hGraphExec: CUgraphExec,
9317        hNode: CUgraphNode,
9318        nodeParams: *const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
9319    ) -> CUresult;
9320    pub fn cuGraphExecExternalSemaphoresWaitNodeSetParams(
9321        hGraphExec: CUgraphExec,
9322        hNode: CUgraphNode,
9323        nodeParams: *const CUDA_EXT_SEM_WAIT_NODE_PARAMS,
9324    ) -> CUresult;
9325    #[cfg(any(
9326        feature = "cuda-12000",
9327        feature = "cuda-12010",
9328        feature = "cuda-12020",
9329        feature = "cuda-12030",
9330        feature = "cuda-12040",
9331        feature = "cuda-12050",
9332        feature = "cuda-12060",
9333        feature = "cuda-12080",
9334        feature = "cuda-12090",
9335        feature = "cuda-13000"
9336    ))]
9337    pub fn cuGraphExecGetFlags(hGraphExec: CUgraphExec, flags: *mut cuuint64_t) -> CUresult;
9338    pub fn cuGraphExecHostNodeSetParams(
9339        hGraphExec: CUgraphExec,
9340        hNode: CUgraphNode,
9341        nodeParams: *const CUDA_HOST_NODE_PARAMS,
9342    ) -> CUresult;
9343    #[cfg(any(
9344        feature = "cuda-11040",
9345        feature = "cuda-11050",
9346        feature = "cuda-11060",
9347        feature = "cuda-11070",
9348        feature = "cuda-11080"
9349    ))]
9350    pub fn cuGraphExecKernelNodeSetParams(
9351        hGraphExec: CUgraphExec,
9352        hNode: CUgraphNode,
9353        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
9354    ) -> CUresult;
9355    #[cfg(any(
9356        feature = "cuda-12000",
9357        feature = "cuda-12010",
9358        feature = "cuda-12020",
9359        feature = "cuda-12030",
9360        feature = "cuda-12040",
9361        feature = "cuda-12050",
9362        feature = "cuda-12060",
9363        feature = "cuda-12080",
9364        feature = "cuda-12090",
9365        feature = "cuda-13000"
9366    ))]
9367    pub fn cuGraphExecKernelNodeSetParams_v2(
9368        hGraphExec: CUgraphExec,
9369        hNode: CUgraphNode,
9370        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
9371    ) -> CUresult;
9372    pub fn cuGraphExecMemcpyNodeSetParams(
9373        hGraphExec: CUgraphExec,
9374        hNode: CUgraphNode,
9375        copyParams: *const CUDA_MEMCPY3D,
9376        ctx: CUcontext,
9377    ) -> CUresult;
9378    pub fn cuGraphExecMemsetNodeSetParams(
9379        hGraphExec: CUgraphExec,
9380        hNode: CUgraphNode,
9381        memsetParams: *const CUDA_MEMSET_NODE_PARAMS,
9382        ctx: CUcontext,
9383    ) -> CUresult;
9384    #[cfg(any(
9385        feature = "cuda-12020",
9386        feature = "cuda-12030",
9387        feature = "cuda-12040",
9388        feature = "cuda-12050",
9389        feature = "cuda-12060",
9390        feature = "cuda-12080",
9391        feature = "cuda-12090",
9392        feature = "cuda-13000"
9393    ))]
9394    pub fn cuGraphExecNodeSetParams(
9395        hGraphExec: CUgraphExec,
9396        hNode: CUgraphNode,
9397        nodeParams: *mut CUgraphNodeParams,
9398    ) -> CUresult;
9399    #[cfg(any(
9400        feature = "cuda-11040",
9401        feature = "cuda-11050",
9402        feature = "cuda-11060",
9403        feature = "cuda-11070",
9404        feature = "cuda-11080"
9405    ))]
9406    pub fn cuGraphExecUpdate(
9407        hGraphExec: CUgraphExec,
9408        hGraph: CUgraph,
9409        hErrorNode_out: *mut CUgraphNode,
9410        updateResult_out: *mut CUgraphExecUpdateResult,
9411    ) -> CUresult;
9412    #[cfg(any(
9413        feature = "cuda-12000",
9414        feature = "cuda-12010",
9415        feature = "cuda-12020",
9416        feature = "cuda-12030",
9417        feature = "cuda-12040",
9418        feature = "cuda-12050",
9419        feature = "cuda-12060",
9420        feature = "cuda-12080",
9421        feature = "cuda-12090",
9422        feature = "cuda-13000"
9423    ))]
9424    pub fn cuGraphExecUpdate_v2(
9425        hGraphExec: CUgraphExec,
9426        hGraph: CUgraph,
9427        resultInfo: *mut CUgraphExecUpdateResultInfo,
9428    ) -> CUresult;
9429    pub fn cuGraphExternalSemaphoresSignalNodeGetParams(
9430        hNode: CUgraphNode,
9431        params_out: *mut CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
9432    ) -> CUresult;
9433    pub fn cuGraphExternalSemaphoresSignalNodeSetParams(
9434        hNode: CUgraphNode,
9435        nodeParams: *const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
9436    ) -> CUresult;
9437    pub fn cuGraphExternalSemaphoresWaitNodeGetParams(
9438        hNode: CUgraphNode,
9439        params_out: *mut CUDA_EXT_SEM_WAIT_NODE_PARAMS,
9440    ) -> CUresult;
9441    pub fn cuGraphExternalSemaphoresWaitNodeSetParams(
9442        hNode: CUgraphNode,
9443        nodeParams: *const CUDA_EXT_SEM_WAIT_NODE_PARAMS,
9444    ) -> CUresult;
9445    #[cfg(any(
9446        feature = "cuda-11040",
9447        feature = "cuda-11050",
9448        feature = "cuda-11060",
9449        feature = "cuda-11070",
9450        feature = "cuda-11080",
9451        feature = "cuda-12000",
9452        feature = "cuda-12010",
9453        feature = "cuda-12020",
9454        feature = "cuda-12030",
9455        feature = "cuda-12040",
9456        feature = "cuda-12050",
9457        feature = "cuda-12060",
9458        feature = "cuda-12080",
9459        feature = "cuda-12090"
9460    ))]
9461    pub fn cuGraphGetEdges(
9462        hGraph: CUgraph,
9463        from: *mut CUgraphNode,
9464        to: *mut CUgraphNode,
9465        numEdges: *mut usize,
9466    ) -> CUresult;
9467    #[cfg(any(
9468        feature = "cuda-12030",
9469        feature = "cuda-12040",
9470        feature = "cuda-12050",
9471        feature = "cuda-12060",
9472        feature = "cuda-12080",
9473        feature = "cuda-12090",
9474        feature = "cuda-13000"
9475    ))]
9476    pub fn cuGraphGetEdges_v2(
9477        hGraph: CUgraph,
9478        from: *mut CUgraphNode,
9479        to: *mut CUgraphNode,
9480        edgeData: *mut CUgraphEdgeData,
9481        numEdges: *mut usize,
9482    ) -> CUresult;
9483    pub fn cuGraphGetNodes(
9484        hGraph: CUgraph,
9485        nodes: *mut CUgraphNode,
9486        numNodes: *mut usize,
9487    ) -> CUresult;
9488    pub fn cuGraphGetRootNodes(
9489        hGraph: CUgraph,
9490        rootNodes: *mut CUgraphNode,
9491        numRootNodes: *mut usize,
9492    ) -> CUresult;
9493    pub fn cuGraphHostNodeGetParams(
9494        hNode: CUgraphNode,
9495        nodeParams: *mut CUDA_HOST_NODE_PARAMS,
9496    ) -> CUresult;
9497    pub fn cuGraphHostNodeSetParams(
9498        hNode: CUgraphNode,
9499        nodeParams: *const CUDA_HOST_NODE_PARAMS,
9500    ) -> CUresult;
9501    pub fn cuGraphInstantiateWithFlags(
9502        phGraphExec: *mut CUgraphExec,
9503        hGraph: CUgraph,
9504        flags: ::core::ffi::c_ulonglong,
9505    ) -> CUresult;
9506    #[cfg(any(
9507        feature = "cuda-12000",
9508        feature = "cuda-12010",
9509        feature = "cuda-12020",
9510        feature = "cuda-12030",
9511        feature = "cuda-12040",
9512        feature = "cuda-12050",
9513        feature = "cuda-12060",
9514        feature = "cuda-12080",
9515        feature = "cuda-12090",
9516        feature = "cuda-13000"
9517    ))]
9518    pub fn cuGraphInstantiateWithParams(
9519        phGraphExec: *mut CUgraphExec,
9520        hGraph: CUgraph,
9521        instantiateParams: *mut CUDA_GRAPH_INSTANTIATE_PARAMS,
9522    ) -> CUresult;
9523    #[cfg(any(
9524        feature = "cuda-11040",
9525        feature = "cuda-11050",
9526        feature = "cuda-11060",
9527        feature = "cuda-11070",
9528        feature = "cuda-11080"
9529    ))]
9530    pub fn cuGraphInstantiate_v2(
9531        phGraphExec: *mut CUgraphExec,
9532        hGraph: CUgraph,
9533        phErrorNode: *mut CUgraphNode,
9534        logBuffer: *mut ::core::ffi::c_char,
9535        bufferSize: usize,
9536    ) -> CUresult;
9537    pub fn cuGraphKernelNodeCopyAttributes(dst: CUgraphNode, src: CUgraphNode) -> CUresult;
9538    pub fn cuGraphKernelNodeGetAttribute(
9539        hNode: CUgraphNode,
9540        attr: CUkernelNodeAttrID,
9541        value_out: *mut CUkernelNodeAttrValue,
9542    ) -> CUresult;
9543    #[cfg(any(
9544        feature = "cuda-11040",
9545        feature = "cuda-11050",
9546        feature = "cuda-11060",
9547        feature = "cuda-11070",
9548        feature = "cuda-11080"
9549    ))]
9550    pub fn cuGraphKernelNodeGetParams(
9551        hNode: CUgraphNode,
9552        nodeParams: *mut CUDA_KERNEL_NODE_PARAMS,
9553    ) -> CUresult;
9554    #[cfg(any(
9555        feature = "cuda-12000",
9556        feature = "cuda-12010",
9557        feature = "cuda-12020",
9558        feature = "cuda-12030",
9559        feature = "cuda-12040",
9560        feature = "cuda-12050",
9561        feature = "cuda-12060",
9562        feature = "cuda-12080",
9563        feature = "cuda-12090",
9564        feature = "cuda-13000"
9565    ))]
9566    pub fn cuGraphKernelNodeGetParams_v2(
9567        hNode: CUgraphNode,
9568        nodeParams: *mut CUDA_KERNEL_NODE_PARAMS,
9569    ) -> CUresult;
9570    pub fn cuGraphKernelNodeSetAttribute(
9571        hNode: CUgraphNode,
9572        attr: CUkernelNodeAttrID,
9573        value: *const CUkernelNodeAttrValue,
9574    ) -> CUresult;
9575    #[cfg(any(
9576        feature = "cuda-11040",
9577        feature = "cuda-11050",
9578        feature = "cuda-11060",
9579        feature = "cuda-11070",
9580        feature = "cuda-11080"
9581    ))]
9582    pub fn cuGraphKernelNodeSetParams(
9583        hNode: CUgraphNode,
9584        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
9585    ) -> CUresult;
9586    #[cfg(any(
9587        feature = "cuda-12000",
9588        feature = "cuda-12010",
9589        feature = "cuda-12020",
9590        feature = "cuda-12030",
9591        feature = "cuda-12040",
9592        feature = "cuda-12050",
9593        feature = "cuda-12060",
9594        feature = "cuda-12080",
9595        feature = "cuda-12090",
9596        feature = "cuda-13000"
9597    ))]
9598    pub fn cuGraphKernelNodeSetParams_v2(
9599        hNode: CUgraphNode,
9600        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
9601    ) -> CUresult;
9602    pub fn cuGraphLaunch(hGraphExec: CUgraphExec, hStream: CUstream) -> CUresult;
9603    pub fn cuGraphMemAllocNodeGetParams(
9604        hNode: CUgraphNode,
9605        params_out: *mut CUDA_MEM_ALLOC_NODE_PARAMS,
9606    ) -> CUresult;
9607    pub fn cuGraphMemFreeNodeGetParams(hNode: CUgraphNode, dptr_out: *mut CUdeviceptr) -> CUresult;
9608    pub fn cuGraphMemcpyNodeGetParams(
9609        hNode: CUgraphNode,
9610        nodeParams: *mut CUDA_MEMCPY3D,
9611    ) -> CUresult;
9612    pub fn cuGraphMemcpyNodeSetParams(
9613        hNode: CUgraphNode,
9614        nodeParams: *const CUDA_MEMCPY3D,
9615    ) -> CUresult;
9616    pub fn cuGraphMemsetNodeGetParams(
9617        hNode: CUgraphNode,
9618        nodeParams: *mut CUDA_MEMSET_NODE_PARAMS,
9619    ) -> CUresult;
9620    pub fn cuGraphMemsetNodeSetParams(
9621        hNode: CUgraphNode,
9622        nodeParams: *const CUDA_MEMSET_NODE_PARAMS,
9623    ) -> CUresult;
9624    pub fn cuGraphNodeFindInClone(
9625        phNode: *mut CUgraphNode,
9626        hOriginalNode: CUgraphNode,
9627        hClonedGraph: CUgraph,
9628    ) -> CUresult;
9629    #[cfg(any(
9630        feature = "cuda-11040",
9631        feature = "cuda-11050",
9632        feature = "cuda-11060",
9633        feature = "cuda-11070",
9634        feature = "cuda-11080",
9635        feature = "cuda-12000",
9636        feature = "cuda-12010",
9637        feature = "cuda-12020",
9638        feature = "cuda-12030",
9639        feature = "cuda-12040",
9640        feature = "cuda-12050",
9641        feature = "cuda-12060",
9642        feature = "cuda-12080",
9643        feature = "cuda-12090"
9644    ))]
9645    pub fn cuGraphNodeGetDependencies(
9646        hNode: CUgraphNode,
9647        dependencies: *mut CUgraphNode,
9648        numDependencies: *mut usize,
9649    ) -> CUresult;
9650    #[cfg(any(
9651        feature = "cuda-12030",
9652        feature = "cuda-12040",
9653        feature = "cuda-12050",
9654        feature = "cuda-12060",
9655        feature = "cuda-12080",
9656        feature = "cuda-12090",
9657        feature = "cuda-13000"
9658    ))]
9659    pub fn cuGraphNodeGetDependencies_v2(
9660        hNode: CUgraphNode,
9661        dependencies: *mut CUgraphNode,
9662        edgeData: *mut CUgraphEdgeData,
9663        numDependencies: *mut usize,
9664    ) -> CUresult;
9665    #[cfg(any(
9666        feature = "cuda-11040",
9667        feature = "cuda-11050",
9668        feature = "cuda-11060",
9669        feature = "cuda-11070",
9670        feature = "cuda-11080",
9671        feature = "cuda-12000",
9672        feature = "cuda-12010",
9673        feature = "cuda-12020",
9674        feature = "cuda-12030",
9675        feature = "cuda-12040",
9676        feature = "cuda-12050",
9677        feature = "cuda-12060",
9678        feature = "cuda-12080",
9679        feature = "cuda-12090"
9680    ))]
9681    pub fn cuGraphNodeGetDependentNodes(
9682        hNode: CUgraphNode,
9683        dependentNodes: *mut CUgraphNode,
9684        numDependentNodes: *mut usize,
9685    ) -> CUresult;
9686    #[cfg(any(
9687        feature = "cuda-12030",
9688        feature = "cuda-12040",
9689        feature = "cuda-12050",
9690        feature = "cuda-12060",
9691        feature = "cuda-12080",
9692        feature = "cuda-12090",
9693        feature = "cuda-13000"
9694    ))]
9695    pub fn cuGraphNodeGetDependentNodes_v2(
9696        hNode: CUgraphNode,
9697        dependentNodes: *mut CUgraphNode,
9698        edgeData: *mut CUgraphEdgeData,
9699        numDependentNodes: *mut usize,
9700    ) -> CUresult;
9701    #[cfg(any(
9702        feature = "cuda-11060",
9703        feature = "cuda-11070",
9704        feature = "cuda-11080",
9705        feature = "cuda-12000",
9706        feature = "cuda-12010",
9707        feature = "cuda-12020",
9708        feature = "cuda-12030",
9709        feature = "cuda-12040",
9710        feature = "cuda-12050",
9711        feature = "cuda-12060",
9712        feature = "cuda-12080",
9713        feature = "cuda-12090",
9714        feature = "cuda-13000"
9715    ))]
9716    pub fn cuGraphNodeGetEnabled(
9717        hGraphExec: CUgraphExec,
9718        hNode: CUgraphNode,
9719        isEnabled: *mut ::core::ffi::c_uint,
9720    ) -> CUresult;
9721    pub fn cuGraphNodeGetType(hNode: CUgraphNode, type_: *mut CUgraphNodeType) -> CUresult;
9722    #[cfg(any(
9723        feature = "cuda-11060",
9724        feature = "cuda-11070",
9725        feature = "cuda-11080",
9726        feature = "cuda-12000",
9727        feature = "cuda-12010",
9728        feature = "cuda-12020",
9729        feature = "cuda-12030",
9730        feature = "cuda-12040",
9731        feature = "cuda-12050",
9732        feature = "cuda-12060",
9733        feature = "cuda-12080",
9734        feature = "cuda-12090",
9735        feature = "cuda-13000"
9736    ))]
9737    pub fn cuGraphNodeSetEnabled(
9738        hGraphExec: CUgraphExec,
9739        hNode: CUgraphNode,
9740        isEnabled: ::core::ffi::c_uint,
9741    ) -> CUresult;
9742    #[cfg(any(
9743        feature = "cuda-12020",
9744        feature = "cuda-12030",
9745        feature = "cuda-12040",
9746        feature = "cuda-12050",
9747        feature = "cuda-12060",
9748        feature = "cuda-12080",
9749        feature = "cuda-12090",
9750        feature = "cuda-13000"
9751    ))]
9752    pub fn cuGraphNodeSetParams(hNode: CUgraphNode, nodeParams: *mut CUgraphNodeParams)
9753        -> CUresult;
9754    pub fn cuGraphReleaseUserObject(
9755        graph: CUgraph,
9756        object: CUuserObject,
9757        count: ::core::ffi::c_uint,
9758    ) -> CUresult;
9759    #[cfg(any(
9760        feature = "cuda-11040",
9761        feature = "cuda-11050",
9762        feature = "cuda-11060",
9763        feature = "cuda-11070",
9764        feature = "cuda-11080",
9765        feature = "cuda-12000",
9766        feature = "cuda-12010",
9767        feature = "cuda-12020",
9768        feature = "cuda-12030",
9769        feature = "cuda-12040",
9770        feature = "cuda-12050",
9771        feature = "cuda-12060",
9772        feature = "cuda-12080",
9773        feature = "cuda-12090"
9774    ))]
9775    pub fn cuGraphRemoveDependencies(
9776        hGraph: CUgraph,
9777        from: *const CUgraphNode,
9778        to: *const CUgraphNode,
9779        numDependencies: usize,
9780    ) -> CUresult;
9781    #[cfg(any(
9782        feature = "cuda-12030",
9783        feature = "cuda-12040",
9784        feature = "cuda-12050",
9785        feature = "cuda-12060",
9786        feature = "cuda-12080",
9787        feature = "cuda-12090",
9788        feature = "cuda-13000"
9789    ))]
9790    pub fn cuGraphRemoveDependencies_v2(
9791        hGraph: CUgraph,
9792        from: *const CUgraphNode,
9793        to: *const CUgraphNode,
9794        edgeData: *const CUgraphEdgeData,
9795        numDependencies: usize,
9796    ) -> CUresult;
9797    pub fn cuGraphRetainUserObject(
9798        graph: CUgraph,
9799        object: CUuserObject,
9800        count: ::core::ffi::c_uint,
9801        flags: ::core::ffi::c_uint,
9802    ) -> CUresult;
9803    pub fn cuGraphUpload(hGraphExec: CUgraphExec, hStream: CUstream) -> CUresult;
9804    pub fn cuGraphicsMapResources(
9805        count: ::core::ffi::c_uint,
9806        resources: *mut CUgraphicsResource,
9807        hStream: CUstream,
9808    ) -> CUresult;
9809    pub fn cuGraphicsResourceGetMappedMipmappedArray(
9810        pMipmappedArray: *mut CUmipmappedArray,
9811        resource: CUgraphicsResource,
9812    ) -> CUresult;
9813    pub fn cuGraphicsResourceGetMappedPointer_v2(
9814        pDevPtr: *mut CUdeviceptr,
9815        pSize: *mut usize,
9816        resource: CUgraphicsResource,
9817    ) -> CUresult;
9818    pub fn cuGraphicsResourceSetMapFlags_v2(
9819        resource: CUgraphicsResource,
9820        flags: ::core::ffi::c_uint,
9821    ) -> CUresult;
9822    pub fn cuGraphicsSubResourceGetMappedArray(
9823        pArray: *mut CUarray,
9824        resource: CUgraphicsResource,
9825        arrayIndex: ::core::ffi::c_uint,
9826        mipLevel: ::core::ffi::c_uint,
9827    ) -> CUresult;
9828    pub fn cuGraphicsUnmapResources(
9829        count: ::core::ffi::c_uint,
9830        resources: *mut CUgraphicsResource,
9831        hStream: CUstream,
9832    ) -> CUresult;
9833    pub fn cuGraphicsUnregisterResource(resource: CUgraphicsResource) -> CUresult;
9834    #[cfg(any(
9835        feature = "cuda-12040",
9836        feature = "cuda-12050",
9837        feature = "cuda-12060",
9838        feature = "cuda-12080",
9839        feature = "cuda-12090",
9840        feature = "cuda-13000"
9841    ))]
9842    pub fn cuGreenCtxCreate(
9843        phCtx: *mut CUgreenCtx,
9844        desc: CUdevResourceDesc,
9845        dev: CUdevice,
9846        flags: ::core::ffi::c_uint,
9847    ) -> CUresult;
9848    #[cfg(any(
9849        feature = "cuda-12040",
9850        feature = "cuda-12050",
9851        feature = "cuda-12060",
9852        feature = "cuda-12080",
9853        feature = "cuda-12090",
9854        feature = "cuda-13000"
9855    ))]
9856    pub fn cuGreenCtxDestroy(hCtx: CUgreenCtx) -> CUresult;
9857    #[cfg(any(
9858        feature = "cuda-12040",
9859        feature = "cuda-12050",
9860        feature = "cuda-12060",
9861        feature = "cuda-12080",
9862        feature = "cuda-12090",
9863        feature = "cuda-13000"
9864    ))]
9865    pub fn cuGreenCtxGetDevResource(
9866        hCtx: CUgreenCtx,
9867        resource: *mut CUdevResource,
9868        type_: CUdevResourceType,
9869    ) -> CUresult;
9870    #[cfg(any(feature = "cuda-13000"))]
9871    pub fn cuGreenCtxGetId(
9872        greenCtx: CUgreenCtx,
9873        greenCtxId: *mut ::core::ffi::c_ulonglong,
9874    ) -> CUresult;
9875    #[cfg(any(
9876        feature = "cuda-12040",
9877        feature = "cuda-12050",
9878        feature = "cuda-12060",
9879        feature = "cuda-12080",
9880        feature = "cuda-12090",
9881        feature = "cuda-13000"
9882    ))]
9883    pub fn cuGreenCtxRecordEvent(hCtx: CUgreenCtx, hEvent: CUevent) -> CUresult;
9884    #[cfg(any(
9885        feature = "cuda-12050",
9886        feature = "cuda-12060",
9887        feature = "cuda-12080",
9888        feature = "cuda-12090",
9889        feature = "cuda-13000"
9890    ))]
9891    pub fn cuGreenCtxStreamCreate(
9892        phStream: *mut CUstream,
9893        greenCtx: CUgreenCtx,
9894        flags: ::core::ffi::c_uint,
9895        priority: ::core::ffi::c_int,
9896    ) -> CUresult;
9897    #[cfg(any(
9898        feature = "cuda-12040",
9899        feature = "cuda-12050",
9900        feature = "cuda-12060",
9901        feature = "cuda-12080",
9902        feature = "cuda-12090",
9903        feature = "cuda-13000"
9904    ))]
9905    pub fn cuGreenCtxWaitEvent(hCtx: CUgreenCtx, hEvent: CUevent) -> CUresult;
9906    pub fn cuImportExternalMemory(
9907        extMem_out: *mut CUexternalMemory,
9908        memHandleDesc: *const CUDA_EXTERNAL_MEMORY_HANDLE_DESC,
9909    ) -> CUresult;
9910    pub fn cuImportExternalSemaphore(
9911        extSem_out: *mut CUexternalSemaphore,
9912        semHandleDesc: *const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC,
9913    ) -> CUresult;
9914    pub fn cuInit(Flags: ::core::ffi::c_uint) -> CUresult;
9915    pub fn cuIpcCloseMemHandle(dptr: CUdeviceptr) -> CUresult;
9916    pub fn cuIpcGetEventHandle(pHandle: *mut CUipcEventHandle, event: CUevent) -> CUresult;
9917    pub fn cuIpcGetMemHandle(pHandle: *mut CUipcMemHandle, dptr: CUdeviceptr) -> CUresult;
9918    pub fn cuIpcOpenEventHandle(phEvent: *mut CUevent, handle: CUipcEventHandle) -> CUresult;
9919    pub fn cuIpcOpenMemHandle_v2(
9920        pdptr: *mut CUdeviceptr,
9921        handle: CUipcMemHandle,
9922        Flags: ::core::ffi::c_uint,
9923    ) -> CUresult;
9924    #[cfg(any(
9925        feature = "cuda-12000",
9926        feature = "cuda-12010",
9927        feature = "cuda-12020",
9928        feature = "cuda-12030",
9929        feature = "cuda-12040",
9930        feature = "cuda-12050",
9931        feature = "cuda-12060",
9932        feature = "cuda-12080",
9933        feature = "cuda-12090",
9934        feature = "cuda-13000"
9935    ))]
9936    pub fn cuKernelGetAttribute(
9937        pi: *mut ::core::ffi::c_int,
9938        attrib: CUfunction_attribute,
9939        kernel: CUkernel,
9940        dev: CUdevice,
9941    ) -> CUresult;
9942    #[cfg(any(
9943        feature = "cuda-12000",
9944        feature = "cuda-12010",
9945        feature = "cuda-12020",
9946        feature = "cuda-12030",
9947        feature = "cuda-12040",
9948        feature = "cuda-12050",
9949        feature = "cuda-12060",
9950        feature = "cuda-12080",
9951        feature = "cuda-12090",
9952        feature = "cuda-13000"
9953    ))]
9954    pub fn cuKernelGetFunction(pFunc: *mut CUfunction, kernel: CUkernel) -> CUresult;
9955    #[cfg(any(
9956        feature = "cuda-12050",
9957        feature = "cuda-12060",
9958        feature = "cuda-12080",
9959        feature = "cuda-12090",
9960        feature = "cuda-13000"
9961    ))]
9962    pub fn cuKernelGetLibrary(pLib: *mut CUlibrary, kernel: CUkernel) -> CUresult;
9963    #[cfg(any(
9964        feature = "cuda-12030",
9965        feature = "cuda-12040",
9966        feature = "cuda-12050",
9967        feature = "cuda-12060",
9968        feature = "cuda-12080",
9969        feature = "cuda-12090",
9970        feature = "cuda-13000"
9971    ))]
9972    pub fn cuKernelGetName(name: *mut *const ::core::ffi::c_char, hfunc: CUkernel) -> CUresult;
9973    #[cfg(any(
9974        feature = "cuda-12040",
9975        feature = "cuda-12050",
9976        feature = "cuda-12060",
9977        feature = "cuda-12080",
9978        feature = "cuda-12090",
9979        feature = "cuda-13000"
9980    ))]
9981    pub fn cuKernelGetParamInfo(
9982        kernel: CUkernel,
9983        paramIndex: usize,
9984        paramOffset: *mut usize,
9985        paramSize: *mut usize,
9986    ) -> CUresult;
9987    #[cfg(any(
9988        feature = "cuda-12000",
9989        feature = "cuda-12010",
9990        feature = "cuda-12020",
9991        feature = "cuda-12030",
9992        feature = "cuda-12040",
9993        feature = "cuda-12050",
9994        feature = "cuda-12060",
9995        feature = "cuda-12080",
9996        feature = "cuda-12090",
9997        feature = "cuda-13000"
9998    ))]
9999    pub fn cuKernelSetAttribute(
10000        attrib: CUfunction_attribute,
10001        val: ::core::ffi::c_int,
10002        kernel: CUkernel,
10003        dev: CUdevice,
10004    ) -> CUresult;
10005    #[cfg(any(
10006        feature = "cuda-12000",
10007        feature = "cuda-12010",
10008        feature = "cuda-12020",
10009        feature = "cuda-12030",
10010        feature = "cuda-12040",
10011        feature = "cuda-12050",
10012        feature = "cuda-12060",
10013        feature = "cuda-12080",
10014        feature = "cuda-12090",
10015        feature = "cuda-13000"
10016    ))]
10017    pub fn cuKernelSetCacheConfig(
10018        kernel: CUkernel,
10019        config: CUfunc_cache,
10020        dev: CUdevice,
10021    ) -> CUresult;
10022    pub fn cuLaunch(f: CUfunction) -> CUresult;
10023    pub fn cuLaunchCooperativeKernel(
10024        f: CUfunction,
10025        gridDimX: ::core::ffi::c_uint,
10026        gridDimY: ::core::ffi::c_uint,
10027        gridDimZ: ::core::ffi::c_uint,
10028        blockDimX: ::core::ffi::c_uint,
10029        blockDimY: ::core::ffi::c_uint,
10030        blockDimZ: ::core::ffi::c_uint,
10031        sharedMemBytes: ::core::ffi::c_uint,
10032        hStream: CUstream,
10033        kernelParams: *mut *mut ::core::ffi::c_void,
10034    ) -> CUresult;
10035    pub fn cuLaunchCooperativeKernelMultiDevice(
10036        launchParamsList: *mut CUDA_LAUNCH_PARAMS,
10037        numDevices: ::core::ffi::c_uint,
10038        flags: ::core::ffi::c_uint,
10039    ) -> CUresult;
10040    pub fn cuLaunchGrid(
10041        f: CUfunction,
10042        grid_width: ::core::ffi::c_int,
10043        grid_height: ::core::ffi::c_int,
10044    ) -> CUresult;
10045    pub fn cuLaunchGridAsync(
10046        f: CUfunction,
10047        grid_width: ::core::ffi::c_int,
10048        grid_height: ::core::ffi::c_int,
10049        hStream: CUstream,
10050    ) -> CUresult;
10051    pub fn cuLaunchHostFunc(
10052        hStream: CUstream,
10053        fn_: CUhostFn,
10054        userData: *mut ::core::ffi::c_void,
10055    ) -> CUresult;
10056    pub fn cuLaunchKernel(
10057        f: CUfunction,
10058        gridDimX: ::core::ffi::c_uint,
10059        gridDimY: ::core::ffi::c_uint,
10060        gridDimZ: ::core::ffi::c_uint,
10061        blockDimX: ::core::ffi::c_uint,
10062        blockDimY: ::core::ffi::c_uint,
10063        blockDimZ: ::core::ffi::c_uint,
10064        sharedMemBytes: ::core::ffi::c_uint,
10065        hStream: CUstream,
10066        kernelParams: *mut *mut ::core::ffi::c_void,
10067        extra: *mut *mut ::core::ffi::c_void,
10068    ) -> CUresult;
10069    #[cfg(any(
10070        feature = "cuda-11080",
10071        feature = "cuda-12000",
10072        feature = "cuda-12010",
10073        feature = "cuda-12020",
10074        feature = "cuda-12030",
10075        feature = "cuda-12040",
10076        feature = "cuda-12050",
10077        feature = "cuda-12060",
10078        feature = "cuda-12080",
10079        feature = "cuda-12090",
10080        feature = "cuda-13000"
10081    ))]
10082    pub fn cuLaunchKernelEx(
10083        config: *const CUlaunchConfig,
10084        f: CUfunction,
10085        kernelParams: *mut *mut ::core::ffi::c_void,
10086        extra: *mut *mut ::core::ffi::c_void,
10087    ) -> CUresult;
10088    #[cfg(any(
10089        feature = "cuda-12040",
10090        feature = "cuda-12050",
10091        feature = "cuda-12060",
10092        feature = "cuda-12080",
10093        feature = "cuda-12090",
10094        feature = "cuda-13000"
10095    ))]
10096    pub fn cuLibraryEnumerateKernels(
10097        kernels: *mut CUkernel,
10098        numKernels: ::core::ffi::c_uint,
10099        lib: CUlibrary,
10100    ) -> CUresult;
10101    #[cfg(any(
10102        feature = "cuda-12000",
10103        feature = "cuda-12010",
10104        feature = "cuda-12020",
10105        feature = "cuda-12030",
10106        feature = "cuda-12040",
10107        feature = "cuda-12050",
10108        feature = "cuda-12060",
10109        feature = "cuda-12080",
10110        feature = "cuda-12090",
10111        feature = "cuda-13000"
10112    ))]
10113    pub fn cuLibraryGetGlobal(
10114        dptr: *mut CUdeviceptr,
10115        bytes: *mut usize,
10116        library: CUlibrary,
10117        name: *const ::core::ffi::c_char,
10118    ) -> CUresult;
10119    #[cfg(any(
10120        feature = "cuda-12000",
10121        feature = "cuda-12010",
10122        feature = "cuda-12020",
10123        feature = "cuda-12030",
10124        feature = "cuda-12040",
10125        feature = "cuda-12050",
10126        feature = "cuda-12060",
10127        feature = "cuda-12080",
10128        feature = "cuda-12090",
10129        feature = "cuda-13000"
10130    ))]
10131    pub fn cuLibraryGetKernel(
10132        pKernel: *mut CUkernel,
10133        library: CUlibrary,
10134        name: *const ::core::ffi::c_char,
10135    ) -> CUresult;
10136    #[cfg(any(
10137        feature = "cuda-12040",
10138        feature = "cuda-12050",
10139        feature = "cuda-12060",
10140        feature = "cuda-12080",
10141        feature = "cuda-12090",
10142        feature = "cuda-13000"
10143    ))]
10144    pub fn cuLibraryGetKernelCount(count: *mut ::core::ffi::c_uint, lib: CUlibrary) -> CUresult;
10145    #[cfg(any(
10146        feature = "cuda-12000",
10147        feature = "cuda-12010",
10148        feature = "cuda-12020",
10149        feature = "cuda-12030",
10150        feature = "cuda-12040",
10151        feature = "cuda-12050",
10152        feature = "cuda-12060",
10153        feature = "cuda-12080",
10154        feature = "cuda-12090",
10155        feature = "cuda-13000"
10156    ))]
10157    pub fn cuLibraryGetManaged(
10158        dptr: *mut CUdeviceptr,
10159        bytes: *mut usize,
10160        library: CUlibrary,
10161        name: *const ::core::ffi::c_char,
10162    ) -> CUresult;
10163    #[cfg(any(
10164        feature = "cuda-12000",
10165        feature = "cuda-12010",
10166        feature = "cuda-12020",
10167        feature = "cuda-12030",
10168        feature = "cuda-12040",
10169        feature = "cuda-12050",
10170        feature = "cuda-12060",
10171        feature = "cuda-12080",
10172        feature = "cuda-12090",
10173        feature = "cuda-13000"
10174    ))]
10175    pub fn cuLibraryGetModule(pMod: *mut CUmodule, library: CUlibrary) -> CUresult;
10176    #[cfg(any(
10177        feature = "cuda-12000",
10178        feature = "cuda-12010",
10179        feature = "cuda-12020",
10180        feature = "cuda-12030",
10181        feature = "cuda-12040",
10182        feature = "cuda-12050",
10183        feature = "cuda-12060",
10184        feature = "cuda-12080",
10185        feature = "cuda-12090",
10186        feature = "cuda-13000"
10187    ))]
10188    pub fn cuLibraryGetUnifiedFunction(
10189        fptr: *mut *mut ::core::ffi::c_void,
10190        library: CUlibrary,
10191        symbol: *const ::core::ffi::c_char,
10192    ) -> CUresult;
10193    #[cfg(any(
10194        feature = "cuda-12000",
10195        feature = "cuda-12010",
10196        feature = "cuda-12020",
10197        feature = "cuda-12030",
10198        feature = "cuda-12040",
10199        feature = "cuda-12050",
10200        feature = "cuda-12060",
10201        feature = "cuda-12080",
10202        feature = "cuda-12090",
10203        feature = "cuda-13000"
10204    ))]
10205    pub fn cuLibraryLoadData(
10206        library: *mut CUlibrary,
10207        code: *const ::core::ffi::c_void,
10208        jitOptions: *mut CUjit_option,
10209        jitOptionsValues: *mut *mut ::core::ffi::c_void,
10210        numJitOptions: ::core::ffi::c_uint,
10211        libraryOptions: *mut CUlibraryOption,
10212        libraryOptionValues: *mut *mut ::core::ffi::c_void,
10213        numLibraryOptions: ::core::ffi::c_uint,
10214    ) -> CUresult;
10215    #[cfg(any(
10216        feature = "cuda-12000",
10217        feature = "cuda-12010",
10218        feature = "cuda-12020",
10219        feature = "cuda-12030",
10220        feature = "cuda-12040",
10221        feature = "cuda-12050",
10222        feature = "cuda-12060",
10223        feature = "cuda-12080",
10224        feature = "cuda-12090",
10225        feature = "cuda-13000"
10226    ))]
10227    pub fn cuLibraryLoadFromFile(
10228        library: *mut CUlibrary,
10229        fileName: *const ::core::ffi::c_char,
10230        jitOptions: *mut CUjit_option,
10231        jitOptionsValues: *mut *mut ::core::ffi::c_void,
10232        numJitOptions: ::core::ffi::c_uint,
10233        libraryOptions: *mut CUlibraryOption,
10234        libraryOptionValues: *mut *mut ::core::ffi::c_void,
10235        numLibraryOptions: ::core::ffi::c_uint,
10236    ) -> CUresult;
10237    #[cfg(any(
10238        feature = "cuda-12000",
10239        feature = "cuda-12010",
10240        feature = "cuda-12020",
10241        feature = "cuda-12030",
10242        feature = "cuda-12040",
10243        feature = "cuda-12050",
10244        feature = "cuda-12060",
10245        feature = "cuda-12080",
10246        feature = "cuda-12090",
10247        feature = "cuda-13000"
10248    ))]
10249    pub fn cuLibraryUnload(library: CUlibrary) -> CUresult;
10250    pub fn cuLinkAddData_v2(
10251        state: CUlinkState,
10252        type_: CUjitInputType,
10253        data: *mut ::core::ffi::c_void,
10254        size: usize,
10255        name: *const ::core::ffi::c_char,
10256        numOptions: ::core::ffi::c_uint,
10257        options: *mut CUjit_option,
10258        optionValues: *mut *mut ::core::ffi::c_void,
10259    ) -> CUresult;
10260    pub fn cuLinkAddFile_v2(
10261        state: CUlinkState,
10262        type_: CUjitInputType,
10263        path: *const ::core::ffi::c_char,
10264        numOptions: ::core::ffi::c_uint,
10265        options: *mut CUjit_option,
10266        optionValues: *mut *mut ::core::ffi::c_void,
10267    ) -> CUresult;
10268    pub fn cuLinkComplete(
10269        state: CUlinkState,
10270        cubinOut: *mut *mut ::core::ffi::c_void,
10271        sizeOut: *mut usize,
10272    ) -> CUresult;
10273    pub fn cuLinkCreate_v2(
10274        numOptions: ::core::ffi::c_uint,
10275        options: *mut CUjit_option,
10276        optionValues: *mut *mut ::core::ffi::c_void,
10277        stateOut: *mut CUlinkState,
10278    ) -> CUresult;
10279    pub fn cuLinkDestroy(state: CUlinkState) -> CUresult;
10280    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
10281    pub fn cuLogsCurrent(iterator_out: *mut CUlogIterator, flags: ::core::ffi::c_uint) -> CUresult;
10282    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
10283    pub fn cuLogsDumpToFile(
10284        iterator: *mut CUlogIterator,
10285        pathToFile: *const ::core::ffi::c_char,
10286        flags: ::core::ffi::c_uint,
10287    ) -> CUresult;
10288    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
10289    pub fn cuLogsDumpToMemory(
10290        iterator: *mut CUlogIterator,
10291        buffer: *mut ::core::ffi::c_char,
10292        size: *mut usize,
10293        flags: ::core::ffi::c_uint,
10294    ) -> CUresult;
10295    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
10296    pub fn cuLogsRegisterCallback(
10297        callbackFunc: CUlogsCallback,
10298        userData: *mut ::core::ffi::c_void,
10299        callback_out: *mut CUlogsCallbackHandle,
10300    ) -> CUresult;
10301    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
10302    pub fn cuLogsUnregisterCallback(callback: CUlogsCallbackHandle) -> CUresult;
10303    pub fn cuMemAddressFree(ptr: CUdeviceptr, size: usize) -> CUresult;
10304    pub fn cuMemAddressReserve(
10305        ptr: *mut CUdeviceptr,
10306        size: usize,
10307        alignment: usize,
10308        addr: CUdeviceptr,
10309        flags: ::core::ffi::c_ulonglong,
10310    ) -> CUresult;
10311    #[cfg(any(
10312        feature = "cuda-11040",
10313        feature = "cuda-11050",
10314        feature = "cuda-11060",
10315        feature = "cuda-11070",
10316        feature = "cuda-11080",
10317        feature = "cuda-12000",
10318        feature = "cuda-12010",
10319        feature = "cuda-12020",
10320        feature = "cuda-12030",
10321        feature = "cuda-12040",
10322        feature = "cuda-12050",
10323        feature = "cuda-12060",
10324        feature = "cuda-12080",
10325        feature = "cuda-12090"
10326    ))]
10327    pub fn cuMemAdvise(
10328        devPtr: CUdeviceptr,
10329        count: usize,
10330        advice: CUmem_advise,
10331        device: CUdevice,
10332    ) -> CUresult;
10333    #[cfg(any(
10334        feature = "cuda-12020",
10335        feature = "cuda-12030",
10336        feature = "cuda-12040",
10337        feature = "cuda-12050",
10338        feature = "cuda-12060",
10339        feature = "cuda-12080",
10340        feature = "cuda-12090",
10341        feature = "cuda-13000"
10342    ))]
10343    pub fn cuMemAdvise_v2(
10344        devPtr: CUdeviceptr,
10345        count: usize,
10346        advice: CUmem_advise,
10347        location: CUmemLocation,
10348    ) -> CUresult;
10349    pub fn cuMemAllocAsync(dptr: *mut CUdeviceptr, bytesize: usize, hStream: CUstream) -> CUresult;
10350    pub fn cuMemAllocFromPoolAsync(
10351        dptr: *mut CUdeviceptr,
10352        bytesize: usize,
10353        pool: CUmemoryPool,
10354        hStream: CUstream,
10355    ) -> CUresult;
10356    pub fn cuMemAllocHost_v2(pp: *mut *mut ::core::ffi::c_void, bytesize: usize) -> CUresult;
10357    pub fn cuMemAllocManaged(
10358        dptr: *mut CUdeviceptr,
10359        bytesize: usize,
10360        flags: ::core::ffi::c_uint,
10361    ) -> CUresult;
10362    pub fn cuMemAllocPitch_v2(
10363        dptr: *mut CUdeviceptr,
10364        pPitch: *mut usize,
10365        WidthInBytes: usize,
10366        Height: usize,
10367        ElementSizeBytes: ::core::ffi::c_uint,
10368    ) -> CUresult;
10369    pub fn cuMemAlloc_v2(dptr: *mut CUdeviceptr, bytesize: usize) -> CUresult;
10370    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
10371    pub fn cuMemBatchDecompressAsync(
10372        paramsArray: *mut CUmemDecompressParams,
10373        count: usize,
10374        flags: ::core::ffi::c_uint,
10375        errorIndex: *mut usize,
10376        stream: CUstream,
10377    ) -> CUresult;
10378    pub fn cuMemCreate(
10379        handle: *mut CUmemGenericAllocationHandle,
10380        size: usize,
10381        prop: *const CUmemAllocationProp,
10382        flags: ::core::ffi::c_ulonglong,
10383    ) -> CUresult;
10384    #[cfg(any(feature = "cuda-13000"))]
10385    pub fn cuMemDiscardAndPrefetchBatchAsync(
10386        dptrs: *mut CUdeviceptr,
10387        sizes: *mut usize,
10388        count: usize,
10389        prefetchLocs: *mut CUmemLocation,
10390        prefetchLocIdxs: *mut usize,
10391        numPrefetchLocs: usize,
10392        flags: ::core::ffi::c_ulonglong,
10393        hStream: CUstream,
10394    ) -> CUresult;
10395    #[cfg(any(feature = "cuda-13000"))]
10396    pub fn cuMemDiscardBatchAsync(
10397        dptrs: *mut CUdeviceptr,
10398        sizes: *mut usize,
10399        count: usize,
10400        flags: ::core::ffi::c_ulonglong,
10401        hStream: CUstream,
10402    ) -> CUresult;
10403    pub fn cuMemExportToShareableHandle(
10404        shareableHandle: *mut ::core::ffi::c_void,
10405        handle: CUmemGenericAllocationHandle,
10406        handleType: CUmemAllocationHandleType,
10407        flags: ::core::ffi::c_ulonglong,
10408    ) -> CUresult;
10409    pub fn cuMemFreeAsync(dptr: CUdeviceptr, hStream: CUstream) -> CUresult;
10410    pub fn cuMemFreeHost(p: *mut ::core::ffi::c_void) -> CUresult;
10411    pub fn cuMemFree_v2(dptr: CUdeviceptr) -> CUresult;
10412    pub fn cuMemGetAccess(
10413        flags: *mut ::core::ffi::c_ulonglong,
10414        location: *const CUmemLocation,
10415        ptr: CUdeviceptr,
10416    ) -> CUresult;
10417    pub fn cuMemGetAddressRange_v2(
10418        pbase: *mut CUdeviceptr,
10419        psize: *mut usize,
10420        dptr: CUdeviceptr,
10421    ) -> CUresult;
10422    pub fn cuMemGetAllocationGranularity(
10423        granularity: *mut usize,
10424        prop: *const CUmemAllocationProp,
10425        option: CUmemAllocationGranularity_flags,
10426    ) -> CUresult;
10427    pub fn cuMemGetAllocationPropertiesFromHandle(
10428        prop: *mut CUmemAllocationProp,
10429        handle: CUmemGenericAllocationHandle,
10430    ) -> CUresult;
10431    #[cfg(any(feature = "cuda-13000"))]
10432    pub fn cuMemGetDefaultMemPool(
10433        pool_out: *mut CUmemoryPool,
10434        location: *mut CUmemLocation,
10435        type_: CUmemAllocationType,
10436    ) -> CUresult;
10437    #[cfg(any(
10438        feature = "cuda-11070",
10439        feature = "cuda-11080",
10440        feature = "cuda-12000",
10441        feature = "cuda-12010",
10442        feature = "cuda-12020",
10443        feature = "cuda-12030",
10444        feature = "cuda-12040",
10445        feature = "cuda-12050",
10446        feature = "cuda-12060",
10447        feature = "cuda-12080",
10448        feature = "cuda-12090",
10449        feature = "cuda-13000"
10450    ))]
10451    pub fn cuMemGetHandleForAddressRange(
10452        handle: *mut ::core::ffi::c_void,
10453        dptr: CUdeviceptr,
10454        size: usize,
10455        handleType: CUmemRangeHandleType,
10456        flags: ::core::ffi::c_ulonglong,
10457    ) -> CUresult;
10458    pub fn cuMemGetInfo_v2(free: *mut usize, total: *mut usize) -> CUresult;
10459    #[cfg(any(feature = "cuda-13000"))]
10460    pub fn cuMemGetMemPool(
10461        pool: *mut CUmemoryPool,
10462        location: *mut CUmemLocation,
10463        type_: CUmemAllocationType,
10464    ) -> CUresult;
10465    pub fn cuMemHostAlloc(
10466        pp: *mut *mut ::core::ffi::c_void,
10467        bytesize: usize,
10468        Flags: ::core::ffi::c_uint,
10469    ) -> CUresult;
10470    pub fn cuMemHostGetDevicePointer_v2(
10471        pdptr: *mut CUdeviceptr,
10472        p: *mut ::core::ffi::c_void,
10473        Flags: ::core::ffi::c_uint,
10474    ) -> CUresult;
10475    pub fn cuMemHostGetFlags(
10476        pFlags: *mut ::core::ffi::c_uint,
10477        p: *mut ::core::ffi::c_void,
10478    ) -> CUresult;
10479    pub fn cuMemHostRegister_v2(
10480        p: *mut ::core::ffi::c_void,
10481        bytesize: usize,
10482        Flags: ::core::ffi::c_uint,
10483    ) -> CUresult;
10484    pub fn cuMemHostUnregister(p: *mut ::core::ffi::c_void) -> CUresult;
10485    pub fn cuMemImportFromShareableHandle(
10486        handle: *mut CUmemGenericAllocationHandle,
10487        osHandle: *mut ::core::ffi::c_void,
10488        shHandleType: CUmemAllocationHandleType,
10489    ) -> CUresult;
10490    pub fn cuMemMap(
10491        ptr: CUdeviceptr,
10492        size: usize,
10493        offset: usize,
10494        handle: CUmemGenericAllocationHandle,
10495        flags: ::core::ffi::c_ulonglong,
10496    ) -> CUresult;
10497    pub fn cuMemMapArrayAsync(
10498        mapInfoList: *mut CUarrayMapInfo,
10499        count: ::core::ffi::c_uint,
10500        hStream: CUstream,
10501    ) -> CUresult;
10502    pub fn cuMemPoolCreate(pool: *mut CUmemoryPool, poolProps: *const CUmemPoolProps) -> CUresult;
10503    pub fn cuMemPoolDestroy(pool: CUmemoryPool) -> CUresult;
10504    pub fn cuMemPoolExportPointer(
10505        shareData_out: *mut CUmemPoolPtrExportData,
10506        ptr: CUdeviceptr,
10507    ) -> CUresult;
10508    pub fn cuMemPoolExportToShareableHandle(
10509        handle_out: *mut ::core::ffi::c_void,
10510        pool: CUmemoryPool,
10511        handleType: CUmemAllocationHandleType,
10512        flags: ::core::ffi::c_ulonglong,
10513    ) -> CUresult;
10514    pub fn cuMemPoolGetAccess(
10515        flags: *mut CUmemAccess_flags,
10516        memPool: CUmemoryPool,
10517        location: *mut CUmemLocation,
10518    ) -> CUresult;
10519    pub fn cuMemPoolGetAttribute(
10520        pool: CUmemoryPool,
10521        attr: CUmemPool_attribute,
10522        value: *mut ::core::ffi::c_void,
10523    ) -> CUresult;
10524    pub fn cuMemPoolImportFromShareableHandle(
10525        pool_out: *mut CUmemoryPool,
10526        handle: *mut ::core::ffi::c_void,
10527        handleType: CUmemAllocationHandleType,
10528        flags: ::core::ffi::c_ulonglong,
10529    ) -> CUresult;
10530    pub fn cuMemPoolImportPointer(
10531        ptr_out: *mut CUdeviceptr,
10532        pool: CUmemoryPool,
10533        shareData: *mut CUmemPoolPtrExportData,
10534    ) -> CUresult;
10535    pub fn cuMemPoolSetAccess(
10536        pool: CUmemoryPool,
10537        map: *const CUmemAccessDesc,
10538        count: usize,
10539    ) -> CUresult;
10540    pub fn cuMemPoolSetAttribute(
10541        pool: CUmemoryPool,
10542        attr: CUmemPool_attribute,
10543        value: *mut ::core::ffi::c_void,
10544    ) -> CUresult;
10545    pub fn cuMemPoolTrimTo(pool: CUmemoryPool, minBytesToKeep: usize) -> CUresult;
10546    #[cfg(any(
10547        feature = "cuda-11040",
10548        feature = "cuda-11050",
10549        feature = "cuda-11060",
10550        feature = "cuda-11070",
10551        feature = "cuda-11080",
10552        feature = "cuda-12000",
10553        feature = "cuda-12010",
10554        feature = "cuda-12020",
10555        feature = "cuda-12030",
10556        feature = "cuda-12040",
10557        feature = "cuda-12050",
10558        feature = "cuda-12060",
10559        feature = "cuda-12080",
10560        feature = "cuda-12090"
10561    ))]
10562    pub fn cuMemPrefetchAsync(
10563        devPtr: CUdeviceptr,
10564        count: usize,
10565        dstDevice: CUdevice,
10566        hStream: CUstream,
10567    ) -> CUresult;
10568    #[cfg(any(
10569        feature = "cuda-12020",
10570        feature = "cuda-12030",
10571        feature = "cuda-12040",
10572        feature = "cuda-12050",
10573        feature = "cuda-12060",
10574        feature = "cuda-12080",
10575        feature = "cuda-12090",
10576        feature = "cuda-13000"
10577    ))]
10578    pub fn cuMemPrefetchAsync_v2(
10579        devPtr: CUdeviceptr,
10580        count: usize,
10581        location: CUmemLocation,
10582        flags: ::core::ffi::c_uint,
10583        hStream: CUstream,
10584    ) -> CUresult;
10585    #[cfg(any(feature = "cuda-13000"))]
10586    pub fn cuMemPrefetchBatchAsync(
10587        dptrs: *mut CUdeviceptr,
10588        sizes: *mut usize,
10589        count: usize,
10590        prefetchLocs: *mut CUmemLocation,
10591        prefetchLocIdxs: *mut usize,
10592        numPrefetchLocs: usize,
10593        flags: ::core::ffi::c_ulonglong,
10594        hStream: CUstream,
10595    ) -> CUresult;
10596    pub fn cuMemRangeGetAttribute(
10597        data: *mut ::core::ffi::c_void,
10598        dataSize: usize,
10599        attribute: CUmem_range_attribute,
10600        devPtr: CUdeviceptr,
10601        count: usize,
10602    ) -> CUresult;
10603    pub fn cuMemRangeGetAttributes(
10604        data: *mut *mut ::core::ffi::c_void,
10605        dataSizes: *mut usize,
10606        attributes: *mut CUmem_range_attribute,
10607        numAttributes: usize,
10608        devPtr: CUdeviceptr,
10609        count: usize,
10610    ) -> CUresult;
10611    pub fn cuMemRelease(handle: CUmemGenericAllocationHandle) -> CUresult;
10612    pub fn cuMemRetainAllocationHandle(
10613        handle: *mut CUmemGenericAllocationHandle,
10614        addr: *mut ::core::ffi::c_void,
10615    ) -> CUresult;
10616    pub fn cuMemSetAccess(
10617        ptr: CUdeviceptr,
10618        size: usize,
10619        desc: *const CUmemAccessDesc,
10620        count: usize,
10621    ) -> CUresult;
10622    #[cfg(any(feature = "cuda-13000"))]
10623    pub fn cuMemSetMemPool(
10624        location: *mut CUmemLocation,
10625        type_: CUmemAllocationType,
10626        pool: CUmemoryPool,
10627    ) -> CUresult;
10628    pub fn cuMemUnmap(ptr: CUdeviceptr, size: usize) -> CUresult;
10629    pub fn cuMemcpy(dst: CUdeviceptr, src: CUdeviceptr, ByteCount: usize) -> CUresult;
10630    pub fn cuMemcpy2DAsync_v2(pCopy: *const CUDA_MEMCPY2D, hStream: CUstream) -> CUresult;
10631    pub fn cuMemcpy2DUnaligned_v2(pCopy: *const CUDA_MEMCPY2D) -> CUresult;
10632    pub fn cuMemcpy2D_v2(pCopy: *const CUDA_MEMCPY2D) -> CUresult;
10633    pub fn cuMemcpy3DAsync_v2(pCopy: *const CUDA_MEMCPY3D, hStream: CUstream) -> CUresult;
10634    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
10635    pub fn cuMemcpy3DBatchAsync(
10636        numOps: usize,
10637        opList: *mut CUDA_MEMCPY3D_BATCH_OP,
10638        failIdx: *mut usize,
10639        flags: ::core::ffi::c_ulonglong,
10640        hStream: CUstream,
10641    ) -> CUresult;
10642    #[cfg(any(feature = "cuda-13000"))]
10643    pub fn cuMemcpy3DBatchAsync_v2(
10644        numOps: usize,
10645        opList: *mut CUDA_MEMCPY3D_BATCH_OP,
10646        flags: ::core::ffi::c_ulonglong,
10647        hStream: CUstream,
10648    ) -> CUresult;
10649    pub fn cuMemcpy3DPeer(pCopy: *const CUDA_MEMCPY3D_PEER) -> CUresult;
10650    pub fn cuMemcpy3DPeerAsync(pCopy: *const CUDA_MEMCPY3D_PEER, hStream: CUstream) -> CUresult;
10651    pub fn cuMemcpy3D_v2(pCopy: *const CUDA_MEMCPY3D) -> CUresult;
10652    pub fn cuMemcpyAsync(
10653        dst: CUdeviceptr,
10654        src: CUdeviceptr,
10655        ByteCount: usize,
10656        hStream: CUstream,
10657    ) -> CUresult;
10658    pub fn cuMemcpyAtoA_v2(
10659        dstArray: CUarray,
10660        dstOffset: usize,
10661        srcArray: CUarray,
10662        srcOffset: usize,
10663        ByteCount: usize,
10664    ) -> CUresult;
10665    pub fn cuMemcpyAtoD_v2(
10666        dstDevice: CUdeviceptr,
10667        srcArray: CUarray,
10668        srcOffset: usize,
10669        ByteCount: usize,
10670    ) -> CUresult;
10671    pub fn cuMemcpyAtoHAsync_v2(
10672        dstHost: *mut ::core::ffi::c_void,
10673        srcArray: CUarray,
10674        srcOffset: usize,
10675        ByteCount: usize,
10676        hStream: CUstream,
10677    ) -> CUresult;
10678    pub fn cuMemcpyAtoH_v2(
10679        dstHost: *mut ::core::ffi::c_void,
10680        srcArray: CUarray,
10681        srcOffset: usize,
10682        ByteCount: usize,
10683    ) -> CUresult;
10684    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
10685    pub fn cuMemcpyBatchAsync(
10686        dsts: *mut CUdeviceptr,
10687        srcs: *mut CUdeviceptr,
10688        sizes: *mut usize,
10689        count: usize,
10690        attrs: *mut CUmemcpyAttributes,
10691        attrsIdxs: *mut usize,
10692        numAttrs: usize,
10693        failIdx: *mut usize,
10694        hStream: CUstream,
10695    ) -> CUresult;
10696    #[cfg(any(feature = "cuda-13000"))]
10697    pub fn cuMemcpyBatchAsync_v2(
10698        dsts: *mut CUdeviceptr,
10699        srcs: *mut CUdeviceptr,
10700        sizes: *mut usize,
10701        count: usize,
10702        attrs: *mut CUmemcpyAttributes,
10703        attrsIdxs: *mut usize,
10704        numAttrs: usize,
10705        hStream: CUstream,
10706    ) -> CUresult;
10707    pub fn cuMemcpyDtoA_v2(
10708        dstArray: CUarray,
10709        dstOffset: usize,
10710        srcDevice: CUdeviceptr,
10711        ByteCount: usize,
10712    ) -> CUresult;
10713    pub fn cuMemcpyDtoDAsync_v2(
10714        dstDevice: CUdeviceptr,
10715        srcDevice: CUdeviceptr,
10716        ByteCount: usize,
10717        hStream: CUstream,
10718    ) -> CUresult;
10719    pub fn cuMemcpyDtoD_v2(
10720        dstDevice: CUdeviceptr,
10721        srcDevice: CUdeviceptr,
10722        ByteCount: usize,
10723    ) -> CUresult;
10724    pub fn cuMemcpyDtoHAsync_v2(
10725        dstHost: *mut ::core::ffi::c_void,
10726        srcDevice: CUdeviceptr,
10727        ByteCount: usize,
10728        hStream: CUstream,
10729    ) -> CUresult;
10730    pub fn cuMemcpyDtoH_v2(
10731        dstHost: *mut ::core::ffi::c_void,
10732        srcDevice: CUdeviceptr,
10733        ByteCount: usize,
10734    ) -> CUresult;
10735    pub fn cuMemcpyHtoAAsync_v2(
10736        dstArray: CUarray,
10737        dstOffset: usize,
10738        srcHost: *const ::core::ffi::c_void,
10739        ByteCount: usize,
10740        hStream: CUstream,
10741    ) -> CUresult;
10742    pub fn cuMemcpyHtoA_v2(
10743        dstArray: CUarray,
10744        dstOffset: usize,
10745        srcHost: *const ::core::ffi::c_void,
10746        ByteCount: usize,
10747    ) -> CUresult;
10748    pub fn cuMemcpyHtoDAsync_v2(
10749        dstDevice: CUdeviceptr,
10750        srcHost: *const ::core::ffi::c_void,
10751        ByteCount: usize,
10752        hStream: CUstream,
10753    ) -> CUresult;
10754    pub fn cuMemcpyHtoD_v2(
10755        dstDevice: CUdeviceptr,
10756        srcHost: *const ::core::ffi::c_void,
10757        ByteCount: usize,
10758    ) -> CUresult;
10759    pub fn cuMemcpyPeer(
10760        dstDevice: CUdeviceptr,
10761        dstContext: CUcontext,
10762        srcDevice: CUdeviceptr,
10763        srcContext: CUcontext,
10764        ByteCount: usize,
10765    ) -> CUresult;
10766    pub fn cuMemcpyPeerAsync(
10767        dstDevice: CUdeviceptr,
10768        dstContext: CUcontext,
10769        srcDevice: CUdeviceptr,
10770        srcContext: CUcontext,
10771        ByteCount: usize,
10772        hStream: CUstream,
10773    ) -> CUresult;
10774    pub fn cuMemsetD16Async(
10775        dstDevice: CUdeviceptr,
10776        us: ::core::ffi::c_ushort,
10777        N: usize,
10778        hStream: CUstream,
10779    ) -> CUresult;
10780    pub fn cuMemsetD16_v2(dstDevice: CUdeviceptr, us: ::core::ffi::c_ushort, N: usize) -> CUresult;
10781    pub fn cuMemsetD2D16Async(
10782        dstDevice: CUdeviceptr,
10783        dstPitch: usize,
10784        us: ::core::ffi::c_ushort,
10785        Width: usize,
10786        Height: usize,
10787        hStream: CUstream,
10788    ) -> CUresult;
10789    pub fn cuMemsetD2D16_v2(
10790        dstDevice: CUdeviceptr,
10791        dstPitch: usize,
10792        us: ::core::ffi::c_ushort,
10793        Width: usize,
10794        Height: usize,
10795    ) -> CUresult;
10796    pub fn cuMemsetD2D32Async(
10797        dstDevice: CUdeviceptr,
10798        dstPitch: usize,
10799        ui: ::core::ffi::c_uint,
10800        Width: usize,
10801        Height: usize,
10802        hStream: CUstream,
10803    ) -> CUresult;
10804    pub fn cuMemsetD2D32_v2(
10805        dstDevice: CUdeviceptr,
10806        dstPitch: usize,
10807        ui: ::core::ffi::c_uint,
10808        Width: usize,
10809        Height: usize,
10810    ) -> CUresult;
10811    pub fn cuMemsetD2D8Async(
10812        dstDevice: CUdeviceptr,
10813        dstPitch: usize,
10814        uc: ::core::ffi::c_uchar,
10815        Width: usize,
10816        Height: usize,
10817        hStream: CUstream,
10818    ) -> CUresult;
10819    pub fn cuMemsetD2D8_v2(
10820        dstDevice: CUdeviceptr,
10821        dstPitch: usize,
10822        uc: ::core::ffi::c_uchar,
10823        Width: usize,
10824        Height: usize,
10825    ) -> CUresult;
10826    pub fn cuMemsetD32Async(
10827        dstDevice: CUdeviceptr,
10828        ui: ::core::ffi::c_uint,
10829        N: usize,
10830        hStream: CUstream,
10831    ) -> CUresult;
10832    pub fn cuMemsetD32_v2(dstDevice: CUdeviceptr, ui: ::core::ffi::c_uint, N: usize) -> CUresult;
10833    pub fn cuMemsetD8Async(
10834        dstDevice: CUdeviceptr,
10835        uc: ::core::ffi::c_uchar,
10836        N: usize,
10837        hStream: CUstream,
10838    ) -> CUresult;
10839    pub fn cuMemsetD8_v2(dstDevice: CUdeviceptr, uc: ::core::ffi::c_uchar, N: usize) -> CUresult;
10840    pub fn cuMipmappedArrayCreate(
10841        pHandle: *mut CUmipmappedArray,
10842        pMipmappedArrayDesc: *const CUDA_ARRAY3D_DESCRIPTOR,
10843        numMipmapLevels: ::core::ffi::c_uint,
10844    ) -> CUresult;
10845    pub fn cuMipmappedArrayDestroy(hMipmappedArray: CUmipmappedArray) -> CUresult;
10846    pub fn cuMipmappedArrayGetLevel(
10847        pLevelArray: *mut CUarray,
10848        hMipmappedArray: CUmipmappedArray,
10849        level: ::core::ffi::c_uint,
10850    ) -> CUresult;
10851    #[cfg(any(
10852        feature = "cuda-11060",
10853        feature = "cuda-11070",
10854        feature = "cuda-11080",
10855        feature = "cuda-12000",
10856        feature = "cuda-12010",
10857        feature = "cuda-12020",
10858        feature = "cuda-12030",
10859        feature = "cuda-12040",
10860        feature = "cuda-12050",
10861        feature = "cuda-12060",
10862        feature = "cuda-12080",
10863        feature = "cuda-12090",
10864        feature = "cuda-13000"
10865    ))]
10866    pub fn cuMipmappedArrayGetMemoryRequirements(
10867        memoryRequirements: *mut CUDA_ARRAY_MEMORY_REQUIREMENTS,
10868        mipmap: CUmipmappedArray,
10869        device: CUdevice,
10870    ) -> CUresult;
10871    pub fn cuMipmappedArrayGetSparseProperties(
10872        sparseProperties: *mut CUDA_ARRAY_SPARSE_PROPERTIES,
10873        mipmap: CUmipmappedArray,
10874    ) -> CUresult;
10875    #[cfg(any(
10876        feature = "cuda-12040",
10877        feature = "cuda-12050",
10878        feature = "cuda-12060",
10879        feature = "cuda-12080",
10880        feature = "cuda-12090",
10881        feature = "cuda-13000"
10882    ))]
10883    pub fn cuModuleEnumerateFunctions(
10884        functions: *mut CUfunction,
10885        numFunctions: ::core::ffi::c_uint,
10886        mod_: CUmodule,
10887    ) -> CUresult;
10888    pub fn cuModuleGetFunction(
10889        hfunc: *mut CUfunction,
10890        hmod: CUmodule,
10891        name: *const ::core::ffi::c_char,
10892    ) -> CUresult;
10893    #[cfg(any(
10894        feature = "cuda-12040",
10895        feature = "cuda-12050",
10896        feature = "cuda-12060",
10897        feature = "cuda-12080",
10898        feature = "cuda-12090",
10899        feature = "cuda-13000"
10900    ))]
10901    pub fn cuModuleGetFunctionCount(count: *mut ::core::ffi::c_uint, mod_: CUmodule) -> CUresult;
10902    pub fn cuModuleGetGlobal_v2(
10903        dptr: *mut CUdeviceptr,
10904        bytes: *mut usize,
10905        hmod: CUmodule,
10906        name: *const ::core::ffi::c_char,
10907    ) -> CUresult;
10908    #[cfg(any(
10909        feature = "cuda-11070",
10910        feature = "cuda-11080",
10911        feature = "cuda-12000",
10912        feature = "cuda-12010",
10913        feature = "cuda-12020",
10914        feature = "cuda-12030",
10915        feature = "cuda-12040",
10916        feature = "cuda-12050",
10917        feature = "cuda-12060",
10918        feature = "cuda-12080",
10919        feature = "cuda-12090",
10920        feature = "cuda-13000"
10921    ))]
10922    pub fn cuModuleGetLoadingMode(mode: *mut CUmoduleLoadingMode) -> CUresult;
10923    pub fn cuModuleGetSurfRef(
10924        pSurfRef: *mut CUsurfref,
10925        hmod: CUmodule,
10926        name: *const ::core::ffi::c_char,
10927    ) -> CUresult;
10928    pub fn cuModuleGetTexRef(
10929        pTexRef: *mut CUtexref,
10930        hmod: CUmodule,
10931        name: *const ::core::ffi::c_char,
10932    ) -> CUresult;
10933    pub fn cuModuleLoad(module: *mut CUmodule, fname: *const ::core::ffi::c_char) -> CUresult;
10934    pub fn cuModuleLoadData(module: *mut CUmodule, image: *const ::core::ffi::c_void) -> CUresult;
10935    pub fn cuModuleLoadDataEx(
10936        module: *mut CUmodule,
10937        image: *const ::core::ffi::c_void,
10938        numOptions: ::core::ffi::c_uint,
10939        options: *mut CUjit_option,
10940        optionValues: *mut *mut ::core::ffi::c_void,
10941    ) -> CUresult;
10942    pub fn cuModuleLoadFatBinary(
10943        module: *mut CUmodule,
10944        fatCubin: *const ::core::ffi::c_void,
10945    ) -> CUresult;
10946    pub fn cuModuleUnload(hmod: CUmodule) -> CUresult;
10947    #[cfg(any(
10948        feature = "cuda-12010",
10949        feature = "cuda-12020",
10950        feature = "cuda-12030",
10951        feature = "cuda-12040",
10952        feature = "cuda-12050",
10953        feature = "cuda-12060",
10954        feature = "cuda-12080",
10955        feature = "cuda-12090",
10956        feature = "cuda-13000"
10957    ))]
10958    pub fn cuMulticastAddDevice(mcHandle: CUmemGenericAllocationHandle, dev: CUdevice) -> CUresult;
10959    #[cfg(any(
10960        feature = "cuda-12010",
10961        feature = "cuda-12020",
10962        feature = "cuda-12030",
10963        feature = "cuda-12040",
10964        feature = "cuda-12050",
10965        feature = "cuda-12060",
10966        feature = "cuda-12080",
10967        feature = "cuda-12090",
10968        feature = "cuda-13000"
10969    ))]
10970    pub fn cuMulticastBindAddr(
10971        mcHandle: CUmemGenericAllocationHandle,
10972        mcOffset: usize,
10973        memptr: CUdeviceptr,
10974        size: usize,
10975        flags: ::core::ffi::c_ulonglong,
10976    ) -> CUresult;
10977    #[cfg(any(
10978        feature = "cuda-12010",
10979        feature = "cuda-12020",
10980        feature = "cuda-12030",
10981        feature = "cuda-12040",
10982        feature = "cuda-12050",
10983        feature = "cuda-12060",
10984        feature = "cuda-12080",
10985        feature = "cuda-12090",
10986        feature = "cuda-13000"
10987    ))]
10988    pub fn cuMulticastBindMem(
10989        mcHandle: CUmemGenericAllocationHandle,
10990        mcOffset: usize,
10991        memHandle: CUmemGenericAllocationHandle,
10992        memOffset: usize,
10993        size: usize,
10994        flags: ::core::ffi::c_ulonglong,
10995    ) -> CUresult;
10996    #[cfg(any(
10997        feature = "cuda-12010",
10998        feature = "cuda-12020",
10999        feature = "cuda-12030",
11000        feature = "cuda-12040",
11001        feature = "cuda-12050",
11002        feature = "cuda-12060",
11003        feature = "cuda-12080",
11004        feature = "cuda-12090",
11005        feature = "cuda-13000"
11006    ))]
11007    pub fn cuMulticastCreate(
11008        mcHandle: *mut CUmemGenericAllocationHandle,
11009        prop: *const CUmulticastObjectProp,
11010    ) -> CUresult;
11011    #[cfg(any(
11012        feature = "cuda-12010",
11013        feature = "cuda-12020",
11014        feature = "cuda-12030",
11015        feature = "cuda-12040",
11016        feature = "cuda-12050",
11017        feature = "cuda-12060",
11018        feature = "cuda-12080",
11019        feature = "cuda-12090",
11020        feature = "cuda-13000"
11021    ))]
11022    pub fn cuMulticastGetGranularity(
11023        granularity: *mut usize,
11024        prop: *const CUmulticastObjectProp,
11025        option: CUmulticastGranularity_flags,
11026    ) -> CUresult;
11027    #[cfg(any(
11028        feature = "cuda-12010",
11029        feature = "cuda-12020",
11030        feature = "cuda-12030",
11031        feature = "cuda-12040",
11032        feature = "cuda-12050",
11033        feature = "cuda-12060",
11034        feature = "cuda-12080",
11035        feature = "cuda-12090",
11036        feature = "cuda-13000"
11037    ))]
11038    pub fn cuMulticastUnbind(
11039        mcHandle: CUmemGenericAllocationHandle,
11040        dev: CUdevice,
11041        mcOffset: usize,
11042        size: usize,
11043    ) -> CUresult;
11044    pub fn cuOccupancyAvailableDynamicSMemPerBlock(
11045        dynamicSmemSize: *mut usize,
11046        func: CUfunction,
11047        numBlocks: ::core::ffi::c_int,
11048        blockSize: ::core::ffi::c_int,
11049    ) -> CUresult;
11050    pub fn cuOccupancyMaxActiveBlocksPerMultiprocessor(
11051        numBlocks: *mut ::core::ffi::c_int,
11052        func: CUfunction,
11053        blockSize: ::core::ffi::c_int,
11054        dynamicSMemSize: usize,
11055    ) -> CUresult;
11056    pub fn cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
11057        numBlocks: *mut ::core::ffi::c_int,
11058        func: CUfunction,
11059        blockSize: ::core::ffi::c_int,
11060        dynamicSMemSize: usize,
11061        flags: ::core::ffi::c_uint,
11062    ) -> CUresult;
11063    #[cfg(any(
11064        feature = "cuda-11080",
11065        feature = "cuda-12000",
11066        feature = "cuda-12010",
11067        feature = "cuda-12020",
11068        feature = "cuda-12030",
11069        feature = "cuda-12040",
11070        feature = "cuda-12050",
11071        feature = "cuda-12060",
11072        feature = "cuda-12080",
11073        feature = "cuda-12090",
11074        feature = "cuda-13000"
11075    ))]
11076    pub fn cuOccupancyMaxActiveClusters(
11077        numClusters: *mut ::core::ffi::c_int,
11078        func: CUfunction,
11079        config: *const CUlaunchConfig,
11080    ) -> CUresult;
11081    pub fn cuOccupancyMaxPotentialBlockSize(
11082        minGridSize: *mut ::core::ffi::c_int,
11083        blockSize: *mut ::core::ffi::c_int,
11084        func: CUfunction,
11085        blockSizeToDynamicSMemSize: CUoccupancyB2DSize,
11086        dynamicSMemSize: usize,
11087        blockSizeLimit: ::core::ffi::c_int,
11088    ) -> CUresult;
11089    pub fn cuOccupancyMaxPotentialBlockSizeWithFlags(
11090        minGridSize: *mut ::core::ffi::c_int,
11091        blockSize: *mut ::core::ffi::c_int,
11092        func: CUfunction,
11093        blockSizeToDynamicSMemSize: CUoccupancyB2DSize,
11094        dynamicSMemSize: usize,
11095        blockSizeLimit: ::core::ffi::c_int,
11096        flags: ::core::ffi::c_uint,
11097    ) -> CUresult;
11098    #[cfg(any(
11099        feature = "cuda-11080",
11100        feature = "cuda-12000",
11101        feature = "cuda-12010",
11102        feature = "cuda-12020",
11103        feature = "cuda-12030",
11104        feature = "cuda-12040",
11105        feature = "cuda-12050",
11106        feature = "cuda-12060",
11107        feature = "cuda-12080",
11108        feature = "cuda-12090",
11109        feature = "cuda-13000"
11110    ))]
11111    pub fn cuOccupancyMaxPotentialClusterSize(
11112        clusterSize: *mut ::core::ffi::c_int,
11113        func: CUfunction,
11114        config: *const CUlaunchConfig,
11115    ) -> CUresult;
11116    pub fn cuParamSetSize(hfunc: CUfunction, numbytes: ::core::ffi::c_uint) -> CUresult;
11117    pub fn cuParamSetTexRef(
11118        hfunc: CUfunction,
11119        texunit: ::core::ffi::c_int,
11120        hTexRef: CUtexref,
11121    ) -> CUresult;
11122    pub fn cuParamSetf(hfunc: CUfunction, offset: ::core::ffi::c_int, value: f32) -> CUresult;
11123    pub fn cuParamSeti(
11124        hfunc: CUfunction,
11125        offset: ::core::ffi::c_int,
11126        value: ::core::ffi::c_uint,
11127    ) -> CUresult;
11128    pub fn cuParamSetv(
11129        hfunc: CUfunction,
11130        offset: ::core::ffi::c_int,
11131        ptr: *mut ::core::ffi::c_void,
11132        numbytes: ::core::ffi::c_uint,
11133    ) -> CUresult;
11134    pub fn cuPointerGetAttribute(
11135        data: *mut ::core::ffi::c_void,
11136        attribute: CUpointer_attribute,
11137        ptr: CUdeviceptr,
11138    ) -> CUresult;
11139    pub fn cuPointerGetAttributes(
11140        numAttributes: ::core::ffi::c_uint,
11141        attributes: *mut CUpointer_attribute,
11142        data: *mut *mut ::core::ffi::c_void,
11143        ptr: CUdeviceptr,
11144    ) -> CUresult;
11145    pub fn cuPointerSetAttribute(
11146        value: *const ::core::ffi::c_void,
11147        attribute: CUpointer_attribute,
11148        ptr: CUdeviceptr,
11149    ) -> CUresult;
11150    pub fn cuProfilerInitialize(
11151        configFile: *const ::core::ffi::c_char,
11152        outputFile: *const ::core::ffi::c_char,
11153        outputMode: CUoutput_mode,
11154    ) -> CUresult;
11155    pub fn cuProfilerStart() -> CUresult;
11156    pub fn cuProfilerStop() -> CUresult;
11157    pub fn cuSignalExternalSemaphoresAsync(
11158        extSemArray: *const CUexternalSemaphore,
11159        paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,
11160        numExtSems: ::core::ffi::c_uint,
11161        stream: CUstream,
11162    ) -> CUresult;
11163    pub fn cuStreamAddCallback(
11164        hStream: CUstream,
11165        callback: CUstreamCallback,
11166        userData: *mut ::core::ffi::c_void,
11167        flags: ::core::ffi::c_uint,
11168    ) -> CUresult;
11169    pub fn cuStreamAttachMemAsync(
11170        hStream: CUstream,
11171        dptr: CUdeviceptr,
11172        length: usize,
11173        flags: ::core::ffi::c_uint,
11174    ) -> CUresult;
11175    #[cfg(any(
11176        feature = "cuda-11040",
11177        feature = "cuda-11050",
11178        feature = "cuda-11060",
11179        feature = "cuda-11070",
11180        feature = "cuda-11080"
11181    ))]
11182    pub fn cuStreamBatchMemOp(
11183        stream: CUstream,
11184        count: ::core::ffi::c_uint,
11185        paramArray: *mut CUstreamBatchMemOpParams,
11186        flags: ::core::ffi::c_uint,
11187    ) -> CUresult;
11188    #[cfg(any(
11189        feature = "cuda-11070",
11190        feature = "cuda-11080",
11191        feature = "cuda-12000",
11192        feature = "cuda-12010",
11193        feature = "cuda-12020",
11194        feature = "cuda-12030",
11195        feature = "cuda-12040",
11196        feature = "cuda-12050",
11197        feature = "cuda-12060",
11198        feature = "cuda-12080",
11199        feature = "cuda-12090",
11200        feature = "cuda-13000"
11201    ))]
11202    pub fn cuStreamBatchMemOp_v2(
11203        stream: CUstream,
11204        count: ::core::ffi::c_uint,
11205        paramArray: *mut CUstreamBatchMemOpParams,
11206        flags: ::core::ffi::c_uint,
11207    ) -> CUresult;
11208    #[cfg(any(
11209        feature = "cuda-12030",
11210        feature = "cuda-12040",
11211        feature = "cuda-12050",
11212        feature = "cuda-12060",
11213        feature = "cuda-12080",
11214        feature = "cuda-12090",
11215        feature = "cuda-13000"
11216    ))]
11217    pub fn cuStreamBeginCaptureToGraph(
11218        hStream: CUstream,
11219        hGraph: CUgraph,
11220        dependencies: *const CUgraphNode,
11221        dependencyData: *const CUgraphEdgeData,
11222        numDependencies: usize,
11223        mode: CUstreamCaptureMode,
11224    ) -> CUresult;
11225    pub fn cuStreamBeginCapture_v2(hStream: CUstream, mode: CUstreamCaptureMode) -> CUresult;
11226    pub fn cuStreamCopyAttributes(dst: CUstream, src: CUstream) -> CUresult;
11227    pub fn cuStreamCreate(phStream: *mut CUstream, Flags: ::core::ffi::c_uint) -> CUresult;
11228    pub fn cuStreamCreateWithPriority(
11229        phStream: *mut CUstream,
11230        flags: ::core::ffi::c_uint,
11231        priority: ::core::ffi::c_int,
11232    ) -> CUresult;
11233    pub fn cuStreamDestroy_v2(hStream: CUstream) -> CUresult;
11234    pub fn cuStreamEndCapture(hStream: CUstream, phGraph: *mut CUgraph) -> CUresult;
11235    pub fn cuStreamGetAttribute(
11236        hStream: CUstream,
11237        attr: CUstreamAttrID,
11238        value_out: *mut CUstreamAttrValue,
11239    ) -> CUresult;
11240    #[cfg(any(
11241        feature = "cuda-11040",
11242        feature = "cuda-11050",
11243        feature = "cuda-11060",
11244        feature = "cuda-11070",
11245        feature = "cuda-11080"
11246    ))]
11247    pub fn cuStreamGetCaptureInfo(
11248        hStream: CUstream,
11249        captureStatus_out: *mut CUstreamCaptureStatus,
11250        id_out: *mut cuuint64_t,
11251    ) -> CUresult;
11252    #[cfg(any(
11253        feature = "cuda-11040",
11254        feature = "cuda-11050",
11255        feature = "cuda-11060",
11256        feature = "cuda-11070",
11257        feature = "cuda-11080",
11258        feature = "cuda-12000",
11259        feature = "cuda-12010",
11260        feature = "cuda-12020",
11261        feature = "cuda-12030",
11262        feature = "cuda-12040",
11263        feature = "cuda-12050",
11264        feature = "cuda-12060",
11265        feature = "cuda-12080",
11266        feature = "cuda-12090"
11267    ))]
11268    pub fn cuStreamGetCaptureInfo_v2(
11269        hStream: CUstream,
11270        captureStatus_out: *mut CUstreamCaptureStatus,
11271        id_out: *mut cuuint64_t,
11272        graph_out: *mut CUgraph,
11273        dependencies_out: *mut *const CUgraphNode,
11274        numDependencies_out: *mut usize,
11275    ) -> CUresult;
11276    #[cfg(any(
11277        feature = "cuda-12030",
11278        feature = "cuda-12040",
11279        feature = "cuda-12050",
11280        feature = "cuda-12060",
11281        feature = "cuda-12080",
11282        feature = "cuda-12090",
11283        feature = "cuda-13000"
11284    ))]
11285    pub fn cuStreamGetCaptureInfo_v3(
11286        hStream: CUstream,
11287        captureStatus_out: *mut CUstreamCaptureStatus,
11288        id_out: *mut cuuint64_t,
11289        graph_out: *mut CUgraph,
11290        dependencies_out: *mut *const CUgraphNode,
11291        edgeData_out: *mut *const CUgraphEdgeData,
11292        numDependencies_out: *mut usize,
11293    ) -> CUresult;
11294    pub fn cuStreamGetCtx(hStream: CUstream, pctx: *mut CUcontext) -> CUresult;
11295    #[cfg(any(
11296        feature = "cuda-12050",
11297        feature = "cuda-12060",
11298        feature = "cuda-12080",
11299        feature = "cuda-12090",
11300        feature = "cuda-13000"
11301    ))]
11302    pub fn cuStreamGetCtx_v2(
11303        hStream: CUstream,
11304        pCtx: *mut CUcontext,
11305        pGreenCtx: *mut CUgreenCtx,
11306    ) -> CUresult;
11307    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
11308    pub fn cuStreamGetDevice(hStream: CUstream, device: *mut CUdevice) -> CUresult;
11309    pub fn cuStreamGetFlags(hStream: CUstream, flags: *mut ::core::ffi::c_uint) -> CUresult;
11310    #[cfg(any(
11311        feature = "cuda-12040",
11312        feature = "cuda-12050",
11313        feature = "cuda-12060",
11314        feature = "cuda-12080",
11315        feature = "cuda-12090",
11316        feature = "cuda-13000"
11317    ))]
11318    pub fn cuStreamGetGreenCtx(hStream: CUstream, phCtx: *mut CUgreenCtx) -> CUresult;
11319    #[cfg(any(
11320        feature = "cuda-12000",
11321        feature = "cuda-12010",
11322        feature = "cuda-12020",
11323        feature = "cuda-12030",
11324        feature = "cuda-12040",
11325        feature = "cuda-12050",
11326        feature = "cuda-12060",
11327        feature = "cuda-12080",
11328        feature = "cuda-12090",
11329        feature = "cuda-13000"
11330    ))]
11331    pub fn cuStreamGetId(hStream: CUstream, streamId: *mut ::core::ffi::c_ulonglong) -> CUresult;
11332    pub fn cuStreamGetPriority(hStream: CUstream, priority: *mut ::core::ffi::c_int) -> CUresult;
11333    pub fn cuStreamIsCapturing(
11334        hStream: CUstream,
11335        captureStatus: *mut CUstreamCaptureStatus,
11336    ) -> CUresult;
11337    pub fn cuStreamQuery(hStream: CUstream) -> CUresult;
11338    pub fn cuStreamSetAttribute(
11339        hStream: CUstream,
11340        attr: CUstreamAttrID,
11341        value: *const CUstreamAttrValue,
11342    ) -> CUresult;
11343    pub fn cuStreamSynchronize(hStream: CUstream) -> CUresult;
11344    #[cfg(any(
11345        feature = "cuda-11040",
11346        feature = "cuda-11050",
11347        feature = "cuda-11060",
11348        feature = "cuda-11070",
11349        feature = "cuda-11080",
11350        feature = "cuda-12000",
11351        feature = "cuda-12010",
11352        feature = "cuda-12020",
11353        feature = "cuda-12030",
11354        feature = "cuda-12040",
11355        feature = "cuda-12050",
11356        feature = "cuda-12060",
11357        feature = "cuda-12080",
11358        feature = "cuda-12090"
11359    ))]
11360    pub fn cuStreamUpdateCaptureDependencies(
11361        hStream: CUstream,
11362        dependencies: *mut CUgraphNode,
11363        numDependencies: usize,
11364        flags: ::core::ffi::c_uint,
11365    ) -> CUresult;
11366    #[cfg(any(
11367        feature = "cuda-12030",
11368        feature = "cuda-12040",
11369        feature = "cuda-12050",
11370        feature = "cuda-12060",
11371        feature = "cuda-12080",
11372        feature = "cuda-12090",
11373        feature = "cuda-13000"
11374    ))]
11375    pub fn cuStreamUpdateCaptureDependencies_v2(
11376        hStream: CUstream,
11377        dependencies: *mut CUgraphNode,
11378        dependencyData: *const CUgraphEdgeData,
11379        numDependencies: usize,
11380        flags: ::core::ffi::c_uint,
11381    ) -> CUresult;
11382    pub fn cuStreamWaitEvent(
11383        hStream: CUstream,
11384        hEvent: CUevent,
11385        Flags: ::core::ffi::c_uint,
11386    ) -> CUresult;
11387    #[cfg(any(
11388        feature = "cuda-11040",
11389        feature = "cuda-11050",
11390        feature = "cuda-11060",
11391        feature = "cuda-11070",
11392        feature = "cuda-11080"
11393    ))]
11394    pub fn cuStreamWaitValue32(
11395        stream: CUstream,
11396        addr: CUdeviceptr,
11397        value: cuuint32_t,
11398        flags: ::core::ffi::c_uint,
11399    ) -> CUresult;
11400    #[cfg(any(
11401        feature = "cuda-11070",
11402        feature = "cuda-11080",
11403        feature = "cuda-12000",
11404        feature = "cuda-12010",
11405        feature = "cuda-12020",
11406        feature = "cuda-12030",
11407        feature = "cuda-12040",
11408        feature = "cuda-12050",
11409        feature = "cuda-12060",
11410        feature = "cuda-12080",
11411        feature = "cuda-12090",
11412        feature = "cuda-13000"
11413    ))]
11414    pub fn cuStreamWaitValue32_v2(
11415        stream: CUstream,
11416        addr: CUdeviceptr,
11417        value: cuuint32_t,
11418        flags: ::core::ffi::c_uint,
11419    ) -> CUresult;
11420    #[cfg(any(
11421        feature = "cuda-11040",
11422        feature = "cuda-11050",
11423        feature = "cuda-11060",
11424        feature = "cuda-11070",
11425        feature = "cuda-11080"
11426    ))]
11427    pub fn cuStreamWaitValue64(
11428        stream: CUstream,
11429        addr: CUdeviceptr,
11430        value: cuuint64_t,
11431        flags: ::core::ffi::c_uint,
11432    ) -> CUresult;
11433    #[cfg(any(
11434        feature = "cuda-11070",
11435        feature = "cuda-11080",
11436        feature = "cuda-12000",
11437        feature = "cuda-12010",
11438        feature = "cuda-12020",
11439        feature = "cuda-12030",
11440        feature = "cuda-12040",
11441        feature = "cuda-12050",
11442        feature = "cuda-12060",
11443        feature = "cuda-12080",
11444        feature = "cuda-12090",
11445        feature = "cuda-13000"
11446    ))]
11447    pub fn cuStreamWaitValue64_v2(
11448        stream: CUstream,
11449        addr: CUdeviceptr,
11450        value: cuuint64_t,
11451        flags: ::core::ffi::c_uint,
11452    ) -> CUresult;
11453    #[cfg(any(
11454        feature = "cuda-11040",
11455        feature = "cuda-11050",
11456        feature = "cuda-11060",
11457        feature = "cuda-11070",
11458        feature = "cuda-11080"
11459    ))]
11460    pub fn cuStreamWriteValue32(
11461        stream: CUstream,
11462        addr: CUdeviceptr,
11463        value: cuuint32_t,
11464        flags: ::core::ffi::c_uint,
11465    ) -> CUresult;
11466    #[cfg(any(
11467        feature = "cuda-11070",
11468        feature = "cuda-11080",
11469        feature = "cuda-12000",
11470        feature = "cuda-12010",
11471        feature = "cuda-12020",
11472        feature = "cuda-12030",
11473        feature = "cuda-12040",
11474        feature = "cuda-12050",
11475        feature = "cuda-12060",
11476        feature = "cuda-12080",
11477        feature = "cuda-12090",
11478        feature = "cuda-13000"
11479    ))]
11480    pub fn cuStreamWriteValue32_v2(
11481        stream: CUstream,
11482        addr: CUdeviceptr,
11483        value: cuuint32_t,
11484        flags: ::core::ffi::c_uint,
11485    ) -> CUresult;
11486    #[cfg(any(
11487        feature = "cuda-11040",
11488        feature = "cuda-11050",
11489        feature = "cuda-11060",
11490        feature = "cuda-11070",
11491        feature = "cuda-11080"
11492    ))]
11493    pub fn cuStreamWriteValue64(
11494        stream: CUstream,
11495        addr: CUdeviceptr,
11496        value: cuuint64_t,
11497        flags: ::core::ffi::c_uint,
11498    ) -> CUresult;
11499    #[cfg(any(
11500        feature = "cuda-11070",
11501        feature = "cuda-11080",
11502        feature = "cuda-12000",
11503        feature = "cuda-12010",
11504        feature = "cuda-12020",
11505        feature = "cuda-12030",
11506        feature = "cuda-12040",
11507        feature = "cuda-12050",
11508        feature = "cuda-12060",
11509        feature = "cuda-12080",
11510        feature = "cuda-12090",
11511        feature = "cuda-13000"
11512    ))]
11513    pub fn cuStreamWriteValue64_v2(
11514        stream: CUstream,
11515        addr: CUdeviceptr,
11516        value: cuuint64_t,
11517        flags: ::core::ffi::c_uint,
11518    ) -> CUresult;
11519    pub fn cuSurfObjectCreate(
11520        pSurfObject: *mut CUsurfObject,
11521        pResDesc: *const CUDA_RESOURCE_DESC,
11522    ) -> CUresult;
11523    pub fn cuSurfObjectDestroy(surfObject: CUsurfObject) -> CUresult;
11524    pub fn cuSurfObjectGetResourceDesc(
11525        pResDesc: *mut CUDA_RESOURCE_DESC,
11526        surfObject: CUsurfObject,
11527    ) -> CUresult;
11528    pub fn cuSurfRefGetArray(phArray: *mut CUarray, hSurfRef: CUsurfref) -> CUresult;
11529    pub fn cuSurfRefSetArray(
11530        hSurfRef: CUsurfref,
11531        hArray: CUarray,
11532        Flags: ::core::ffi::c_uint,
11533    ) -> CUresult;
11534    #[cfg(any(
11535        feature = "cuda-12000",
11536        feature = "cuda-12010",
11537        feature = "cuda-12020",
11538        feature = "cuda-12030",
11539        feature = "cuda-12040",
11540        feature = "cuda-12050",
11541        feature = "cuda-12060",
11542        feature = "cuda-12080",
11543        feature = "cuda-12090",
11544        feature = "cuda-13000"
11545    ))]
11546    pub fn cuTensorMapEncodeIm2col(
11547        tensorMap: *mut CUtensorMap,
11548        tensorDataType: CUtensorMapDataType,
11549        tensorRank: cuuint32_t,
11550        globalAddress: *mut ::core::ffi::c_void,
11551        globalDim: *const cuuint64_t,
11552        globalStrides: *const cuuint64_t,
11553        pixelBoxLowerCorner: *const ::core::ffi::c_int,
11554        pixelBoxUpperCorner: *const ::core::ffi::c_int,
11555        channelsPerPixel: cuuint32_t,
11556        pixelsPerColumn: cuuint32_t,
11557        elementStrides: *const cuuint32_t,
11558        interleave: CUtensorMapInterleave,
11559        swizzle: CUtensorMapSwizzle,
11560        l2Promotion: CUtensorMapL2promotion,
11561        oobFill: CUtensorMapFloatOOBfill,
11562    ) -> CUresult;
11563    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
11564    pub fn cuTensorMapEncodeIm2colWide(
11565        tensorMap: *mut CUtensorMap,
11566        tensorDataType: CUtensorMapDataType,
11567        tensorRank: cuuint32_t,
11568        globalAddress: *mut ::core::ffi::c_void,
11569        globalDim: *const cuuint64_t,
11570        globalStrides: *const cuuint64_t,
11571        pixelBoxLowerCornerWidth: ::core::ffi::c_int,
11572        pixelBoxUpperCornerWidth: ::core::ffi::c_int,
11573        channelsPerPixel: cuuint32_t,
11574        pixelsPerColumn: cuuint32_t,
11575        elementStrides: *const cuuint32_t,
11576        interleave: CUtensorMapInterleave,
11577        mode: CUtensorMapIm2ColWideMode,
11578        swizzle: CUtensorMapSwizzle,
11579        l2Promotion: CUtensorMapL2promotion,
11580        oobFill: CUtensorMapFloatOOBfill,
11581    ) -> CUresult;
11582    #[cfg(any(
11583        feature = "cuda-12000",
11584        feature = "cuda-12010",
11585        feature = "cuda-12020",
11586        feature = "cuda-12030",
11587        feature = "cuda-12040",
11588        feature = "cuda-12050",
11589        feature = "cuda-12060",
11590        feature = "cuda-12080",
11591        feature = "cuda-12090",
11592        feature = "cuda-13000"
11593    ))]
11594    pub fn cuTensorMapEncodeTiled(
11595        tensorMap: *mut CUtensorMap,
11596        tensorDataType: CUtensorMapDataType,
11597        tensorRank: cuuint32_t,
11598        globalAddress: *mut ::core::ffi::c_void,
11599        globalDim: *const cuuint64_t,
11600        globalStrides: *const cuuint64_t,
11601        boxDim: *const cuuint32_t,
11602        elementStrides: *const cuuint32_t,
11603        interleave: CUtensorMapInterleave,
11604        swizzle: CUtensorMapSwizzle,
11605        l2Promotion: CUtensorMapL2promotion,
11606        oobFill: CUtensorMapFloatOOBfill,
11607    ) -> CUresult;
11608    #[cfg(any(
11609        feature = "cuda-12000",
11610        feature = "cuda-12010",
11611        feature = "cuda-12020",
11612        feature = "cuda-12030",
11613        feature = "cuda-12040",
11614        feature = "cuda-12050",
11615        feature = "cuda-12060",
11616        feature = "cuda-12080",
11617        feature = "cuda-12090",
11618        feature = "cuda-13000"
11619    ))]
11620    pub fn cuTensorMapReplaceAddress(
11621        tensorMap: *mut CUtensorMap,
11622        globalAddress: *mut ::core::ffi::c_void,
11623    ) -> CUresult;
11624    pub fn cuTexObjectCreate(
11625        pTexObject: *mut CUtexObject,
11626        pResDesc: *const CUDA_RESOURCE_DESC,
11627        pTexDesc: *const CUDA_TEXTURE_DESC,
11628        pResViewDesc: *const CUDA_RESOURCE_VIEW_DESC,
11629    ) -> CUresult;
11630    pub fn cuTexObjectDestroy(texObject: CUtexObject) -> CUresult;
11631    pub fn cuTexObjectGetResourceDesc(
11632        pResDesc: *mut CUDA_RESOURCE_DESC,
11633        texObject: CUtexObject,
11634    ) -> CUresult;
11635    pub fn cuTexObjectGetResourceViewDesc(
11636        pResViewDesc: *mut CUDA_RESOURCE_VIEW_DESC,
11637        texObject: CUtexObject,
11638    ) -> CUresult;
11639    pub fn cuTexObjectGetTextureDesc(
11640        pTexDesc: *mut CUDA_TEXTURE_DESC,
11641        texObject: CUtexObject,
11642    ) -> CUresult;
11643    pub fn cuTexRefCreate(pTexRef: *mut CUtexref) -> CUresult;
11644    pub fn cuTexRefDestroy(hTexRef: CUtexref) -> CUresult;
11645    pub fn cuTexRefGetAddressMode(
11646        pam: *mut CUaddress_mode,
11647        hTexRef: CUtexref,
11648        dim: ::core::ffi::c_int,
11649    ) -> CUresult;
11650    pub fn cuTexRefGetAddress_v2(pdptr: *mut CUdeviceptr, hTexRef: CUtexref) -> CUresult;
11651    pub fn cuTexRefGetArray(phArray: *mut CUarray, hTexRef: CUtexref) -> CUresult;
11652    pub fn cuTexRefGetBorderColor(pBorderColor: *mut f32, hTexRef: CUtexref) -> CUresult;
11653    pub fn cuTexRefGetFilterMode(pfm: *mut CUfilter_mode, hTexRef: CUtexref) -> CUresult;
11654    pub fn cuTexRefGetFlags(pFlags: *mut ::core::ffi::c_uint, hTexRef: CUtexref) -> CUresult;
11655    pub fn cuTexRefGetFormat(
11656        pFormat: *mut CUarray_format,
11657        pNumChannels: *mut ::core::ffi::c_int,
11658        hTexRef: CUtexref,
11659    ) -> CUresult;
11660    pub fn cuTexRefGetMaxAnisotropy(
11661        pmaxAniso: *mut ::core::ffi::c_int,
11662        hTexRef: CUtexref,
11663    ) -> CUresult;
11664    pub fn cuTexRefGetMipmapFilterMode(pfm: *mut CUfilter_mode, hTexRef: CUtexref) -> CUresult;
11665    pub fn cuTexRefGetMipmapLevelBias(pbias: *mut f32, hTexRef: CUtexref) -> CUresult;
11666    pub fn cuTexRefGetMipmapLevelClamp(
11667        pminMipmapLevelClamp: *mut f32,
11668        pmaxMipmapLevelClamp: *mut f32,
11669        hTexRef: CUtexref,
11670    ) -> CUresult;
11671    pub fn cuTexRefGetMipmappedArray(
11672        phMipmappedArray: *mut CUmipmappedArray,
11673        hTexRef: CUtexref,
11674    ) -> CUresult;
11675    pub fn cuTexRefSetAddress2D_v3(
11676        hTexRef: CUtexref,
11677        desc: *const CUDA_ARRAY_DESCRIPTOR,
11678        dptr: CUdeviceptr,
11679        Pitch: usize,
11680    ) -> CUresult;
11681    pub fn cuTexRefSetAddressMode(
11682        hTexRef: CUtexref,
11683        dim: ::core::ffi::c_int,
11684        am: CUaddress_mode,
11685    ) -> CUresult;
11686    pub fn cuTexRefSetAddress_v2(
11687        ByteOffset: *mut usize,
11688        hTexRef: CUtexref,
11689        dptr: CUdeviceptr,
11690        bytes: usize,
11691    ) -> CUresult;
11692    pub fn cuTexRefSetArray(
11693        hTexRef: CUtexref,
11694        hArray: CUarray,
11695        Flags: ::core::ffi::c_uint,
11696    ) -> CUresult;
11697    pub fn cuTexRefSetBorderColor(hTexRef: CUtexref, pBorderColor: *mut f32) -> CUresult;
11698    pub fn cuTexRefSetFilterMode(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult;
11699    pub fn cuTexRefSetFlags(hTexRef: CUtexref, Flags: ::core::ffi::c_uint) -> CUresult;
11700    pub fn cuTexRefSetFormat(
11701        hTexRef: CUtexref,
11702        fmt: CUarray_format,
11703        NumPackedComponents: ::core::ffi::c_int,
11704    ) -> CUresult;
11705    pub fn cuTexRefSetMaxAnisotropy(hTexRef: CUtexref, maxAniso: ::core::ffi::c_uint) -> CUresult;
11706    pub fn cuTexRefSetMipmapFilterMode(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult;
11707    pub fn cuTexRefSetMipmapLevelBias(hTexRef: CUtexref, bias: f32) -> CUresult;
11708    pub fn cuTexRefSetMipmapLevelClamp(
11709        hTexRef: CUtexref,
11710        minMipmapLevelClamp: f32,
11711        maxMipmapLevelClamp: f32,
11712    ) -> CUresult;
11713    pub fn cuTexRefSetMipmappedArray(
11714        hTexRef: CUtexref,
11715        hMipmappedArray: CUmipmappedArray,
11716        Flags: ::core::ffi::c_uint,
11717    ) -> CUresult;
11718    pub fn cuThreadExchangeStreamCaptureMode(mode: *mut CUstreamCaptureMode) -> CUresult;
11719    pub fn cuUserObjectCreate(
11720        object_out: *mut CUuserObject,
11721        ptr: *mut ::core::ffi::c_void,
11722        destroy: CUhostFn,
11723        initialRefcount: ::core::ffi::c_uint,
11724        flags: ::core::ffi::c_uint,
11725    ) -> CUresult;
11726    pub fn cuUserObjectRelease(object: CUuserObject, count: ::core::ffi::c_uint) -> CUresult;
11727    pub fn cuUserObjectRetain(object: CUuserObject, count: ::core::ffi::c_uint) -> CUresult;
11728    pub fn cuWaitExternalSemaphoresAsync(
11729        extSemArray: *const CUexternalSemaphore,
11730        paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,
11731        numExtSems: ::core::ffi::c_uint,
11732        stream: CUstream,
11733    ) -> CUresult;
11734}
11735#[cfg(feature = "dynamic-loading")]
11736mod loaded {
11737    use super::*;
11738    pub unsafe fn cuArray3DCreate_v2(
11739        pHandle: *mut CUarray,
11740        pAllocateArray: *const CUDA_ARRAY3D_DESCRIPTOR,
11741    ) -> CUresult {
11742        (culib().cuArray3DCreate_v2)(pHandle, pAllocateArray)
11743    }
11744    pub unsafe fn cuArray3DGetDescriptor_v2(
11745        pArrayDescriptor: *mut CUDA_ARRAY3D_DESCRIPTOR,
11746        hArray: CUarray,
11747    ) -> CUresult {
11748        (culib().cuArray3DGetDescriptor_v2)(pArrayDescriptor, hArray)
11749    }
11750    pub unsafe fn cuArrayCreate_v2(
11751        pHandle: *mut CUarray,
11752        pAllocateArray: *const CUDA_ARRAY_DESCRIPTOR,
11753    ) -> CUresult {
11754        (culib().cuArrayCreate_v2)(pHandle, pAllocateArray)
11755    }
11756    pub unsafe fn cuArrayDestroy(hArray: CUarray) -> CUresult {
11757        (culib().cuArrayDestroy)(hArray)
11758    }
11759    pub unsafe fn cuArrayGetDescriptor_v2(
11760        pArrayDescriptor: *mut CUDA_ARRAY_DESCRIPTOR,
11761        hArray: CUarray,
11762    ) -> CUresult {
11763        (culib().cuArrayGetDescriptor_v2)(pArrayDescriptor, hArray)
11764    }
11765    #[cfg(any(
11766        feature = "cuda-11060",
11767        feature = "cuda-11070",
11768        feature = "cuda-11080",
11769        feature = "cuda-12000",
11770        feature = "cuda-12010",
11771        feature = "cuda-12020",
11772        feature = "cuda-12030",
11773        feature = "cuda-12040",
11774        feature = "cuda-12050",
11775        feature = "cuda-12060",
11776        feature = "cuda-12080",
11777        feature = "cuda-12090",
11778        feature = "cuda-13000"
11779    ))]
11780    pub unsafe fn cuArrayGetMemoryRequirements(
11781        memoryRequirements: *mut CUDA_ARRAY_MEMORY_REQUIREMENTS,
11782        array: CUarray,
11783        device: CUdevice,
11784    ) -> CUresult {
11785        (culib().cuArrayGetMemoryRequirements)(memoryRequirements, array, device)
11786    }
11787    pub unsafe fn cuArrayGetPlane(
11788        pPlaneArray: *mut CUarray,
11789        hArray: CUarray,
11790        planeIdx: ::core::ffi::c_uint,
11791    ) -> CUresult {
11792        (culib().cuArrayGetPlane)(pPlaneArray, hArray, planeIdx)
11793    }
11794    pub unsafe fn cuArrayGetSparseProperties(
11795        sparseProperties: *mut CUDA_ARRAY_SPARSE_PROPERTIES,
11796        array: CUarray,
11797    ) -> CUresult {
11798        (culib().cuArrayGetSparseProperties)(sparseProperties, array)
11799    }
11800    #[cfg(any(
11801        feature = "cuda-12010",
11802        feature = "cuda-12020",
11803        feature = "cuda-12030",
11804        feature = "cuda-12040",
11805        feature = "cuda-12050",
11806        feature = "cuda-12060",
11807        feature = "cuda-12080",
11808        feature = "cuda-12090",
11809        feature = "cuda-13000"
11810    ))]
11811    pub unsafe fn cuCoredumpGetAttribute(
11812        attrib: CUcoredumpSettings,
11813        value: *mut ::core::ffi::c_void,
11814        size: *mut usize,
11815    ) -> CUresult {
11816        (culib().cuCoredumpGetAttribute)(attrib, value, size)
11817    }
11818    #[cfg(any(
11819        feature = "cuda-12010",
11820        feature = "cuda-12020",
11821        feature = "cuda-12030",
11822        feature = "cuda-12040",
11823        feature = "cuda-12050",
11824        feature = "cuda-12060",
11825        feature = "cuda-12080",
11826        feature = "cuda-12090",
11827        feature = "cuda-13000"
11828    ))]
11829    pub unsafe fn cuCoredumpGetAttributeGlobal(
11830        attrib: CUcoredumpSettings,
11831        value: *mut ::core::ffi::c_void,
11832        size: *mut usize,
11833    ) -> CUresult {
11834        (culib().cuCoredumpGetAttributeGlobal)(attrib, value, size)
11835    }
11836    #[cfg(any(
11837        feature = "cuda-12010",
11838        feature = "cuda-12020",
11839        feature = "cuda-12030",
11840        feature = "cuda-12040",
11841        feature = "cuda-12050",
11842        feature = "cuda-12060",
11843        feature = "cuda-12080",
11844        feature = "cuda-12090",
11845        feature = "cuda-13000"
11846    ))]
11847    pub unsafe fn cuCoredumpSetAttribute(
11848        attrib: CUcoredumpSettings,
11849        value: *mut ::core::ffi::c_void,
11850        size: *mut usize,
11851    ) -> CUresult {
11852        (culib().cuCoredumpSetAttribute)(attrib, value, size)
11853    }
11854    #[cfg(any(
11855        feature = "cuda-12010",
11856        feature = "cuda-12020",
11857        feature = "cuda-12030",
11858        feature = "cuda-12040",
11859        feature = "cuda-12050",
11860        feature = "cuda-12060",
11861        feature = "cuda-12080",
11862        feature = "cuda-12090",
11863        feature = "cuda-13000"
11864    ))]
11865    pub unsafe fn cuCoredumpSetAttributeGlobal(
11866        attrib: CUcoredumpSettings,
11867        value: *mut ::core::ffi::c_void,
11868        size: *mut usize,
11869    ) -> CUresult {
11870        (culib().cuCoredumpSetAttributeGlobal)(attrib, value, size)
11871    }
11872    pub unsafe fn cuCtxAttach(pctx: *mut CUcontext, flags: ::core::ffi::c_uint) -> CUresult {
11873        (culib().cuCtxAttach)(pctx, flags)
11874    }
11875    #[cfg(any(
11876        feature = "cuda-11040",
11877        feature = "cuda-11050",
11878        feature = "cuda-11060",
11879        feature = "cuda-11070",
11880        feature = "cuda-11080",
11881        feature = "cuda-12000",
11882        feature = "cuda-12010",
11883        feature = "cuda-12020",
11884        feature = "cuda-12030",
11885        feature = "cuda-12040",
11886        feature = "cuda-12050",
11887        feature = "cuda-12060",
11888        feature = "cuda-12080",
11889        feature = "cuda-12090"
11890    ))]
11891    pub unsafe fn cuCtxCreate_v2(
11892        pctx: *mut CUcontext,
11893        flags: ::core::ffi::c_uint,
11894        dev: CUdevice,
11895    ) -> CUresult {
11896        (culib().cuCtxCreate_v2)(pctx, flags, dev)
11897    }
11898    #[cfg(any(
11899        feature = "cuda-11040",
11900        feature = "cuda-11050",
11901        feature = "cuda-11060",
11902        feature = "cuda-11070",
11903        feature = "cuda-11080",
11904        feature = "cuda-12000",
11905        feature = "cuda-12010",
11906        feature = "cuda-12020",
11907        feature = "cuda-12030",
11908        feature = "cuda-12040",
11909        feature = "cuda-12050",
11910        feature = "cuda-12060",
11911        feature = "cuda-12080",
11912        feature = "cuda-12090"
11913    ))]
11914    pub unsafe fn cuCtxCreate_v3(
11915        pctx: *mut CUcontext,
11916        paramsArray: *mut CUexecAffinityParam,
11917        numParams: ::core::ffi::c_int,
11918        flags: ::core::ffi::c_uint,
11919        dev: CUdevice,
11920    ) -> CUresult {
11921        (culib().cuCtxCreate_v3)(pctx, paramsArray, numParams, flags, dev)
11922    }
11923    #[cfg(any(
11924        feature = "cuda-12050",
11925        feature = "cuda-12060",
11926        feature = "cuda-12080",
11927        feature = "cuda-12090",
11928        feature = "cuda-13000"
11929    ))]
11930    pub unsafe fn cuCtxCreate_v4(
11931        pctx: *mut CUcontext,
11932        ctxCreateParams: *mut CUctxCreateParams,
11933        flags: ::core::ffi::c_uint,
11934        dev: CUdevice,
11935    ) -> CUresult {
11936        (culib().cuCtxCreate_v4)(pctx, ctxCreateParams, flags, dev)
11937    }
11938    pub unsafe fn cuCtxDestroy_v2(ctx: CUcontext) -> CUresult {
11939        (culib().cuCtxDestroy_v2)(ctx)
11940    }
11941    pub unsafe fn cuCtxDetach(ctx: CUcontext) -> CUresult {
11942        (culib().cuCtxDetach)(ctx)
11943    }
11944    pub unsafe fn cuCtxDisablePeerAccess(peerContext: CUcontext) -> CUresult {
11945        (culib().cuCtxDisablePeerAccess)(peerContext)
11946    }
11947    pub unsafe fn cuCtxEnablePeerAccess(
11948        peerContext: CUcontext,
11949        Flags: ::core::ffi::c_uint,
11950    ) -> CUresult {
11951        (culib().cuCtxEnablePeerAccess)(peerContext, Flags)
11952    }
11953    #[cfg(any(
11954        feature = "cuda-12040",
11955        feature = "cuda-12050",
11956        feature = "cuda-12060",
11957        feature = "cuda-12080",
11958        feature = "cuda-12090",
11959        feature = "cuda-13000"
11960    ))]
11961    pub unsafe fn cuCtxFromGreenCtx(pContext: *mut CUcontext, hCtx: CUgreenCtx) -> CUresult {
11962        (culib().cuCtxFromGreenCtx)(pContext, hCtx)
11963    }
11964    pub unsafe fn cuCtxGetApiVersion(
11965        ctx: CUcontext,
11966        version: *mut ::core::ffi::c_uint,
11967    ) -> CUresult {
11968        (culib().cuCtxGetApiVersion)(ctx, version)
11969    }
11970    pub unsafe fn cuCtxGetCacheConfig(pconfig: *mut CUfunc_cache) -> CUresult {
11971        (culib().cuCtxGetCacheConfig)(pconfig)
11972    }
11973    pub unsafe fn cuCtxGetCurrent(pctx: *mut CUcontext) -> CUresult {
11974        (culib().cuCtxGetCurrent)(pctx)
11975    }
11976    #[cfg(any(
11977        feature = "cuda-12040",
11978        feature = "cuda-12050",
11979        feature = "cuda-12060",
11980        feature = "cuda-12080",
11981        feature = "cuda-12090",
11982        feature = "cuda-13000"
11983    ))]
11984    pub unsafe fn cuCtxGetDevResource(
11985        hCtx: CUcontext,
11986        resource: *mut CUdevResource,
11987        type_: CUdevResourceType,
11988    ) -> CUresult {
11989        (culib().cuCtxGetDevResource)(hCtx, resource, type_)
11990    }
11991    pub unsafe fn cuCtxGetDevice(device: *mut CUdevice) -> CUresult {
11992        (culib().cuCtxGetDevice)(device)
11993    }
11994    #[cfg(any(feature = "cuda-13000"))]
11995    pub unsafe fn cuCtxGetDevice_v2(device: *mut CUdevice, ctx: CUcontext) -> CUresult {
11996        (culib().cuCtxGetDevice_v2)(device, ctx)
11997    }
11998    pub unsafe fn cuCtxGetExecAffinity(
11999        pExecAffinity: *mut CUexecAffinityParam,
12000        type_: CUexecAffinityType,
12001    ) -> CUresult {
12002        (culib().cuCtxGetExecAffinity)(pExecAffinity, type_)
12003    }
12004    pub unsafe fn cuCtxGetFlags(flags: *mut ::core::ffi::c_uint) -> CUresult {
12005        (culib().cuCtxGetFlags)(flags)
12006    }
12007    #[cfg(any(
12008        feature = "cuda-12000",
12009        feature = "cuda-12010",
12010        feature = "cuda-12020",
12011        feature = "cuda-12030",
12012        feature = "cuda-12040",
12013        feature = "cuda-12050",
12014        feature = "cuda-12060",
12015        feature = "cuda-12080",
12016        feature = "cuda-12090",
12017        feature = "cuda-13000"
12018    ))]
12019    pub unsafe fn cuCtxGetId(ctx: CUcontext, ctxId: *mut ::core::ffi::c_ulonglong) -> CUresult {
12020        (culib().cuCtxGetId)(ctx, ctxId)
12021    }
12022    pub unsafe fn cuCtxGetLimit(pvalue: *mut usize, limit: CUlimit) -> CUresult {
12023        (culib().cuCtxGetLimit)(pvalue, limit)
12024    }
12025    pub unsafe fn cuCtxGetSharedMemConfig(pConfig: *mut CUsharedconfig) -> CUresult {
12026        (culib().cuCtxGetSharedMemConfig)(pConfig)
12027    }
12028    pub unsafe fn cuCtxGetStreamPriorityRange(
12029        leastPriority: *mut ::core::ffi::c_int,
12030        greatestPriority: *mut ::core::ffi::c_int,
12031    ) -> CUresult {
12032        (culib().cuCtxGetStreamPriorityRange)(leastPriority, greatestPriority)
12033    }
12034    pub unsafe fn cuCtxPopCurrent_v2(pctx: *mut CUcontext) -> CUresult {
12035        (culib().cuCtxPopCurrent_v2)(pctx)
12036    }
12037    pub unsafe fn cuCtxPushCurrent_v2(ctx: CUcontext) -> CUresult {
12038        (culib().cuCtxPushCurrent_v2)(ctx)
12039    }
12040    #[cfg(any(
12041        feature = "cuda-12050",
12042        feature = "cuda-12060",
12043        feature = "cuda-12080",
12044        feature = "cuda-12090",
12045        feature = "cuda-13000"
12046    ))]
12047    pub unsafe fn cuCtxRecordEvent(hCtx: CUcontext, hEvent: CUevent) -> CUresult {
12048        (culib().cuCtxRecordEvent)(hCtx, hEvent)
12049    }
12050    pub unsafe fn cuCtxResetPersistingL2Cache() -> CUresult {
12051        (culib().cuCtxResetPersistingL2Cache)()
12052    }
12053    pub unsafe fn cuCtxSetCacheConfig(config: CUfunc_cache) -> CUresult {
12054        (culib().cuCtxSetCacheConfig)(config)
12055    }
12056    pub unsafe fn cuCtxSetCurrent(ctx: CUcontext) -> CUresult {
12057        (culib().cuCtxSetCurrent)(ctx)
12058    }
12059    #[cfg(any(
12060        feature = "cuda-12010",
12061        feature = "cuda-12020",
12062        feature = "cuda-12030",
12063        feature = "cuda-12040",
12064        feature = "cuda-12050",
12065        feature = "cuda-12060",
12066        feature = "cuda-12080",
12067        feature = "cuda-12090",
12068        feature = "cuda-13000"
12069    ))]
12070    pub unsafe fn cuCtxSetFlags(flags: ::core::ffi::c_uint) -> CUresult {
12071        (culib().cuCtxSetFlags)(flags)
12072    }
12073    pub unsafe fn cuCtxSetLimit(limit: CUlimit, value: usize) -> CUresult {
12074        (culib().cuCtxSetLimit)(limit, value)
12075    }
12076    pub unsafe fn cuCtxSetSharedMemConfig(config: CUsharedconfig) -> CUresult {
12077        (culib().cuCtxSetSharedMemConfig)(config)
12078    }
12079    pub unsafe fn cuCtxSynchronize() -> CUresult {
12080        (culib().cuCtxSynchronize)()
12081    }
12082    #[cfg(any(feature = "cuda-13000"))]
12083    pub unsafe fn cuCtxSynchronize_v2(ctx: CUcontext) -> CUresult {
12084        (culib().cuCtxSynchronize_v2)(ctx)
12085    }
12086    #[cfg(any(
12087        feature = "cuda-12050",
12088        feature = "cuda-12060",
12089        feature = "cuda-12080",
12090        feature = "cuda-12090",
12091        feature = "cuda-13000"
12092    ))]
12093    pub unsafe fn cuCtxWaitEvent(hCtx: CUcontext, hEvent: CUevent) -> CUresult {
12094        (culib().cuCtxWaitEvent)(hCtx, hEvent)
12095    }
12096    pub unsafe fn cuDestroyExternalMemory(extMem: CUexternalMemory) -> CUresult {
12097        (culib().cuDestroyExternalMemory)(extMem)
12098    }
12099    pub unsafe fn cuDestroyExternalSemaphore(extSem: CUexternalSemaphore) -> CUresult {
12100        (culib().cuDestroyExternalSemaphore)(extSem)
12101    }
12102    #[cfg(any(
12103        feature = "cuda-12040",
12104        feature = "cuda-12050",
12105        feature = "cuda-12060",
12106        feature = "cuda-12080",
12107        feature = "cuda-12090",
12108        feature = "cuda-13000"
12109    ))]
12110    pub unsafe fn cuDevResourceGenerateDesc(
12111        phDesc: *mut CUdevResourceDesc,
12112        resources: *mut CUdevResource,
12113        nbResources: ::core::ffi::c_uint,
12114    ) -> CUresult {
12115        (culib().cuDevResourceGenerateDesc)(phDesc, resources, nbResources)
12116    }
12117    #[cfg(any(
12118        feature = "cuda-12040",
12119        feature = "cuda-12050",
12120        feature = "cuda-12060",
12121        feature = "cuda-12080",
12122        feature = "cuda-12090",
12123        feature = "cuda-13000"
12124    ))]
12125    pub unsafe fn cuDevSmResourceSplitByCount(
12126        result: *mut CUdevResource,
12127        nbGroups: *mut ::core::ffi::c_uint,
12128        input: *const CUdevResource,
12129        remaining: *mut CUdevResource,
12130        useFlags: ::core::ffi::c_uint,
12131        minCount: ::core::ffi::c_uint,
12132    ) -> CUresult {
12133        (culib().cuDevSmResourceSplitByCount)(
12134            result, nbGroups, input, remaining, useFlags, minCount,
12135        )
12136    }
12137    pub unsafe fn cuDeviceCanAccessPeer(
12138        canAccessPeer: *mut ::core::ffi::c_int,
12139        dev: CUdevice,
12140        peerDev: CUdevice,
12141    ) -> CUresult {
12142        (culib().cuDeviceCanAccessPeer)(canAccessPeer, dev, peerDev)
12143    }
12144    pub unsafe fn cuDeviceComputeCapability(
12145        major: *mut ::core::ffi::c_int,
12146        minor: *mut ::core::ffi::c_int,
12147        dev: CUdevice,
12148    ) -> CUresult {
12149        (culib().cuDeviceComputeCapability)(major, minor, dev)
12150    }
12151    pub unsafe fn cuDeviceGet(device: *mut CUdevice, ordinal: ::core::ffi::c_int) -> CUresult {
12152        (culib().cuDeviceGet)(device, ordinal)
12153    }
12154    pub unsafe fn cuDeviceGetAttribute(
12155        pi: *mut ::core::ffi::c_int,
12156        attrib: CUdevice_attribute,
12157        dev: CUdevice,
12158    ) -> CUresult {
12159        (culib().cuDeviceGetAttribute)(pi, attrib, dev)
12160    }
12161    pub unsafe fn cuDeviceGetByPCIBusId(
12162        dev: *mut CUdevice,
12163        pciBusId: *const ::core::ffi::c_char,
12164    ) -> CUresult {
12165        (culib().cuDeviceGetByPCIBusId)(dev, pciBusId)
12166    }
12167    pub unsafe fn cuDeviceGetCount(count: *mut ::core::ffi::c_int) -> CUresult {
12168        (culib().cuDeviceGetCount)(count)
12169    }
12170    pub unsafe fn cuDeviceGetDefaultMemPool(
12171        pool_out: *mut CUmemoryPool,
12172        dev: CUdevice,
12173    ) -> CUresult {
12174        (culib().cuDeviceGetDefaultMemPool)(pool_out, dev)
12175    }
12176    #[cfg(any(
12177        feature = "cuda-12040",
12178        feature = "cuda-12050",
12179        feature = "cuda-12060",
12180        feature = "cuda-12080",
12181        feature = "cuda-12090",
12182        feature = "cuda-13000"
12183    ))]
12184    pub unsafe fn cuDeviceGetDevResource(
12185        device: CUdevice,
12186        resource: *mut CUdevResource,
12187        type_: CUdevResourceType,
12188    ) -> CUresult {
12189        (culib().cuDeviceGetDevResource)(device, resource, type_)
12190    }
12191    pub unsafe fn cuDeviceGetExecAffinitySupport(
12192        pi: *mut ::core::ffi::c_int,
12193        type_: CUexecAffinityType,
12194        dev: CUdevice,
12195    ) -> CUresult {
12196        (culib().cuDeviceGetExecAffinitySupport)(pi, type_, dev)
12197    }
12198    pub unsafe fn cuDeviceGetGraphMemAttribute(
12199        device: CUdevice,
12200        attr: CUgraphMem_attribute,
12201        value: *mut ::core::ffi::c_void,
12202    ) -> CUresult {
12203        (culib().cuDeviceGetGraphMemAttribute)(device, attr, value)
12204    }
12205    #[cfg(any(feature = "cuda-13000"))]
12206    pub unsafe fn cuDeviceGetHostAtomicCapabilities(
12207        capabilities: *mut ::core::ffi::c_uint,
12208        operations: *const CUatomicOperation,
12209        count: ::core::ffi::c_uint,
12210        dev: CUdevice,
12211    ) -> CUresult {
12212        (culib().cuDeviceGetHostAtomicCapabilities)(capabilities, operations, count, dev)
12213    }
12214    pub unsafe fn cuDeviceGetLuid(
12215        luid: *mut ::core::ffi::c_char,
12216        deviceNodeMask: *mut ::core::ffi::c_uint,
12217        dev: CUdevice,
12218    ) -> CUresult {
12219        (culib().cuDeviceGetLuid)(luid, deviceNodeMask, dev)
12220    }
12221    pub unsafe fn cuDeviceGetMemPool(pool: *mut CUmemoryPool, dev: CUdevice) -> CUresult {
12222        (culib().cuDeviceGetMemPool)(pool, dev)
12223    }
12224    pub unsafe fn cuDeviceGetName(
12225        name: *mut ::core::ffi::c_char,
12226        len: ::core::ffi::c_int,
12227        dev: CUdevice,
12228    ) -> CUresult {
12229        (culib().cuDeviceGetName)(name, len, dev)
12230    }
12231    #[cfg(any(feature = "cuda-13000"))]
12232    pub unsafe fn cuDeviceGetP2PAtomicCapabilities(
12233        capabilities: *mut ::core::ffi::c_uint,
12234        operations: *const CUatomicOperation,
12235        count: ::core::ffi::c_uint,
12236        srcDevice: CUdevice,
12237        dstDevice: CUdevice,
12238    ) -> CUresult {
12239        (culib().cuDeviceGetP2PAtomicCapabilities)(
12240            capabilities,
12241            operations,
12242            count,
12243            srcDevice,
12244            dstDevice,
12245        )
12246    }
12247    pub unsafe fn cuDeviceGetP2PAttribute(
12248        value: *mut ::core::ffi::c_int,
12249        attrib: CUdevice_P2PAttribute,
12250        srcDevice: CUdevice,
12251        dstDevice: CUdevice,
12252    ) -> CUresult {
12253        (culib().cuDeviceGetP2PAttribute)(value, attrib, srcDevice, dstDevice)
12254    }
12255    pub unsafe fn cuDeviceGetPCIBusId(
12256        pciBusId: *mut ::core::ffi::c_char,
12257        len: ::core::ffi::c_int,
12258        dev: CUdevice,
12259    ) -> CUresult {
12260        (culib().cuDeviceGetPCIBusId)(pciBusId, len, dev)
12261    }
12262    pub unsafe fn cuDeviceGetProperties(prop: *mut CUdevprop, dev: CUdevice) -> CUresult {
12263        (culib().cuDeviceGetProperties)(prop, dev)
12264    }
12265    pub unsafe fn cuDeviceGetTexture1DLinearMaxWidth(
12266        maxWidthInElements: *mut usize,
12267        format: CUarray_format,
12268        numChannels: ::core::ffi::c_uint,
12269        dev: CUdevice,
12270    ) -> CUresult {
12271        (culib().cuDeviceGetTexture1DLinearMaxWidth)(maxWidthInElements, format, numChannels, dev)
12272    }
12273    #[cfg(any(
12274        feature = "cuda-11040",
12275        feature = "cuda-11050",
12276        feature = "cuda-11060",
12277        feature = "cuda-11070",
12278        feature = "cuda-11080",
12279        feature = "cuda-12000",
12280        feature = "cuda-12010",
12281        feature = "cuda-12020",
12282        feature = "cuda-12030",
12283        feature = "cuda-12040",
12284        feature = "cuda-12050",
12285        feature = "cuda-12060",
12286        feature = "cuda-12080",
12287        feature = "cuda-12090"
12288    ))]
12289    pub unsafe fn cuDeviceGetUuid(uuid: *mut CUuuid, dev: CUdevice) -> CUresult {
12290        (culib().cuDeviceGetUuid)(uuid, dev)
12291    }
12292    pub unsafe fn cuDeviceGetUuid_v2(uuid: *mut CUuuid, dev: CUdevice) -> CUresult {
12293        (culib().cuDeviceGetUuid_v2)(uuid, dev)
12294    }
12295    pub unsafe fn cuDeviceGraphMemTrim(device: CUdevice) -> CUresult {
12296        (culib().cuDeviceGraphMemTrim)(device)
12297    }
12298    pub unsafe fn cuDevicePrimaryCtxGetState(
12299        dev: CUdevice,
12300        flags: *mut ::core::ffi::c_uint,
12301        active: *mut ::core::ffi::c_int,
12302    ) -> CUresult {
12303        (culib().cuDevicePrimaryCtxGetState)(dev, flags, active)
12304    }
12305    pub unsafe fn cuDevicePrimaryCtxRelease_v2(dev: CUdevice) -> CUresult {
12306        (culib().cuDevicePrimaryCtxRelease_v2)(dev)
12307    }
12308    pub unsafe fn cuDevicePrimaryCtxReset_v2(dev: CUdevice) -> CUresult {
12309        (culib().cuDevicePrimaryCtxReset_v2)(dev)
12310    }
12311    pub unsafe fn cuDevicePrimaryCtxRetain(pctx: *mut CUcontext, dev: CUdevice) -> CUresult {
12312        (culib().cuDevicePrimaryCtxRetain)(pctx, dev)
12313    }
12314    pub unsafe fn cuDevicePrimaryCtxSetFlags_v2(
12315        dev: CUdevice,
12316        flags: ::core::ffi::c_uint,
12317    ) -> CUresult {
12318        (culib().cuDevicePrimaryCtxSetFlags_v2)(dev, flags)
12319    }
12320    #[cfg(any(
12321        feature = "cuda-12040",
12322        feature = "cuda-12050",
12323        feature = "cuda-12060",
12324        feature = "cuda-12080",
12325        feature = "cuda-12090",
12326        feature = "cuda-13000"
12327    ))]
12328    pub unsafe fn cuDeviceRegisterAsyncNotification(
12329        device: CUdevice,
12330        callbackFunc: CUasyncCallback,
12331        userData: *mut ::core::ffi::c_void,
12332        callback: *mut CUasyncCallbackHandle,
12333    ) -> CUresult {
12334        (culib().cuDeviceRegisterAsyncNotification)(device, callbackFunc, userData, callback)
12335    }
12336    pub unsafe fn cuDeviceSetGraphMemAttribute(
12337        device: CUdevice,
12338        attr: CUgraphMem_attribute,
12339        value: *mut ::core::ffi::c_void,
12340    ) -> CUresult {
12341        (culib().cuDeviceSetGraphMemAttribute)(device, attr, value)
12342    }
12343    pub unsafe fn cuDeviceSetMemPool(dev: CUdevice, pool: CUmemoryPool) -> CUresult {
12344        (culib().cuDeviceSetMemPool)(dev, pool)
12345    }
12346    pub unsafe fn cuDeviceTotalMem_v2(bytes: *mut usize, dev: CUdevice) -> CUresult {
12347        (culib().cuDeviceTotalMem_v2)(bytes, dev)
12348    }
12349    #[cfg(any(
12350        feature = "cuda-12040",
12351        feature = "cuda-12050",
12352        feature = "cuda-12060",
12353        feature = "cuda-12080",
12354        feature = "cuda-12090",
12355        feature = "cuda-13000"
12356    ))]
12357    pub unsafe fn cuDeviceUnregisterAsyncNotification(
12358        device: CUdevice,
12359        callback: CUasyncCallbackHandle,
12360    ) -> CUresult {
12361        (culib().cuDeviceUnregisterAsyncNotification)(device, callback)
12362    }
12363    pub unsafe fn cuDriverGetVersion(driverVersion: *mut ::core::ffi::c_int) -> CUresult {
12364        (culib().cuDriverGetVersion)(driverVersion)
12365    }
12366    pub unsafe fn cuEventCreate(phEvent: *mut CUevent, Flags: ::core::ffi::c_uint) -> CUresult {
12367        (culib().cuEventCreate)(phEvent, Flags)
12368    }
12369    pub unsafe fn cuEventDestroy_v2(hEvent: CUevent) -> CUresult {
12370        (culib().cuEventDestroy_v2)(hEvent)
12371    }
12372    #[cfg(any(
12373        feature = "cuda-11040",
12374        feature = "cuda-11050",
12375        feature = "cuda-11060",
12376        feature = "cuda-11070",
12377        feature = "cuda-11080",
12378        feature = "cuda-12000",
12379        feature = "cuda-12010",
12380        feature = "cuda-12020",
12381        feature = "cuda-12030",
12382        feature = "cuda-12040",
12383        feature = "cuda-12050",
12384        feature = "cuda-12060",
12385        feature = "cuda-12080",
12386        feature = "cuda-12090"
12387    ))]
12388    pub unsafe fn cuEventElapsedTime(
12389        pMilliseconds: *mut f32,
12390        hStart: CUevent,
12391        hEnd: CUevent,
12392    ) -> CUresult {
12393        (culib().cuEventElapsedTime)(pMilliseconds, hStart, hEnd)
12394    }
12395    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
12396    pub unsafe fn cuEventElapsedTime_v2(
12397        pMilliseconds: *mut f32,
12398        hStart: CUevent,
12399        hEnd: CUevent,
12400    ) -> CUresult {
12401        (culib().cuEventElapsedTime_v2)(pMilliseconds, hStart, hEnd)
12402    }
12403    pub unsafe fn cuEventQuery(hEvent: CUevent) -> CUresult {
12404        (culib().cuEventQuery)(hEvent)
12405    }
12406    pub unsafe fn cuEventRecord(hEvent: CUevent, hStream: CUstream) -> CUresult {
12407        (culib().cuEventRecord)(hEvent, hStream)
12408    }
12409    pub unsafe fn cuEventRecordWithFlags(
12410        hEvent: CUevent,
12411        hStream: CUstream,
12412        flags: ::core::ffi::c_uint,
12413    ) -> CUresult {
12414        (culib().cuEventRecordWithFlags)(hEvent, hStream, flags)
12415    }
12416    pub unsafe fn cuEventSynchronize(hEvent: CUevent) -> CUresult {
12417        (culib().cuEventSynchronize)(hEvent)
12418    }
12419    pub unsafe fn cuExternalMemoryGetMappedBuffer(
12420        devPtr: *mut CUdeviceptr,
12421        extMem: CUexternalMemory,
12422        bufferDesc: *const CUDA_EXTERNAL_MEMORY_BUFFER_DESC,
12423    ) -> CUresult {
12424        (culib().cuExternalMemoryGetMappedBuffer)(devPtr, extMem, bufferDesc)
12425    }
12426    pub unsafe fn cuExternalMemoryGetMappedMipmappedArray(
12427        mipmap: *mut CUmipmappedArray,
12428        extMem: CUexternalMemory,
12429        mipmapDesc: *const CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC,
12430    ) -> CUresult {
12431        (culib().cuExternalMemoryGetMappedMipmappedArray)(mipmap, extMem, mipmapDesc)
12432    }
12433    pub unsafe fn cuFlushGPUDirectRDMAWrites(
12434        target: CUflushGPUDirectRDMAWritesTarget,
12435        scope: CUflushGPUDirectRDMAWritesScope,
12436    ) -> CUresult {
12437        (culib().cuFlushGPUDirectRDMAWrites)(target, scope)
12438    }
12439    pub unsafe fn cuFuncGetAttribute(
12440        pi: *mut ::core::ffi::c_int,
12441        attrib: CUfunction_attribute,
12442        hfunc: CUfunction,
12443    ) -> CUresult {
12444        (culib().cuFuncGetAttribute)(pi, attrib, hfunc)
12445    }
12446    pub unsafe fn cuFuncGetModule(hmod: *mut CUmodule, hfunc: CUfunction) -> CUresult {
12447        (culib().cuFuncGetModule)(hmod, hfunc)
12448    }
12449    #[cfg(any(
12450        feature = "cuda-12030",
12451        feature = "cuda-12040",
12452        feature = "cuda-12050",
12453        feature = "cuda-12060",
12454        feature = "cuda-12080",
12455        feature = "cuda-12090",
12456        feature = "cuda-13000"
12457    ))]
12458    pub unsafe fn cuFuncGetName(
12459        name: *mut *const ::core::ffi::c_char,
12460        hfunc: CUfunction,
12461    ) -> CUresult {
12462        (culib().cuFuncGetName)(name, hfunc)
12463    }
12464    #[cfg(any(
12465        feature = "cuda-12040",
12466        feature = "cuda-12050",
12467        feature = "cuda-12060",
12468        feature = "cuda-12080",
12469        feature = "cuda-12090",
12470        feature = "cuda-13000"
12471    ))]
12472    pub unsafe fn cuFuncGetParamInfo(
12473        func: CUfunction,
12474        paramIndex: usize,
12475        paramOffset: *mut usize,
12476        paramSize: *mut usize,
12477    ) -> CUresult {
12478        (culib().cuFuncGetParamInfo)(func, paramIndex, paramOffset, paramSize)
12479    }
12480    #[cfg(any(
12481        feature = "cuda-12040",
12482        feature = "cuda-12050",
12483        feature = "cuda-12060",
12484        feature = "cuda-12080",
12485        feature = "cuda-12090",
12486        feature = "cuda-13000"
12487    ))]
12488    pub unsafe fn cuFuncIsLoaded(
12489        state: *mut CUfunctionLoadingState,
12490        function: CUfunction,
12491    ) -> CUresult {
12492        (culib().cuFuncIsLoaded)(state, function)
12493    }
12494    #[cfg(any(
12495        feature = "cuda-12040",
12496        feature = "cuda-12050",
12497        feature = "cuda-12060",
12498        feature = "cuda-12080",
12499        feature = "cuda-12090",
12500        feature = "cuda-13000"
12501    ))]
12502    pub unsafe fn cuFuncLoad(function: CUfunction) -> CUresult {
12503        (culib().cuFuncLoad)(function)
12504    }
12505    pub unsafe fn cuFuncSetAttribute(
12506        hfunc: CUfunction,
12507        attrib: CUfunction_attribute,
12508        value: ::core::ffi::c_int,
12509    ) -> CUresult {
12510        (culib().cuFuncSetAttribute)(hfunc, attrib, value)
12511    }
12512    pub unsafe fn cuFuncSetBlockShape(
12513        hfunc: CUfunction,
12514        x: ::core::ffi::c_int,
12515        y: ::core::ffi::c_int,
12516        z: ::core::ffi::c_int,
12517    ) -> CUresult {
12518        (culib().cuFuncSetBlockShape)(hfunc, x, y, z)
12519    }
12520    pub unsafe fn cuFuncSetCacheConfig(hfunc: CUfunction, config: CUfunc_cache) -> CUresult {
12521        (culib().cuFuncSetCacheConfig)(hfunc, config)
12522    }
12523    pub unsafe fn cuFuncSetSharedMemConfig(hfunc: CUfunction, config: CUsharedconfig) -> CUresult {
12524        (culib().cuFuncSetSharedMemConfig)(hfunc, config)
12525    }
12526    pub unsafe fn cuFuncSetSharedSize(hfunc: CUfunction, bytes: ::core::ffi::c_uint) -> CUresult {
12527        (culib().cuFuncSetSharedSize)(hfunc, bytes)
12528    }
12529    pub unsafe fn cuGetErrorName(
12530        error: CUresult,
12531        pStr: *mut *const ::core::ffi::c_char,
12532    ) -> CUresult {
12533        (culib().cuGetErrorName)(error, pStr)
12534    }
12535    pub unsafe fn cuGetErrorString(
12536        error: CUresult,
12537        pStr: *mut *const ::core::ffi::c_char,
12538    ) -> CUresult {
12539        (culib().cuGetErrorString)(error, pStr)
12540    }
12541    pub unsafe fn cuGetExportTable(
12542        ppExportTable: *mut *const ::core::ffi::c_void,
12543        pExportTableId: *const CUuuid,
12544    ) -> CUresult {
12545        (culib().cuGetExportTable)(ppExportTable, pExportTableId)
12546    }
12547    #[cfg(any(
12548        feature = "cuda-11040",
12549        feature = "cuda-11050",
12550        feature = "cuda-11060",
12551        feature = "cuda-11070",
12552        feature = "cuda-11080"
12553    ))]
12554    pub unsafe fn cuGetProcAddress(
12555        symbol: *const ::core::ffi::c_char,
12556        pfn: *mut *mut ::core::ffi::c_void,
12557        cudaVersion: ::core::ffi::c_int,
12558        flags: cuuint64_t,
12559    ) -> CUresult {
12560        (culib().cuGetProcAddress)(symbol, pfn, cudaVersion, flags)
12561    }
12562    #[cfg(any(
12563        feature = "cuda-12000",
12564        feature = "cuda-12010",
12565        feature = "cuda-12020",
12566        feature = "cuda-12030",
12567        feature = "cuda-12040",
12568        feature = "cuda-12050",
12569        feature = "cuda-12060",
12570        feature = "cuda-12080",
12571        feature = "cuda-12090",
12572        feature = "cuda-13000"
12573    ))]
12574    pub unsafe fn cuGetProcAddress_v2(
12575        symbol: *const ::core::ffi::c_char,
12576        pfn: *mut *mut ::core::ffi::c_void,
12577        cudaVersion: ::core::ffi::c_int,
12578        flags: cuuint64_t,
12579        symbolStatus: *mut CUdriverProcAddressQueryResult,
12580    ) -> CUresult {
12581        (culib().cuGetProcAddress_v2)(symbol, pfn, cudaVersion, flags, symbolStatus)
12582    }
12583    #[cfg(any(
12584        feature = "cuda-11070",
12585        feature = "cuda-11080",
12586        feature = "cuda-12000",
12587        feature = "cuda-12010",
12588        feature = "cuda-12020",
12589        feature = "cuda-12030",
12590        feature = "cuda-12040",
12591        feature = "cuda-12050",
12592        feature = "cuda-12060",
12593        feature = "cuda-12080",
12594        feature = "cuda-12090",
12595        feature = "cuda-13000"
12596    ))]
12597    pub unsafe fn cuGraphAddBatchMemOpNode(
12598        phGraphNode: *mut CUgraphNode,
12599        hGraph: CUgraph,
12600        dependencies: *const CUgraphNode,
12601        numDependencies: usize,
12602        nodeParams: *const CUDA_BATCH_MEM_OP_NODE_PARAMS,
12603    ) -> CUresult {
12604        (culib().cuGraphAddBatchMemOpNode)(
12605            phGraphNode,
12606            hGraph,
12607            dependencies,
12608            numDependencies,
12609            nodeParams,
12610        )
12611    }
12612    pub unsafe fn cuGraphAddChildGraphNode(
12613        phGraphNode: *mut CUgraphNode,
12614        hGraph: CUgraph,
12615        dependencies: *const CUgraphNode,
12616        numDependencies: usize,
12617        childGraph: CUgraph,
12618    ) -> CUresult {
12619        (culib().cuGraphAddChildGraphNode)(
12620            phGraphNode,
12621            hGraph,
12622            dependencies,
12623            numDependencies,
12624            childGraph,
12625        )
12626    }
12627    #[cfg(any(
12628        feature = "cuda-11040",
12629        feature = "cuda-11050",
12630        feature = "cuda-11060",
12631        feature = "cuda-11070",
12632        feature = "cuda-11080",
12633        feature = "cuda-12000",
12634        feature = "cuda-12010",
12635        feature = "cuda-12020",
12636        feature = "cuda-12030",
12637        feature = "cuda-12040",
12638        feature = "cuda-12050",
12639        feature = "cuda-12060",
12640        feature = "cuda-12080",
12641        feature = "cuda-12090"
12642    ))]
12643    pub unsafe fn cuGraphAddDependencies(
12644        hGraph: CUgraph,
12645        from: *const CUgraphNode,
12646        to: *const CUgraphNode,
12647        numDependencies: usize,
12648    ) -> CUresult {
12649        (culib().cuGraphAddDependencies)(hGraph, from, to, numDependencies)
12650    }
12651    #[cfg(any(
12652        feature = "cuda-12030",
12653        feature = "cuda-12040",
12654        feature = "cuda-12050",
12655        feature = "cuda-12060",
12656        feature = "cuda-12080",
12657        feature = "cuda-12090",
12658        feature = "cuda-13000"
12659    ))]
12660    pub unsafe fn cuGraphAddDependencies_v2(
12661        hGraph: CUgraph,
12662        from: *const CUgraphNode,
12663        to: *const CUgraphNode,
12664        edgeData: *const CUgraphEdgeData,
12665        numDependencies: usize,
12666    ) -> CUresult {
12667        (culib().cuGraphAddDependencies_v2)(hGraph, from, to, edgeData, numDependencies)
12668    }
12669    pub unsafe fn cuGraphAddEmptyNode(
12670        phGraphNode: *mut CUgraphNode,
12671        hGraph: CUgraph,
12672        dependencies: *const CUgraphNode,
12673        numDependencies: usize,
12674    ) -> CUresult {
12675        (culib().cuGraphAddEmptyNode)(phGraphNode, hGraph, dependencies, numDependencies)
12676    }
12677    pub unsafe fn cuGraphAddEventRecordNode(
12678        phGraphNode: *mut CUgraphNode,
12679        hGraph: CUgraph,
12680        dependencies: *const CUgraphNode,
12681        numDependencies: usize,
12682        event: CUevent,
12683    ) -> CUresult {
12684        (culib().cuGraphAddEventRecordNode)(
12685            phGraphNode,
12686            hGraph,
12687            dependencies,
12688            numDependencies,
12689            event,
12690        )
12691    }
12692    pub unsafe fn cuGraphAddEventWaitNode(
12693        phGraphNode: *mut CUgraphNode,
12694        hGraph: CUgraph,
12695        dependencies: *const CUgraphNode,
12696        numDependencies: usize,
12697        event: CUevent,
12698    ) -> CUresult {
12699        (culib().cuGraphAddEventWaitNode)(phGraphNode, hGraph, dependencies, numDependencies, event)
12700    }
12701    pub unsafe fn cuGraphAddExternalSemaphoresSignalNode(
12702        phGraphNode: *mut CUgraphNode,
12703        hGraph: CUgraph,
12704        dependencies: *const CUgraphNode,
12705        numDependencies: usize,
12706        nodeParams: *const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
12707    ) -> CUresult {
12708        (culib().cuGraphAddExternalSemaphoresSignalNode)(
12709            phGraphNode,
12710            hGraph,
12711            dependencies,
12712            numDependencies,
12713            nodeParams,
12714        )
12715    }
12716    pub unsafe fn cuGraphAddExternalSemaphoresWaitNode(
12717        phGraphNode: *mut CUgraphNode,
12718        hGraph: CUgraph,
12719        dependencies: *const CUgraphNode,
12720        numDependencies: usize,
12721        nodeParams: *const CUDA_EXT_SEM_WAIT_NODE_PARAMS,
12722    ) -> CUresult {
12723        (culib().cuGraphAddExternalSemaphoresWaitNode)(
12724            phGraphNode,
12725            hGraph,
12726            dependencies,
12727            numDependencies,
12728            nodeParams,
12729        )
12730    }
12731    pub unsafe fn cuGraphAddHostNode(
12732        phGraphNode: *mut CUgraphNode,
12733        hGraph: CUgraph,
12734        dependencies: *const CUgraphNode,
12735        numDependencies: usize,
12736        nodeParams: *const CUDA_HOST_NODE_PARAMS,
12737    ) -> CUresult {
12738        (culib().cuGraphAddHostNode)(
12739            phGraphNode,
12740            hGraph,
12741            dependencies,
12742            numDependencies,
12743            nodeParams,
12744        )
12745    }
12746    #[cfg(any(
12747        feature = "cuda-11040",
12748        feature = "cuda-11050",
12749        feature = "cuda-11060",
12750        feature = "cuda-11070",
12751        feature = "cuda-11080"
12752    ))]
12753    pub unsafe fn cuGraphAddKernelNode(
12754        phGraphNode: *mut CUgraphNode,
12755        hGraph: CUgraph,
12756        dependencies: *const CUgraphNode,
12757        numDependencies: usize,
12758        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
12759    ) -> CUresult {
12760        (culib().cuGraphAddKernelNode)(
12761            phGraphNode,
12762            hGraph,
12763            dependencies,
12764            numDependencies,
12765            nodeParams,
12766        )
12767    }
12768    #[cfg(any(
12769        feature = "cuda-12000",
12770        feature = "cuda-12010",
12771        feature = "cuda-12020",
12772        feature = "cuda-12030",
12773        feature = "cuda-12040",
12774        feature = "cuda-12050",
12775        feature = "cuda-12060",
12776        feature = "cuda-12080",
12777        feature = "cuda-12090",
12778        feature = "cuda-13000"
12779    ))]
12780    pub unsafe fn cuGraphAddKernelNode_v2(
12781        phGraphNode: *mut CUgraphNode,
12782        hGraph: CUgraph,
12783        dependencies: *const CUgraphNode,
12784        numDependencies: usize,
12785        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
12786    ) -> CUresult {
12787        (culib().cuGraphAddKernelNode_v2)(
12788            phGraphNode,
12789            hGraph,
12790            dependencies,
12791            numDependencies,
12792            nodeParams,
12793        )
12794    }
12795    pub unsafe fn cuGraphAddMemAllocNode(
12796        phGraphNode: *mut CUgraphNode,
12797        hGraph: CUgraph,
12798        dependencies: *const CUgraphNode,
12799        numDependencies: usize,
12800        nodeParams: *mut CUDA_MEM_ALLOC_NODE_PARAMS,
12801    ) -> CUresult {
12802        (culib().cuGraphAddMemAllocNode)(
12803            phGraphNode,
12804            hGraph,
12805            dependencies,
12806            numDependencies,
12807            nodeParams,
12808        )
12809    }
12810    pub unsafe fn cuGraphAddMemFreeNode(
12811        phGraphNode: *mut CUgraphNode,
12812        hGraph: CUgraph,
12813        dependencies: *const CUgraphNode,
12814        numDependencies: usize,
12815        dptr: CUdeviceptr,
12816    ) -> CUresult {
12817        (culib().cuGraphAddMemFreeNode)(phGraphNode, hGraph, dependencies, numDependencies, dptr)
12818    }
12819    pub unsafe fn cuGraphAddMemcpyNode(
12820        phGraphNode: *mut CUgraphNode,
12821        hGraph: CUgraph,
12822        dependencies: *const CUgraphNode,
12823        numDependencies: usize,
12824        copyParams: *const CUDA_MEMCPY3D,
12825        ctx: CUcontext,
12826    ) -> CUresult {
12827        (culib().cuGraphAddMemcpyNode)(
12828            phGraphNode,
12829            hGraph,
12830            dependencies,
12831            numDependencies,
12832            copyParams,
12833            ctx,
12834        )
12835    }
12836    pub unsafe fn cuGraphAddMemsetNode(
12837        phGraphNode: *mut CUgraphNode,
12838        hGraph: CUgraph,
12839        dependencies: *const CUgraphNode,
12840        numDependencies: usize,
12841        memsetParams: *const CUDA_MEMSET_NODE_PARAMS,
12842        ctx: CUcontext,
12843    ) -> CUresult {
12844        (culib().cuGraphAddMemsetNode)(
12845            phGraphNode,
12846            hGraph,
12847            dependencies,
12848            numDependencies,
12849            memsetParams,
12850            ctx,
12851        )
12852    }
12853    #[cfg(any(
12854        feature = "cuda-12020",
12855        feature = "cuda-12030",
12856        feature = "cuda-12040",
12857        feature = "cuda-12050",
12858        feature = "cuda-12060",
12859        feature = "cuda-12080",
12860        feature = "cuda-12090"
12861    ))]
12862    pub unsafe fn cuGraphAddNode(
12863        phGraphNode: *mut CUgraphNode,
12864        hGraph: CUgraph,
12865        dependencies: *const CUgraphNode,
12866        numDependencies: usize,
12867        nodeParams: *mut CUgraphNodeParams,
12868    ) -> CUresult {
12869        (culib().cuGraphAddNode)(
12870            phGraphNode,
12871            hGraph,
12872            dependencies,
12873            numDependencies,
12874            nodeParams,
12875        )
12876    }
12877    #[cfg(any(
12878        feature = "cuda-12030",
12879        feature = "cuda-12040",
12880        feature = "cuda-12050",
12881        feature = "cuda-12060",
12882        feature = "cuda-12080",
12883        feature = "cuda-12090",
12884        feature = "cuda-13000"
12885    ))]
12886    pub unsafe fn cuGraphAddNode_v2(
12887        phGraphNode: *mut CUgraphNode,
12888        hGraph: CUgraph,
12889        dependencies: *const CUgraphNode,
12890        dependencyData: *const CUgraphEdgeData,
12891        numDependencies: usize,
12892        nodeParams: *mut CUgraphNodeParams,
12893    ) -> CUresult {
12894        (culib().cuGraphAddNode_v2)(
12895            phGraphNode,
12896            hGraph,
12897            dependencies,
12898            dependencyData,
12899            numDependencies,
12900            nodeParams,
12901        )
12902    }
12903    #[cfg(any(
12904        feature = "cuda-11070",
12905        feature = "cuda-11080",
12906        feature = "cuda-12000",
12907        feature = "cuda-12010",
12908        feature = "cuda-12020",
12909        feature = "cuda-12030",
12910        feature = "cuda-12040",
12911        feature = "cuda-12050",
12912        feature = "cuda-12060",
12913        feature = "cuda-12080",
12914        feature = "cuda-12090",
12915        feature = "cuda-13000"
12916    ))]
12917    pub unsafe fn cuGraphBatchMemOpNodeGetParams(
12918        hNode: CUgraphNode,
12919        nodeParams_out: *mut CUDA_BATCH_MEM_OP_NODE_PARAMS,
12920    ) -> CUresult {
12921        (culib().cuGraphBatchMemOpNodeGetParams)(hNode, nodeParams_out)
12922    }
12923    #[cfg(any(
12924        feature = "cuda-11070",
12925        feature = "cuda-11080",
12926        feature = "cuda-12000",
12927        feature = "cuda-12010",
12928        feature = "cuda-12020",
12929        feature = "cuda-12030",
12930        feature = "cuda-12040",
12931        feature = "cuda-12050",
12932        feature = "cuda-12060",
12933        feature = "cuda-12080",
12934        feature = "cuda-12090",
12935        feature = "cuda-13000"
12936    ))]
12937    pub unsafe fn cuGraphBatchMemOpNodeSetParams(
12938        hNode: CUgraphNode,
12939        nodeParams: *const CUDA_BATCH_MEM_OP_NODE_PARAMS,
12940    ) -> CUresult {
12941        (culib().cuGraphBatchMemOpNodeSetParams)(hNode, nodeParams)
12942    }
12943    pub unsafe fn cuGraphChildGraphNodeGetGraph(
12944        hNode: CUgraphNode,
12945        phGraph: *mut CUgraph,
12946    ) -> CUresult {
12947        (culib().cuGraphChildGraphNodeGetGraph)(hNode, phGraph)
12948    }
12949    pub unsafe fn cuGraphClone(phGraphClone: *mut CUgraph, originalGraph: CUgraph) -> CUresult {
12950        (culib().cuGraphClone)(phGraphClone, originalGraph)
12951    }
12952    #[cfg(any(
12953        feature = "cuda-12030",
12954        feature = "cuda-12040",
12955        feature = "cuda-12050",
12956        feature = "cuda-12060",
12957        feature = "cuda-12080",
12958        feature = "cuda-12090",
12959        feature = "cuda-13000"
12960    ))]
12961    pub unsafe fn cuGraphConditionalHandleCreate(
12962        pHandle_out: *mut CUgraphConditionalHandle,
12963        hGraph: CUgraph,
12964        ctx: CUcontext,
12965        defaultLaunchValue: ::core::ffi::c_uint,
12966        flags: ::core::ffi::c_uint,
12967    ) -> CUresult {
12968        (culib().cuGraphConditionalHandleCreate)(
12969            pHandle_out,
12970            hGraph,
12971            ctx,
12972            defaultLaunchValue,
12973            flags,
12974        )
12975    }
12976    pub unsafe fn cuGraphCreate(phGraph: *mut CUgraph, flags: ::core::ffi::c_uint) -> CUresult {
12977        (culib().cuGraphCreate)(phGraph, flags)
12978    }
12979    pub unsafe fn cuGraphDebugDotPrint(
12980        hGraph: CUgraph,
12981        path: *const ::core::ffi::c_char,
12982        flags: ::core::ffi::c_uint,
12983    ) -> CUresult {
12984        (culib().cuGraphDebugDotPrint)(hGraph, path, flags)
12985    }
12986    pub unsafe fn cuGraphDestroy(hGraph: CUgraph) -> CUresult {
12987        (culib().cuGraphDestroy)(hGraph)
12988    }
12989    pub unsafe fn cuGraphDestroyNode(hNode: CUgraphNode) -> CUresult {
12990        (culib().cuGraphDestroyNode)(hNode)
12991    }
12992    pub unsafe fn cuGraphEventRecordNodeGetEvent(
12993        hNode: CUgraphNode,
12994        event_out: *mut CUevent,
12995    ) -> CUresult {
12996        (culib().cuGraphEventRecordNodeGetEvent)(hNode, event_out)
12997    }
12998    pub unsafe fn cuGraphEventRecordNodeSetEvent(hNode: CUgraphNode, event: CUevent) -> CUresult {
12999        (culib().cuGraphEventRecordNodeSetEvent)(hNode, event)
13000    }
13001    pub unsafe fn cuGraphEventWaitNodeGetEvent(
13002        hNode: CUgraphNode,
13003        event_out: *mut CUevent,
13004    ) -> CUresult {
13005        (culib().cuGraphEventWaitNodeGetEvent)(hNode, event_out)
13006    }
13007    pub unsafe fn cuGraphEventWaitNodeSetEvent(hNode: CUgraphNode, event: CUevent) -> CUresult {
13008        (culib().cuGraphEventWaitNodeSetEvent)(hNode, event)
13009    }
13010    #[cfg(any(
13011        feature = "cuda-11070",
13012        feature = "cuda-11080",
13013        feature = "cuda-12000",
13014        feature = "cuda-12010",
13015        feature = "cuda-12020",
13016        feature = "cuda-12030",
13017        feature = "cuda-12040",
13018        feature = "cuda-12050",
13019        feature = "cuda-12060",
13020        feature = "cuda-12080",
13021        feature = "cuda-12090",
13022        feature = "cuda-13000"
13023    ))]
13024    pub unsafe fn cuGraphExecBatchMemOpNodeSetParams(
13025        hGraphExec: CUgraphExec,
13026        hNode: CUgraphNode,
13027        nodeParams: *const CUDA_BATCH_MEM_OP_NODE_PARAMS,
13028    ) -> CUresult {
13029        (culib().cuGraphExecBatchMemOpNodeSetParams)(hGraphExec, hNode, nodeParams)
13030    }
13031    pub unsafe fn cuGraphExecChildGraphNodeSetParams(
13032        hGraphExec: CUgraphExec,
13033        hNode: CUgraphNode,
13034        childGraph: CUgraph,
13035    ) -> CUresult {
13036        (culib().cuGraphExecChildGraphNodeSetParams)(hGraphExec, hNode, childGraph)
13037    }
13038    pub unsafe fn cuGraphExecDestroy(hGraphExec: CUgraphExec) -> CUresult {
13039        (culib().cuGraphExecDestroy)(hGraphExec)
13040    }
13041    pub unsafe fn cuGraphExecEventRecordNodeSetEvent(
13042        hGraphExec: CUgraphExec,
13043        hNode: CUgraphNode,
13044        event: CUevent,
13045    ) -> CUresult {
13046        (culib().cuGraphExecEventRecordNodeSetEvent)(hGraphExec, hNode, event)
13047    }
13048    pub unsafe fn cuGraphExecEventWaitNodeSetEvent(
13049        hGraphExec: CUgraphExec,
13050        hNode: CUgraphNode,
13051        event: CUevent,
13052    ) -> CUresult {
13053        (culib().cuGraphExecEventWaitNodeSetEvent)(hGraphExec, hNode, event)
13054    }
13055    pub unsafe fn cuGraphExecExternalSemaphoresSignalNodeSetParams(
13056        hGraphExec: CUgraphExec,
13057        hNode: CUgraphNode,
13058        nodeParams: *const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
13059    ) -> CUresult {
13060        (culib().cuGraphExecExternalSemaphoresSignalNodeSetParams)(hGraphExec, hNode, nodeParams)
13061    }
13062    pub unsafe fn cuGraphExecExternalSemaphoresWaitNodeSetParams(
13063        hGraphExec: CUgraphExec,
13064        hNode: CUgraphNode,
13065        nodeParams: *const CUDA_EXT_SEM_WAIT_NODE_PARAMS,
13066    ) -> CUresult {
13067        (culib().cuGraphExecExternalSemaphoresWaitNodeSetParams)(hGraphExec, hNode, nodeParams)
13068    }
13069    #[cfg(any(
13070        feature = "cuda-12000",
13071        feature = "cuda-12010",
13072        feature = "cuda-12020",
13073        feature = "cuda-12030",
13074        feature = "cuda-12040",
13075        feature = "cuda-12050",
13076        feature = "cuda-12060",
13077        feature = "cuda-12080",
13078        feature = "cuda-12090",
13079        feature = "cuda-13000"
13080    ))]
13081    pub unsafe fn cuGraphExecGetFlags(hGraphExec: CUgraphExec, flags: *mut cuuint64_t) -> CUresult {
13082        (culib().cuGraphExecGetFlags)(hGraphExec, flags)
13083    }
13084    pub unsafe fn cuGraphExecHostNodeSetParams(
13085        hGraphExec: CUgraphExec,
13086        hNode: CUgraphNode,
13087        nodeParams: *const CUDA_HOST_NODE_PARAMS,
13088    ) -> CUresult {
13089        (culib().cuGraphExecHostNodeSetParams)(hGraphExec, hNode, nodeParams)
13090    }
13091    #[cfg(any(
13092        feature = "cuda-11040",
13093        feature = "cuda-11050",
13094        feature = "cuda-11060",
13095        feature = "cuda-11070",
13096        feature = "cuda-11080"
13097    ))]
13098    pub unsafe fn cuGraphExecKernelNodeSetParams(
13099        hGraphExec: CUgraphExec,
13100        hNode: CUgraphNode,
13101        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
13102    ) -> CUresult {
13103        (culib().cuGraphExecKernelNodeSetParams)(hGraphExec, hNode, nodeParams)
13104    }
13105    #[cfg(any(
13106        feature = "cuda-12000",
13107        feature = "cuda-12010",
13108        feature = "cuda-12020",
13109        feature = "cuda-12030",
13110        feature = "cuda-12040",
13111        feature = "cuda-12050",
13112        feature = "cuda-12060",
13113        feature = "cuda-12080",
13114        feature = "cuda-12090",
13115        feature = "cuda-13000"
13116    ))]
13117    pub unsafe fn cuGraphExecKernelNodeSetParams_v2(
13118        hGraphExec: CUgraphExec,
13119        hNode: CUgraphNode,
13120        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
13121    ) -> CUresult {
13122        (culib().cuGraphExecKernelNodeSetParams_v2)(hGraphExec, hNode, nodeParams)
13123    }
13124    pub unsafe fn cuGraphExecMemcpyNodeSetParams(
13125        hGraphExec: CUgraphExec,
13126        hNode: CUgraphNode,
13127        copyParams: *const CUDA_MEMCPY3D,
13128        ctx: CUcontext,
13129    ) -> CUresult {
13130        (culib().cuGraphExecMemcpyNodeSetParams)(hGraphExec, hNode, copyParams, ctx)
13131    }
13132    pub unsafe fn cuGraphExecMemsetNodeSetParams(
13133        hGraphExec: CUgraphExec,
13134        hNode: CUgraphNode,
13135        memsetParams: *const CUDA_MEMSET_NODE_PARAMS,
13136        ctx: CUcontext,
13137    ) -> CUresult {
13138        (culib().cuGraphExecMemsetNodeSetParams)(hGraphExec, hNode, memsetParams, ctx)
13139    }
13140    #[cfg(any(
13141        feature = "cuda-12020",
13142        feature = "cuda-12030",
13143        feature = "cuda-12040",
13144        feature = "cuda-12050",
13145        feature = "cuda-12060",
13146        feature = "cuda-12080",
13147        feature = "cuda-12090",
13148        feature = "cuda-13000"
13149    ))]
13150    pub unsafe fn cuGraphExecNodeSetParams(
13151        hGraphExec: CUgraphExec,
13152        hNode: CUgraphNode,
13153        nodeParams: *mut CUgraphNodeParams,
13154    ) -> CUresult {
13155        (culib().cuGraphExecNodeSetParams)(hGraphExec, hNode, nodeParams)
13156    }
13157    #[cfg(any(
13158        feature = "cuda-11040",
13159        feature = "cuda-11050",
13160        feature = "cuda-11060",
13161        feature = "cuda-11070",
13162        feature = "cuda-11080"
13163    ))]
13164    pub unsafe fn cuGraphExecUpdate(
13165        hGraphExec: CUgraphExec,
13166        hGraph: CUgraph,
13167        hErrorNode_out: *mut CUgraphNode,
13168        updateResult_out: *mut CUgraphExecUpdateResult,
13169    ) -> CUresult {
13170        (culib().cuGraphExecUpdate)(hGraphExec, hGraph, hErrorNode_out, updateResult_out)
13171    }
13172    #[cfg(any(
13173        feature = "cuda-12000",
13174        feature = "cuda-12010",
13175        feature = "cuda-12020",
13176        feature = "cuda-12030",
13177        feature = "cuda-12040",
13178        feature = "cuda-12050",
13179        feature = "cuda-12060",
13180        feature = "cuda-12080",
13181        feature = "cuda-12090",
13182        feature = "cuda-13000"
13183    ))]
13184    pub unsafe fn cuGraphExecUpdate_v2(
13185        hGraphExec: CUgraphExec,
13186        hGraph: CUgraph,
13187        resultInfo: *mut CUgraphExecUpdateResultInfo,
13188    ) -> CUresult {
13189        (culib().cuGraphExecUpdate_v2)(hGraphExec, hGraph, resultInfo)
13190    }
13191    pub unsafe fn cuGraphExternalSemaphoresSignalNodeGetParams(
13192        hNode: CUgraphNode,
13193        params_out: *mut CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
13194    ) -> CUresult {
13195        (culib().cuGraphExternalSemaphoresSignalNodeGetParams)(hNode, params_out)
13196    }
13197    pub unsafe fn cuGraphExternalSemaphoresSignalNodeSetParams(
13198        hNode: CUgraphNode,
13199        nodeParams: *const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
13200    ) -> CUresult {
13201        (culib().cuGraphExternalSemaphoresSignalNodeSetParams)(hNode, nodeParams)
13202    }
13203    pub unsafe fn cuGraphExternalSemaphoresWaitNodeGetParams(
13204        hNode: CUgraphNode,
13205        params_out: *mut CUDA_EXT_SEM_WAIT_NODE_PARAMS,
13206    ) -> CUresult {
13207        (culib().cuGraphExternalSemaphoresWaitNodeGetParams)(hNode, params_out)
13208    }
13209    pub unsafe fn cuGraphExternalSemaphoresWaitNodeSetParams(
13210        hNode: CUgraphNode,
13211        nodeParams: *const CUDA_EXT_SEM_WAIT_NODE_PARAMS,
13212    ) -> CUresult {
13213        (culib().cuGraphExternalSemaphoresWaitNodeSetParams)(hNode, nodeParams)
13214    }
13215    #[cfg(any(
13216        feature = "cuda-11040",
13217        feature = "cuda-11050",
13218        feature = "cuda-11060",
13219        feature = "cuda-11070",
13220        feature = "cuda-11080",
13221        feature = "cuda-12000",
13222        feature = "cuda-12010",
13223        feature = "cuda-12020",
13224        feature = "cuda-12030",
13225        feature = "cuda-12040",
13226        feature = "cuda-12050",
13227        feature = "cuda-12060",
13228        feature = "cuda-12080",
13229        feature = "cuda-12090"
13230    ))]
13231    pub unsafe fn cuGraphGetEdges(
13232        hGraph: CUgraph,
13233        from: *mut CUgraphNode,
13234        to: *mut CUgraphNode,
13235        numEdges: *mut usize,
13236    ) -> CUresult {
13237        (culib().cuGraphGetEdges)(hGraph, from, to, numEdges)
13238    }
13239    #[cfg(any(
13240        feature = "cuda-12030",
13241        feature = "cuda-12040",
13242        feature = "cuda-12050",
13243        feature = "cuda-12060",
13244        feature = "cuda-12080",
13245        feature = "cuda-12090",
13246        feature = "cuda-13000"
13247    ))]
13248    pub unsafe fn cuGraphGetEdges_v2(
13249        hGraph: CUgraph,
13250        from: *mut CUgraphNode,
13251        to: *mut CUgraphNode,
13252        edgeData: *mut CUgraphEdgeData,
13253        numEdges: *mut usize,
13254    ) -> CUresult {
13255        (culib().cuGraphGetEdges_v2)(hGraph, from, to, edgeData, numEdges)
13256    }
13257    pub unsafe fn cuGraphGetNodes(
13258        hGraph: CUgraph,
13259        nodes: *mut CUgraphNode,
13260        numNodes: *mut usize,
13261    ) -> CUresult {
13262        (culib().cuGraphGetNodes)(hGraph, nodes, numNodes)
13263    }
13264    pub unsafe fn cuGraphGetRootNodes(
13265        hGraph: CUgraph,
13266        rootNodes: *mut CUgraphNode,
13267        numRootNodes: *mut usize,
13268    ) -> CUresult {
13269        (culib().cuGraphGetRootNodes)(hGraph, rootNodes, numRootNodes)
13270    }
13271    pub unsafe fn cuGraphHostNodeGetParams(
13272        hNode: CUgraphNode,
13273        nodeParams: *mut CUDA_HOST_NODE_PARAMS,
13274    ) -> CUresult {
13275        (culib().cuGraphHostNodeGetParams)(hNode, nodeParams)
13276    }
13277    pub unsafe fn cuGraphHostNodeSetParams(
13278        hNode: CUgraphNode,
13279        nodeParams: *const CUDA_HOST_NODE_PARAMS,
13280    ) -> CUresult {
13281        (culib().cuGraphHostNodeSetParams)(hNode, nodeParams)
13282    }
13283    pub unsafe fn cuGraphInstantiateWithFlags(
13284        phGraphExec: *mut CUgraphExec,
13285        hGraph: CUgraph,
13286        flags: ::core::ffi::c_ulonglong,
13287    ) -> CUresult {
13288        (culib().cuGraphInstantiateWithFlags)(phGraphExec, hGraph, flags)
13289    }
13290    #[cfg(any(
13291        feature = "cuda-12000",
13292        feature = "cuda-12010",
13293        feature = "cuda-12020",
13294        feature = "cuda-12030",
13295        feature = "cuda-12040",
13296        feature = "cuda-12050",
13297        feature = "cuda-12060",
13298        feature = "cuda-12080",
13299        feature = "cuda-12090",
13300        feature = "cuda-13000"
13301    ))]
13302    pub unsafe fn cuGraphInstantiateWithParams(
13303        phGraphExec: *mut CUgraphExec,
13304        hGraph: CUgraph,
13305        instantiateParams: *mut CUDA_GRAPH_INSTANTIATE_PARAMS,
13306    ) -> CUresult {
13307        (culib().cuGraphInstantiateWithParams)(phGraphExec, hGraph, instantiateParams)
13308    }
13309    #[cfg(any(
13310        feature = "cuda-11040",
13311        feature = "cuda-11050",
13312        feature = "cuda-11060",
13313        feature = "cuda-11070",
13314        feature = "cuda-11080"
13315    ))]
13316    pub unsafe fn cuGraphInstantiate_v2(
13317        phGraphExec: *mut CUgraphExec,
13318        hGraph: CUgraph,
13319        phErrorNode: *mut CUgraphNode,
13320        logBuffer: *mut ::core::ffi::c_char,
13321        bufferSize: usize,
13322    ) -> CUresult {
13323        (culib().cuGraphInstantiate_v2)(phGraphExec, hGraph, phErrorNode, logBuffer, bufferSize)
13324    }
13325    pub unsafe fn cuGraphKernelNodeCopyAttributes(dst: CUgraphNode, src: CUgraphNode) -> CUresult {
13326        (culib().cuGraphKernelNodeCopyAttributes)(dst, src)
13327    }
13328    pub unsafe fn cuGraphKernelNodeGetAttribute(
13329        hNode: CUgraphNode,
13330        attr: CUkernelNodeAttrID,
13331        value_out: *mut CUkernelNodeAttrValue,
13332    ) -> CUresult {
13333        (culib().cuGraphKernelNodeGetAttribute)(hNode, attr, value_out)
13334    }
13335    #[cfg(any(
13336        feature = "cuda-11040",
13337        feature = "cuda-11050",
13338        feature = "cuda-11060",
13339        feature = "cuda-11070",
13340        feature = "cuda-11080"
13341    ))]
13342    pub unsafe fn cuGraphKernelNodeGetParams(
13343        hNode: CUgraphNode,
13344        nodeParams: *mut CUDA_KERNEL_NODE_PARAMS,
13345    ) -> CUresult {
13346        (culib().cuGraphKernelNodeGetParams)(hNode, nodeParams)
13347    }
13348    #[cfg(any(
13349        feature = "cuda-12000",
13350        feature = "cuda-12010",
13351        feature = "cuda-12020",
13352        feature = "cuda-12030",
13353        feature = "cuda-12040",
13354        feature = "cuda-12050",
13355        feature = "cuda-12060",
13356        feature = "cuda-12080",
13357        feature = "cuda-12090",
13358        feature = "cuda-13000"
13359    ))]
13360    pub unsafe fn cuGraphKernelNodeGetParams_v2(
13361        hNode: CUgraphNode,
13362        nodeParams: *mut CUDA_KERNEL_NODE_PARAMS,
13363    ) -> CUresult {
13364        (culib().cuGraphKernelNodeGetParams_v2)(hNode, nodeParams)
13365    }
13366    pub unsafe fn cuGraphKernelNodeSetAttribute(
13367        hNode: CUgraphNode,
13368        attr: CUkernelNodeAttrID,
13369        value: *const CUkernelNodeAttrValue,
13370    ) -> CUresult {
13371        (culib().cuGraphKernelNodeSetAttribute)(hNode, attr, value)
13372    }
13373    #[cfg(any(
13374        feature = "cuda-11040",
13375        feature = "cuda-11050",
13376        feature = "cuda-11060",
13377        feature = "cuda-11070",
13378        feature = "cuda-11080"
13379    ))]
13380    pub unsafe fn cuGraphKernelNodeSetParams(
13381        hNode: CUgraphNode,
13382        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
13383    ) -> CUresult {
13384        (culib().cuGraphKernelNodeSetParams)(hNode, nodeParams)
13385    }
13386    #[cfg(any(
13387        feature = "cuda-12000",
13388        feature = "cuda-12010",
13389        feature = "cuda-12020",
13390        feature = "cuda-12030",
13391        feature = "cuda-12040",
13392        feature = "cuda-12050",
13393        feature = "cuda-12060",
13394        feature = "cuda-12080",
13395        feature = "cuda-12090",
13396        feature = "cuda-13000"
13397    ))]
13398    pub unsafe fn cuGraphKernelNodeSetParams_v2(
13399        hNode: CUgraphNode,
13400        nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
13401    ) -> CUresult {
13402        (culib().cuGraphKernelNodeSetParams_v2)(hNode, nodeParams)
13403    }
13404    pub unsafe fn cuGraphLaunch(hGraphExec: CUgraphExec, hStream: CUstream) -> CUresult {
13405        (culib().cuGraphLaunch)(hGraphExec, hStream)
13406    }
13407    pub unsafe fn cuGraphMemAllocNodeGetParams(
13408        hNode: CUgraphNode,
13409        params_out: *mut CUDA_MEM_ALLOC_NODE_PARAMS,
13410    ) -> CUresult {
13411        (culib().cuGraphMemAllocNodeGetParams)(hNode, params_out)
13412    }
13413    pub unsafe fn cuGraphMemFreeNodeGetParams(
13414        hNode: CUgraphNode,
13415        dptr_out: *mut CUdeviceptr,
13416    ) -> CUresult {
13417        (culib().cuGraphMemFreeNodeGetParams)(hNode, dptr_out)
13418    }
13419    pub unsafe fn cuGraphMemcpyNodeGetParams(
13420        hNode: CUgraphNode,
13421        nodeParams: *mut CUDA_MEMCPY3D,
13422    ) -> CUresult {
13423        (culib().cuGraphMemcpyNodeGetParams)(hNode, nodeParams)
13424    }
13425    pub unsafe fn cuGraphMemcpyNodeSetParams(
13426        hNode: CUgraphNode,
13427        nodeParams: *const CUDA_MEMCPY3D,
13428    ) -> CUresult {
13429        (culib().cuGraphMemcpyNodeSetParams)(hNode, nodeParams)
13430    }
13431    pub unsafe fn cuGraphMemsetNodeGetParams(
13432        hNode: CUgraphNode,
13433        nodeParams: *mut CUDA_MEMSET_NODE_PARAMS,
13434    ) -> CUresult {
13435        (culib().cuGraphMemsetNodeGetParams)(hNode, nodeParams)
13436    }
13437    pub unsafe fn cuGraphMemsetNodeSetParams(
13438        hNode: CUgraphNode,
13439        nodeParams: *const CUDA_MEMSET_NODE_PARAMS,
13440    ) -> CUresult {
13441        (culib().cuGraphMemsetNodeSetParams)(hNode, nodeParams)
13442    }
13443    pub unsafe fn cuGraphNodeFindInClone(
13444        phNode: *mut CUgraphNode,
13445        hOriginalNode: CUgraphNode,
13446        hClonedGraph: CUgraph,
13447    ) -> CUresult {
13448        (culib().cuGraphNodeFindInClone)(phNode, hOriginalNode, hClonedGraph)
13449    }
13450    #[cfg(any(
13451        feature = "cuda-11040",
13452        feature = "cuda-11050",
13453        feature = "cuda-11060",
13454        feature = "cuda-11070",
13455        feature = "cuda-11080",
13456        feature = "cuda-12000",
13457        feature = "cuda-12010",
13458        feature = "cuda-12020",
13459        feature = "cuda-12030",
13460        feature = "cuda-12040",
13461        feature = "cuda-12050",
13462        feature = "cuda-12060",
13463        feature = "cuda-12080",
13464        feature = "cuda-12090"
13465    ))]
13466    pub unsafe fn cuGraphNodeGetDependencies(
13467        hNode: CUgraphNode,
13468        dependencies: *mut CUgraphNode,
13469        numDependencies: *mut usize,
13470    ) -> CUresult {
13471        (culib().cuGraphNodeGetDependencies)(hNode, dependencies, numDependencies)
13472    }
13473    #[cfg(any(
13474        feature = "cuda-12030",
13475        feature = "cuda-12040",
13476        feature = "cuda-12050",
13477        feature = "cuda-12060",
13478        feature = "cuda-12080",
13479        feature = "cuda-12090",
13480        feature = "cuda-13000"
13481    ))]
13482    pub unsafe fn cuGraphNodeGetDependencies_v2(
13483        hNode: CUgraphNode,
13484        dependencies: *mut CUgraphNode,
13485        edgeData: *mut CUgraphEdgeData,
13486        numDependencies: *mut usize,
13487    ) -> CUresult {
13488        (culib().cuGraphNodeGetDependencies_v2)(hNode, dependencies, edgeData, numDependencies)
13489    }
13490    #[cfg(any(
13491        feature = "cuda-11040",
13492        feature = "cuda-11050",
13493        feature = "cuda-11060",
13494        feature = "cuda-11070",
13495        feature = "cuda-11080",
13496        feature = "cuda-12000",
13497        feature = "cuda-12010",
13498        feature = "cuda-12020",
13499        feature = "cuda-12030",
13500        feature = "cuda-12040",
13501        feature = "cuda-12050",
13502        feature = "cuda-12060",
13503        feature = "cuda-12080",
13504        feature = "cuda-12090"
13505    ))]
13506    pub unsafe fn cuGraphNodeGetDependentNodes(
13507        hNode: CUgraphNode,
13508        dependentNodes: *mut CUgraphNode,
13509        numDependentNodes: *mut usize,
13510    ) -> CUresult {
13511        (culib().cuGraphNodeGetDependentNodes)(hNode, dependentNodes, numDependentNodes)
13512    }
13513    #[cfg(any(
13514        feature = "cuda-12030",
13515        feature = "cuda-12040",
13516        feature = "cuda-12050",
13517        feature = "cuda-12060",
13518        feature = "cuda-12080",
13519        feature = "cuda-12090",
13520        feature = "cuda-13000"
13521    ))]
13522    pub unsafe fn cuGraphNodeGetDependentNodes_v2(
13523        hNode: CUgraphNode,
13524        dependentNodes: *mut CUgraphNode,
13525        edgeData: *mut CUgraphEdgeData,
13526        numDependentNodes: *mut usize,
13527    ) -> CUresult {
13528        (culib().cuGraphNodeGetDependentNodes_v2)(
13529            hNode,
13530            dependentNodes,
13531            edgeData,
13532            numDependentNodes,
13533        )
13534    }
13535    #[cfg(any(
13536        feature = "cuda-11060",
13537        feature = "cuda-11070",
13538        feature = "cuda-11080",
13539        feature = "cuda-12000",
13540        feature = "cuda-12010",
13541        feature = "cuda-12020",
13542        feature = "cuda-12030",
13543        feature = "cuda-12040",
13544        feature = "cuda-12050",
13545        feature = "cuda-12060",
13546        feature = "cuda-12080",
13547        feature = "cuda-12090",
13548        feature = "cuda-13000"
13549    ))]
13550    pub unsafe fn cuGraphNodeGetEnabled(
13551        hGraphExec: CUgraphExec,
13552        hNode: CUgraphNode,
13553        isEnabled: *mut ::core::ffi::c_uint,
13554    ) -> CUresult {
13555        (culib().cuGraphNodeGetEnabled)(hGraphExec, hNode, isEnabled)
13556    }
13557    pub unsafe fn cuGraphNodeGetType(hNode: CUgraphNode, type_: *mut CUgraphNodeType) -> CUresult {
13558        (culib().cuGraphNodeGetType)(hNode, type_)
13559    }
13560    #[cfg(any(
13561        feature = "cuda-11060",
13562        feature = "cuda-11070",
13563        feature = "cuda-11080",
13564        feature = "cuda-12000",
13565        feature = "cuda-12010",
13566        feature = "cuda-12020",
13567        feature = "cuda-12030",
13568        feature = "cuda-12040",
13569        feature = "cuda-12050",
13570        feature = "cuda-12060",
13571        feature = "cuda-12080",
13572        feature = "cuda-12090",
13573        feature = "cuda-13000"
13574    ))]
13575    pub unsafe fn cuGraphNodeSetEnabled(
13576        hGraphExec: CUgraphExec,
13577        hNode: CUgraphNode,
13578        isEnabled: ::core::ffi::c_uint,
13579    ) -> CUresult {
13580        (culib().cuGraphNodeSetEnabled)(hGraphExec, hNode, isEnabled)
13581    }
13582    #[cfg(any(
13583        feature = "cuda-12020",
13584        feature = "cuda-12030",
13585        feature = "cuda-12040",
13586        feature = "cuda-12050",
13587        feature = "cuda-12060",
13588        feature = "cuda-12080",
13589        feature = "cuda-12090",
13590        feature = "cuda-13000"
13591    ))]
13592    pub unsafe fn cuGraphNodeSetParams(
13593        hNode: CUgraphNode,
13594        nodeParams: *mut CUgraphNodeParams,
13595    ) -> CUresult {
13596        (culib().cuGraphNodeSetParams)(hNode, nodeParams)
13597    }
13598    pub unsafe fn cuGraphReleaseUserObject(
13599        graph: CUgraph,
13600        object: CUuserObject,
13601        count: ::core::ffi::c_uint,
13602    ) -> CUresult {
13603        (culib().cuGraphReleaseUserObject)(graph, object, count)
13604    }
13605    #[cfg(any(
13606        feature = "cuda-11040",
13607        feature = "cuda-11050",
13608        feature = "cuda-11060",
13609        feature = "cuda-11070",
13610        feature = "cuda-11080",
13611        feature = "cuda-12000",
13612        feature = "cuda-12010",
13613        feature = "cuda-12020",
13614        feature = "cuda-12030",
13615        feature = "cuda-12040",
13616        feature = "cuda-12050",
13617        feature = "cuda-12060",
13618        feature = "cuda-12080",
13619        feature = "cuda-12090"
13620    ))]
13621    pub unsafe fn cuGraphRemoveDependencies(
13622        hGraph: CUgraph,
13623        from: *const CUgraphNode,
13624        to: *const CUgraphNode,
13625        numDependencies: usize,
13626    ) -> CUresult {
13627        (culib().cuGraphRemoveDependencies)(hGraph, from, to, numDependencies)
13628    }
13629    #[cfg(any(
13630        feature = "cuda-12030",
13631        feature = "cuda-12040",
13632        feature = "cuda-12050",
13633        feature = "cuda-12060",
13634        feature = "cuda-12080",
13635        feature = "cuda-12090",
13636        feature = "cuda-13000"
13637    ))]
13638    pub unsafe fn cuGraphRemoveDependencies_v2(
13639        hGraph: CUgraph,
13640        from: *const CUgraphNode,
13641        to: *const CUgraphNode,
13642        edgeData: *const CUgraphEdgeData,
13643        numDependencies: usize,
13644    ) -> CUresult {
13645        (culib().cuGraphRemoveDependencies_v2)(hGraph, from, to, edgeData, numDependencies)
13646    }
13647    pub unsafe fn cuGraphRetainUserObject(
13648        graph: CUgraph,
13649        object: CUuserObject,
13650        count: ::core::ffi::c_uint,
13651        flags: ::core::ffi::c_uint,
13652    ) -> CUresult {
13653        (culib().cuGraphRetainUserObject)(graph, object, count, flags)
13654    }
13655    pub unsafe fn cuGraphUpload(hGraphExec: CUgraphExec, hStream: CUstream) -> CUresult {
13656        (culib().cuGraphUpload)(hGraphExec, hStream)
13657    }
13658    pub unsafe fn cuGraphicsMapResources(
13659        count: ::core::ffi::c_uint,
13660        resources: *mut CUgraphicsResource,
13661        hStream: CUstream,
13662    ) -> CUresult {
13663        (culib().cuGraphicsMapResources)(count, resources, hStream)
13664    }
13665    pub unsafe fn cuGraphicsResourceGetMappedMipmappedArray(
13666        pMipmappedArray: *mut CUmipmappedArray,
13667        resource: CUgraphicsResource,
13668    ) -> CUresult {
13669        (culib().cuGraphicsResourceGetMappedMipmappedArray)(pMipmappedArray, resource)
13670    }
13671    pub unsafe fn cuGraphicsResourceGetMappedPointer_v2(
13672        pDevPtr: *mut CUdeviceptr,
13673        pSize: *mut usize,
13674        resource: CUgraphicsResource,
13675    ) -> CUresult {
13676        (culib().cuGraphicsResourceGetMappedPointer_v2)(pDevPtr, pSize, resource)
13677    }
13678    pub unsafe fn cuGraphicsResourceSetMapFlags_v2(
13679        resource: CUgraphicsResource,
13680        flags: ::core::ffi::c_uint,
13681    ) -> CUresult {
13682        (culib().cuGraphicsResourceSetMapFlags_v2)(resource, flags)
13683    }
13684    pub unsafe fn cuGraphicsSubResourceGetMappedArray(
13685        pArray: *mut CUarray,
13686        resource: CUgraphicsResource,
13687        arrayIndex: ::core::ffi::c_uint,
13688        mipLevel: ::core::ffi::c_uint,
13689    ) -> CUresult {
13690        (culib().cuGraphicsSubResourceGetMappedArray)(pArray, resource, arrayIndex, mipLevel)
13691    }
13692    pub unsafe fn cuGraphicsUnmapResources(
13693        count: ::core::ffi::c_uint,
13694        resources: *mut CUgraphicsResource,
13695        hStream: CUstream,
13696    ) -> CUresult {
13697        (culib().cuGraphicsUnmapResources)(count, resources, hStream)
13698    }
13699    pub unsafe fn cuGraphicsUnregisterResource(resource: CUgraphicsResource) -> CUresult {
13700        (culib().cuGraphicsUnregisterResource)(resource)
13701    }
13702    #[cfg(any(
13703        feature = "cuda-12040",
13704        feature = "cuda-12050",
13705        feature = "cuda-12060",
13706        feature = "cuda-12080",
13707        feature = "cuda-12090",
13708        feature = "cuda-13000"
13709    ))]
13710    pub unsafe fn cuGreenCtxCreate(
13711        phCtx: *mut CUgreenCtx,
13712        desc: CUdevResourceDesc,
13713        dev: CUdevice,
13714        flags: ::core::ffi::c_uint,
13715    ) -> CUresult {
13716        (culib().cuGreenCtxCreate)(phCtx, desc, dev, flags)
13717    }
13718    #[cfg(any(
13719        feature = "cuda-12040",
13720        feature = "cuda-12050",
13721        feature = "cuda-12060",
13722        feature = "cuda-12080",
13723        feature = "cuda-12090",
13724        feature = "cuda-13000"
13725    ))]
13726    pub unsafe fn cuGreenCtxDestroy(hCtx: CUgreenCtx) -> CUresult {
13727        (culib().cuGreenCtxDestroy)(hCtx)
13728    }
13729    #[cfg(any(
13730        feature = "cuda-12040",
13731        feature = "cuda-12050",
13732        feature = "cuda-12060",
13733        feature = "cuda-12080",
13734        feature = "cuda-12090",
13735        feature = "cuda-13000"
13736    ))]
13737    pub unsafe fn cuGreenCtxGetDevResource(
13738        hCtx: CUgreenCtx,
13739        resource: *mut CUdevResource,
13740        type_: CUdevResourceType,
13741    ) -> CUresult {
13742        (culib().cuGreenCtxGetDevResource)(hCtx, resource, type_)
13743    }
13744    #[cfg(any(feature = "cuda-13000"))]
13745    pub unsafe fn cuGreenCtxGetId(
13746        greenCtx: CUgreenCtx,
13747        greenCtxId: *mut ::core::ffi::c_ulonglong,
13748    ) -> CUresult {
13749        (culib().cuGreenCtxGetId)(greenCtx, greenCtxId)
13750    }
13751    #[cfg(any(
13752        feature = "cuda-12040",
13753        feature = "cuda-12050",
13754        feature = "cuda-12060",
13755        feature = "cuda-12080",
13756        feature = "cuda-12090",
13757        feature = "cuda-13000"
13758    ))]
13759    pub unsafe fn cuGreenCtxRecordEvent(hCtx: CUgreenCtx, hEvent: CUevent) -> CUresult {
13760        (culib().cuGreenCtxRecordEvent)(hCtx, hEvent)
13761    }
13762    #[cfg(any(
13763        feature = "cuda-12050",
13764        feature = "cuda-12060",
13765        feature = "cuda-12080",
13766        feature = "cuda-12090",
13767        feature = "cuda-13000"
13768    ))]
13769    pub unsafe fn cuGreenCtxStreamCreate(
13770        phStream: *mut CUstream,
13771        greenCtx: CUgreenCtx,
13772        flags: ::core::ffi::c_uint,
13773        priority: ::core::ffi::c_int,
13774    ) -> CUresult {
13775        (culib().cuGreenCtxStreamCreate)(phStream, greenCtx, flags, priority)
13776    }
13777    #[cfg(any(
13778        feature = "cuda-12040",
13779        feature = "cuda-12050",
13780        feature = "cuda-12060",
13781        feature = "cuda-12080",
13782        feature = "cuda-12090",
13783        feature = "cuda-13000"
13784    ))]
13785    pub unsafe fn cuGreenCtxWaitEvent(hCtx: CUgreenCtx, hEvent: CUevent) -> CUresult {
13786        (culib().cuGreenCtxWaitEvent)(hCtx, hEvent)
13787    }
13788    pub unsafe fn cuImportExternalMemory(
13789        extMem_out: *mut CUexternalMemory,
13790        memHandleDesc: *const CUDA_EXTERNAL_MEMORY_HANDLE_DESC,
13791    ) -> CUresult {
13792        (culib().cuImportExternalMemory)(extMem_out, memHandleDesc)
13793    }
13794    pub unsafe fn cuImportExternalSemaphore(
13795        extSem_out: *mut CUexternalSemaphore,
13796        semHandleDesc: *const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC,
13797    ) -> CUresult {
13798        (culib().cuImportExternalSemaphore)(extSem_out, semHandleDesc)
13799    }
13800    pub unsafe fn cuInit(Flags: ::core::ffi::c_uint) -> CUresult {
13801        (culib().cuInit)(Flags)
13802    }
13803    pub unsafe fn cuIpcCloseMemHandle(dptr: CUdeviceptr) -> CUresult {
13804        (culib().cuIpcCloseMemHandle)(dptr)
13805    }
13806    pub unsafe fn cuIpcGetEventHandle(pHandle: *mut CUipcEventHandle, event: CUevent) -> CUresult {
13807        (culib().cuIpcGetEventHandle)(pHandle, event)
13808    }
13809    pub unsafe fn cuIpcGetMemHandle(pHandle: *mut CUipcMemHandle, dptr: CUdeviceptr) -> CUresult {
13810        (culib().cuIpcGetMemHandle)(pHandle, dptr)
13811    }
13812    pub unsafe fn cuIpcOpenEventHandle(
13813        phEvent: *mut CUevent,
13814        handle: CUipcEventHandle,
13815    ) -> CUresult {
13816        (culib().cuIpcOpenEventHandle)(phEvent, handle)
13817    }
13818    pub unsafe fn cuIpcOpenMemHandle_v2(
13819        pdptr: *mut CUdeviceptr,
13820        handle: CUipcMemHandle,
13821        Flags: ::core::ffi::c_uint,
13822    ) -> CUresult {
13823        (culib().cuIpcOpenMemHandle_v2)(pdptr, handle, Flags)
13824    }
13825    #[cfg(any(
13826        feature = "cuda-12000",
13827        feature = "cuda-12010",
13828        feature = "cuda-12020",
13829        feature = "cuda-12030",
13830        feature = "cuda-12040",
13831        feature = "cuda-12050",
13832        feature = "cuda-12060",
13833        feature = "cuda-12080",
13834        feature = "cuda-12090",
13835        feature = "cuda-13000"
13836    ))]
13837    pub unsafe fn cuKernelGetAttribute(
13838        pi: *mut ::core::ffi::c_int,
13839        attrib: CUfunction_attribute,
13840        kernel: CUkernel,
13841        dev: CUdevice,
13842    ) -> CUresult {
13843        (culib().cuKernelGetAttribute)(pi, attrib, kernel, dev)
13844    }
13845    #[cfg(any(
13846        feature = "cuda-12000",
13847        feature = "cuda-12010",
13848        feature = "cuda-12020",
13849        feature = "cuda-12030",
13850        feature = "cuda-12040",
13851        feature = "cuda-12050",
13852        feature = "cuda-12060",
13853        feature = "cuda-12080",
13854        feature = "cuda-12090",
13855        feature = "cuda-13000"
13856    ))]
13857    pub unsafe fn cuKernelGetFunction(pFunc: *mut CUfunction, kernel: CUkernel) -> CUresult {
13858        (culib().cuKernelGetFunction)(pFunc, kernel)
13859    }
13860    #[cfg(any(
13861        feature = "cuda-12050",
13862        feature = "cuda-12060",
13863        feature = "cuda-12080",
13864        feature = "cuda-12090",
13865        feature = "cuda-13000"
13866    ))]
13867    pub unsafe fn cuKernelGetLibrary(pLib: *mut CUlibrary, kernel: CUkernel) -> CUresult {
13868        (culib().cuKernelGetLibrary)(pLib, kernel)
13869    }
13870    #[cfg(any(
13871        feature = "cuda-12030",
13872        feature = "cuda-12040",
13873        feature = "cuda-12050",
13874        feature = "cuda-12060",
13875        feature = "cuda-12080",
13876        feature = "cuda-12090",
13877        feature = "cuda-13000"
13878    ))]
13879    pub unsafe fn cuKernelGetName(
13880        name: *mut *const ::core::ffi::c_char,
13881        hfunc: CUkernel,
13882    ) -> CUresult {
13883        (culib().cuKernelGetName)(name, hfunc)
13884    }
13885    #[cfg(any(
13886        feature = "cuda-12040",
13887        feature = "cuda-12050",
13888        feature = "cuda-12060",
13889        feature = "cuda-12080",
13890        feature = "cuda-12090",
13891        feature = "cuda-13000"
13892    ))]
13893    pub unsafe fn cuKernelGetParamInfo(
13894        kernel: CUkernel,
13895        paramIndex: usize,
13896        paramOffset: *mut usize,
13897        paramSize: *mut usize,
13898    ) -> CUresult {
13899        (culib().cuKernelGetParamInfo)(kernel, paramIndex, paramOffset, paramSize)
13900    }
13901    #[cfg(any(
13902        feature = "cuda-12000",
13903        feature = "cuda-12010",
13904        feature = "cuda-12020",
13905        feature = "cuda-12030",
13906        feature = "cuda-12040",
13907        feature = "cuda-12050",
13908        feature = "cuda-12060",
13909        feature = "cuda-12080",
13910        feature = "cuda-12090",
13911        feature = "cuda-13000"
13912    ))]
13913    pub unsafe fn cuKernelSetAttribute(
13914        attrib: CUfunction_attribute,
13915        val: ::core::ffi::c_int,
13916        kernel: CUkernel,
13917        dev: CUdevice,
13918    ) -> CUresult {
13919        (culib().cuKernelSetAttribute)(attrib, val, kernel, dev)
13920    }
13921    #[cfg(any(
13922        feature = "cuda-12000",
13923        feature = "cuda-12010",
13924        feature = "cuda-12020",
13925        feature = "cuda-12030",
13926        feature = "cuda-12040",
13927        feature = "cuda-12050",
13928        feature = "cuda-12060",
13929        feature = "cuda-12080",
13930        feature = "cuda-12090",
13931        feature = "cuda-13000"
13932    ))]
13933    pub unsafe fn cuKernelSetCacheConfig(
13934        kernel: CUkernel,
13935        config: CUfunc_cache,
13936        dev: CUdevice,
13937    ) -> CUresult {
13938        (culib().cuKernelSetCacheConfig)(kernel, config, dev)
13939    }
13940    pub unsafe fn cuLaunch(f: CUfunction) -> CUresult {
13941        (culib().cuLaunch)(f)
13942    }
13943    pub unsafe fn cuLaunchCooperativeKernel(
13944        f: CUfunction,
13945        gridDimX: ::core::ffi::c_uint,
13946        gridDimY: ::core::ffi::c_uint,
13947        gridDimZ: ::core::ffi::c_uint,
13948        blockDimX: ::core::ffi::c_uint,
13949        blockDimY: ::core::ffi::c_uint,
13950        blockDimZ: ::core::ffi::c_uint,
13951        sharedMemBytes: ::core::ffi::c_uint,
13952        hStream: CUstream,
13953        kernelParams: *mut *mut ::core::ffi::c_void,
13954    ) -> CUresult {
13955        (culib().cuLaunchCooperativeKernel)(
13956            f,
13957            gridDimX,
13958            gridDimY,
13959            gridDimZ,
13960            blockDimX,
13961            blockDimY,
13962            blockDimZ,
13963            sharedMemBytes,
13964            hStream,
13965            kernelParams,
13966        )
13967    }
13968    pub unsafe fn cuLaunchCooperativeKernelMultiDevice(
13969        launchParamsList: *mut CUDA_LAUNCH_PARAMS,
13970        numDevices: ::core::ffi::c_uint,
13971        flags: ::core::ffi::c_uint,
13972    ) -> CUresult {
13973        (culib().cuLaunchCooperativeKernelMultiDevice)(launchParamsList, numDevices, flags)
13974    }
13975    pub unsafe fn cuLaunchGrid(
13976        f: CUfunction,
13977        grid_width: ::core::ffi::c_int,
13978        grid_height: ::core::ffi::c_int,
13979    ) -> CUresult {
13980        (culib().cuLaunchGrid)(f, grid_width, grid_height)
13981    }
13982    pub unsafe fn cuLaunchGridAsync(
13983        f: CUfunction,
13984        grid_width: ::core::ffi::c_int,
13985        grid_height: ::core::ffi::c_int,
13986        hStream: CUstream,
13987    ) -> CUresult {
13988        (culib().cuLaunchGridAsync)(f, grid_width, grid_height, hStream)
13989    }
13990    pub unsafe fn cuLaunchHostFunc(
13991        hStream: CUstream,
13992        fn_: CUhostFn,
13993        userData: *mut ::core::ffi::c_void,
13994    ) -> CUresult {
13995        (culib().cuLaunchHostFunc)(hStream, fn_, userData)
13996    }
13997    pub unsafe fn cuLaunchKernel(
13998        f: CUfunction,
13999        gridDimX: ::core::ffi::c_uint,
14000        gridDimY: ::core::ffi::c_uint,
14001        gridDimZ: ::core::ffi::c_uint,
14002        blockDimX: ::core::ffi::c_uint,
14003        blockDimY: ::core::ffi::c_uint,
14004        blockDimZ: ::core::ffi::c_uint,
14005        sharedMemBytes: ::core::ffi::c_uint,
14006        hStream: CUstream,
14007        kernelParams: *mut *mut ::core::ffi::c_void,
14008        extra: *mut *mut ::core::ffi::c_void,
14009    ) -> CUresult {
14010        (culib().cuLaunchKernel)(
14011            f,
14012            gridDimX,
14013            gridDimY,
14014            gridDimZ,
14015            blockDimX,
14016            blockDimY,
14017            blockDimZ,
14018            sharedMemBytes,
14019            hStream,
14020            kernelParams,
14021            extra,
14022        )
14023    }
14024    #[cfg(any(
14025        feature = "cuda-11080",
14026        feature = "cuda-12000",
14027        feature = "cuda-12010",
14028        feature = "cuda-12020",
14029        feature = "cuda-12030",
14030        feature = "cuda-12040",
14031        feature = "cuda-12050",
14032        feature = "cuda-12060",
14033        feature = "cuda-12080",
14034        feature = "cuda-12090",
14035        feature = "cuda-13000"
14036    ))]
14037    pub unsafe fn cuLaunchKernelEx(
14038        config: *const CUlaunchConfig,
14039        f: CUfunction,
14040        kernelParams: *mut *mut ::core::ffi::c_void,
14041        extra: *mut *mut ::core::ffi::c_void,
14042    ) -> CUresult {
14043        (culib().cuLaunchKernelEx)(config, f, kernelParams, extra)
14044    }
14045    #[cfg(any(
14046        feature = "cuda-12040",
14047        feature = "cuda-12050",
14048        feature = "cuda-12060",
14049        feature = "cuda-12080",
14050        feature = "cuda-12090",
14051        feature = "cuda-13000"
14052    ))]
14053    pub unsafe fn cuLibraryEnumerateKernels(
14054        kernels: *mut CUkernel,
14055        numKernels: ::core::ffi::c_uint,
14056        lib: CUlibrary,
14057    ) -> CUresult {
14058        (culib().cuLibraryEnumerateKernels)(kernels, numKernels, lib)
14059    }
14060    #[cfg(any(
14061        feature = "cuda-12000",
14062        feature = "cuda-12010",
14063        feature = "cuda-12020",
14064        feature = "cuda-12030",
14065        feature = "cuda-12040",
14066        feature = "cuda-12050",
14067        feature = "cuda-12060",
14068        feature = "cuda-12080",
14069        feature = "cuda-12090",
14070        feature = "cuda-13000"
14071    ))]
14072    pub unsafe fn cuLibraryGetGlobal(
14073        dptr: *mut CUdeviceptr,
14074        bytes: *mut usize,
14075        library: CUlibrary,
14076        name: *const ::core::ffi::c_char,
14077    ) -> CUresult {
14078        (culib().cuLibraryGetGlobal)(dptr, bytes, library, name)
14079    }
14080    #[cfg(any(
14081        feature = "cuda-12000",
14082        feature = "cuda-12010",
14083        feature = "cuda-12020",
14084        feature = "cuda-12030",
14085        feature = "cuda-12040",
14086        feature = "cuda-12050",
14087        feature = "cuda-12060",
14088        feature = "cuda-12080",
14089        feature = "cuda-12090",
14090        feature = "cuda-13000"
14091    ))]
14092    pub unsafe fn cuLibraryGetKernel(
14093        pKernel: *mut CUkernel,
14094        library: CUlibrary,
14095        name: *const ::core::ffi::c_char,
14096    ) -> CUresult {
14097        (culib().cuLibraryGetKernel)(pKernel, library, name)
14098    }
14099    #[cfg(any(
14100        feature = "cuda-12040",
14101        feature = "cuda-12050",
14102        feature = "cuda-12060",
14103        feature = "cuda-12080",
14104        feature = "cuda-12090",
14105        feature = "cuda-13000"
14106    ))]
14107    pub unsafe fn cuLibraryGetKernelCount(
14108        count: *mut ::core::ffi::c_uint,
14109        lib: CUlibrary,
14110    ) -> CUresult {
14111        (culib().cuLibraryGetKernelCount)(count, lib)
14112    }
14113    #[cfg(any(
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        feature = "cuda-13000"
14124    ))]
14125    pub unsafe fn cuLibraryGetManaged(
14126        dptr: *mut CUdeviceptr,
14127        bytes: *mut usize,
14128        library: CUlibrary,
14129        name: *const ::core::ffi::c_char,
14130    ) -> CUresult {
14131        (culib().cuLibraryGetManaged)(dptr, bytes, library, name)
14132    }
14133    #[cfg(any(
14134        feature = "cuda-12000",
14135        feature = "cuda-12010",
14136        feature = "cuda-12020",
14137        feature = "cuda-12030",
14138        feature = "cuda-12040",
14139        feature = "cuda-12050",
14140        feature = "cuda-12060",
14141        feature = "cuda-12080",
14142        feature = "cuda-12090",
14143        feature = "cuda-13000"
14144    ))]
14145    pub unsafe fn cuLibraryGetModule(pMod: *mut CUmodule, library: CUlibrary) -> CUresult {
14146        (culib().cuLibraryGetModule)(pMod, library)
14147    }
14148    #[cfg(any(
14149        feature = "cuda-12000",
14150        feature = "cuda-12010",
14151        feature = "cuda-12020",
14152        feature = "cuda-12030",
14153        feature = "cuda-12040",
14154        feature = "cuda-12050",
14155        feature = "cuda-12060",
14156        feature = "cuda-12080",
14157        feature = "cuda-12090",
14158        feature = "cuda-13000"
14159    ))]
14160    pub unsafe fn cuLibraryGetUnifiedFunction(
14161        fptr: *mut *mut ::core::ffi::c_void,
14162        library: CUlibrary,
14163        symbol: *const ::core::ffi::c_char,
14164    ) -> CUresult {
14165        (culib().cuLibraryGetUnifiedFunction)(fptr, library, symbol)
14166    }
14167    #[cfg(any(
14168        feature = "cuda-12000",
14169        feature = "cuda-12010",
14170        feature = "cuda-12020",
14171        feature = "cuda-12030",
14172        feature = "cuda-12040",
14173        feature = "cuda-12050",
14174        feature = "cuda-12060",
14175        feature = "cuda-12080",
14176        feature = "cuda-12090",
14177        feature = "cuda-13000"
14178    ))]
14179    pub unsafe fn cuLibraryLoadData(
14180        library: *mut CUlibrary,
14181        code: *const ::core::ffi::c_void,
14182        jitOptions: *mut CUjit_option,
14183        jitOptionsValues: *mut *mut ::core::ffi::c_void,
14184        numJitOptions: ::core::ffi::c_uint,
14185        libraryOptions: *mut CUlibraryOption,
14186        libraryOptionValues: *mut *mut ::core::ffi::c_void,
14187        numLibraryOptions: ::core::ffi::c_uint,
14188    ) -> CUresult {
14189        (culib().cuLibraryLoadData)(
14190            library,
14191            code,
14192            jitOptions,
14193            jitOptionsValues,
14194            numJitOptions,
14195            libraryOptions,
14196            libraryOptionValues,
14197            numLibraryOptions,
14198        )
14199    }
14200    #[cfg(any(
14201        feature = "cuda-12000",
14202        feature = "cuda-12010",
14203        feature = "cuda-12020",
14204        feature = "cuda-12030",
14205        feature = "cuda-12040",
14206        feature = "cuda-12050",
14207        feature = "cuda-12060",
14208        feature = "cuda-12080",
14209        feature = "cuda-12090",
14210        feature = "cuda-13000"
14211    ))]
14212    pub unsafe fn cuLibraryLoadFromFile(
14213        library: *mut CUlibrary,
14214        fileName: *const ::core::ffi::c_char,
14215        jitOptions: *mut CUjit_option,
14216        jitOptionsValues: *mut *mut ::core::ffi::c_void,
14217        numJitOptions: ::core::ffi::c_uint,
14218        libraryOptions: *mut CUlibraryOption,
14219        libraryOptionValues: *mut *mut ::core::ffi::c_void,
14220        numLibraryOptions: ::core::ffi::c_uint,
14221    ) -> CUresult {
14222        (culib().cuLibraryLoadFromFile)(
14223            library,
14224            fileName,
14225            jitOptions,
14226            jitOptionsValues,
14227            numJitOptions,
14228            libraryOptions,
14229            libraryOptionValues,
14230            numLibraryOptions,
14231        )
14232    }
14233    #[cfg(any(
14234        feature = "cuda-12000",
14235        feature = "cuda-12010",
14236        feature = "cuda-12020",
14237        feature = "cuda-12030",
14238        feature = "cuda-12040",
14239        feature = "cuda-12050",
14240        feature = "cuda-12060",
14241        feature = "cuda-12080",
14242        feature = "cuda-12090",
14243        feature = "cuda-13000"
14244    ))]
14245    pub unsafe fn cuLibraryUnload(library: CUlibrary) -> CUresult {
14246        (culib().cuLibraryUnload)(library)
14247    }
14248    pub unsafe fn cuLinkAddData_v2(
14249        state: CUlinkState,
14250        type_: CUjitInputType,
14251        data: *mut ::core::ffi::c_void,
14252        size: usize,
14253        name: *const ::core::ffi::c_char,
14254        numOptions: ::core::ffi::c_uint,
14255        options: *mut CUjit_option,
14256        optionValues: *mut *mut ::core::ffi::c_void,
14257    ) -> CUresult {
14258        (culib().cuLinkAddData_v2)(
14259            state,
14260            type_,
14261            data,
14262            size,
14263            name,
14264            numOptions,
14265            options,
14266            optionValues,
14267        )
14268    }
14269    pub unsafe fn cuLinkAddFile_v2(
14270        state: CUlinkState,
14271        type_: CUjitInputType,
14272        path: *const ::core::ffi::c_char,
14273        numOptions: ::core::ffi::c_uint,
14274        options: *mut CUjit_option,
14275        optionValues: *mut *mut ::core::ffi::c_void,
14276    ) -> CUresult {
14277        (culib().cuLinkAddFile_v2)(state, type_, path, numOptions, options, optionValues)
14278    }
14279    pub unsafe fn cuLinkComplete(
14280        state: CUlinkState,
14281        cubinOut: *mut *mut ::core::ffi::c_void,
14282        sizeOut: *mut usize,
14283    ) -> CUresult {
14284        (culib().cuLinkComplete)(state, cubinOut, sizeOut)
14285    }
14286    pub unsafe fn cuLinkCreate_v2(
14287        numOptions: ::core::ffi::c_uint,
14288        options: *mut CUjit_option,
14289        optionValues: *mut *mut ::core::ffi::c_void,
14290        stateOut: *mut CUlinkState,
14291    ) -> CUresult {
14292        (culib().cuLinkCreate_v2)(numOptions, options, optionValues, stateOut)
14293    }
14294    pub unsafe fn cuLinkDestroy(state: CUlinkState) -> CUresult {
14295        (culib().cuLinkDestroy)(state)
14296    }
14297    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
14298    pub unsafe fn cuLogsCurrent(
14299        iterator_out: *mut CUlogIterator,
14300        flags: ::core::ffi::c_uint,
14301    ) -> CUresult {
14302        (culib().cuLogsCurrent)(iterator_out, flags)
14303    }
14304    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
14305    pub unsafe fn cuLogsDumpToFile(
14306        iterator: *mut CUlogIterator,
14307        pathToFile: *const ::core::ffi::c_char,
14308        flags: ::core::ffi::c_uint,
14309    ) -> CUresult {
14310        (culib().cuLogsDumpToFile)(iterator, pathToFile, flags)
14311    }
14312    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
14313    pub unsafe fn cuLogsDumpToMemory(
14314        iterator: *mut CUlogIterator,
14315        buffer: *mut ::core::ffi::c_char,
14316        size: *mut usize,
14317        flags: ::core::ffi::c_uint,
14318    ) -> CUresult {
14319        (culib().cuLogsDumpToMemory)(iterator, buffer, size, flags)
14320    }
14321    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
14322    pub unsafe fn cuLogsRegisterCallback(
14323        callbackFunc: CUlogsCallback,
14324        userData: *mut ::core::ffi::c_void,
14325        callback_out: *mut CUlogsCallbackHandle,
14326    ) -> CUresult {
14327        (culib().cuLogsRegisterCallback)(callbackFunc, userData, callback_out)
14328    }
14329    #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
14330    pub unsafe fn cuLogsUnregisterCallback(callback: CUlogsCallbackHandle) -> CUresult {
14331        (culib().cuLogsUnregisterCallback)(callback)
14332    }
14333    pub unsafe fn cuMemAddressFree(ptr: CUdeviceptr, size: usize) -> CUresult {
14334        (culib().cuMemAddressFree)(ptr, size)
14335    }
14336    pub unsafe fn cuMemAddressReserve(
14337        ptr: *mut CUdeviceptr,
14338        size: usize,
14339        alignment: usize,
14340        addr: CUdeviceptr,
14341        flags: ::core::ffi::c_ulonglong,
14342    ) -> CUresult {
14343        (culib().cuMemAddressReserve)(ptr, size, alignment, addr, flags)
14344    }
14345    #[cfg(any(
14346        feature = "cuda-11040",
14347        feature = "cuda-11050",
14348        feature = "cuda-11060",
14349        feature = "cuda-11070",
14350        feature = "cuda-11080",
14351        feature = "cuda-12000",
14352        feature = "cuda-12010",
14353        feature = "cuda-12020",
14354        feature = "cuda-12030",
14355        feature = "cuda-12040",
14356        feature = "cuda-12050",
14357        feature = "cuda-12060",
14358        feature = "cuda-12080",
14359        feature = "cuda-12090"
14360    ))]
14361    pub unsafe fn cuMemAdvise(
14362        devPtr: CUdeviceptr,
14363        count: usize,
14364        advice: CUmem_advise,
14365        device: CUdevice,
14366    ) -> CUresult {
14367        (culib().cuMemAdvise)(devPtr, count, advice, device)
14368    }
14369    #[cfg(any(
14370        feature = "cuda-12020",
14371        feature = "cuda-12030",
14372        feature = "cuda-12040",
14373        feature = "cuda-12050",
14374        feature = "cuda-12060",
14375        feature = "cuda-12080",
14376        feature = "cuda-12090",
14377        feature = "cuda-13000"
14378    ))]
14379    pub unsafe fn cuMemAdvise_v2(
14380        devPtr: CUdeviceptr,
14381        count: usize,
14382        advice: CUmem_advise,
14383        location: CUmemLocation,
14384    ) -> CUresult {
14385        (culib().cuMemAdvise_v2)(devPtr, count, advice, location)
14386    }
14387    pub unsafe fn cuMemAllocAsync(
14388        dptr: *mut CUdeviceptr,
14389        bytesize: usize,
14390        hStream: CUstream,
14391    ) -> CUresult {
14392        (culib().cuMemAllocAsync)(dptr, bytesize, hStream)
14393    }
14394    pub unsafe fn cuMemAllocFromPoolAsync(
14395        dptr: *mut CUdeviceptr,
14396        bytesize: usize,
14397        pool: CUmemoryPool,
14398        hStream: CUstream,
14399    ) -> CUresult {
14400        (culib().cuMemAllocFromPoolAsync)(dptr, bytesize, pool, hStream)
14401    }
14402    pub unsafe fn cuMemAllocHost_v2(
14403        pp: *mut *mut ::core::ffi::c_void,
14404        bytesize: usize,
14405    ) -> CUresult {
14406        (culib().cuMemAllocHost_v2)(pp, bytesize)
14407    }
14408    pub unsafe fn cuMemAllocManaged(
14409        dptr: *mut CUdeviceptr,
14410        bytesize: usize,
14411        flags: ::core::ffi::c_uint,
14412    ) -> CUresult {
14413        (culib().cuMemAllocManaged)(dptr, bytesize, flags)
14414    }
14415    pub unsafe fn cuMemAllocPitch_v2(
14416        dptr: *mut CUdeviceptr,
14417        pPitch: *mut usize,
14418        WidthInBytes: usize,
14419        Height: usize,
14420        ElementSizeBytes: ::core::ffi::c_uint,
14421    ) -> CUresult {
14422        (culib().cuMemAllocPitch_v2)(dptr, pPitch, WidthInBytes, Height, ElementSizeBytes)
14423    }
14424    pub unsafe fn cuMemAlloc_v2(dptr: *mut CUdeviceptr, bytesize: usize) -> CUresult {
14425        (culib().cuMemAlloc_v2)(dptr, bytesize)
14426    }
14427    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
14428    pub unsafe fn cuMemBatchDecompressAsync(
14429        paramsArray: *mut CUmemDecompressParams,
14430        count: usize,
14431        flags: ::core::ffi::c_uint,
14432        errorIndex: *mut usize,
14433        stream: CUstream,
14434    ) -> CUresult {
14435        (culib().cuMemBatchDecompressAsync)(paramsArray, count, flags, errorIndex, stream)
14436    }
14437    pub unsafe fn cuMemCreate(
14438        handle: *mut CUmemGenericAllocationHandle,
14439        size: usize,
14440        prop: *const CUmemAllocationProp,
14441        flags: ::core::ffi::c_ulonglong,
14442    ) -> CUresult {
14443        (culib().cuMemCreate)(handle, size, prop, flags)
14444    }
14445    #[cfg(any(feature = "cuda-13000"))]
14446    pub unsafe fn cuMemDiscardAndPrefetchBatchAsync(
14447        dptrs: *mut CUdeviceptr,
14448        sizes: *mut usize,
14449        count: usize,
14450        prefetchLocs: *mut CUmemLocation,
14451        prefetchLocIdxs: *mut usize,
14452        numPrefetchLocs: usize,
14453        flags: ::core::ffi::c_ulonglong,
14454        hStream: CUstream,
14455    ) -> CUresult {
14456        (culib().cuMemDiscardAndPrefetchBatchAsync)(
14457            dptrs,
14458            sizes,
14459            count,
14460            prefetchLocs,
14461            prefetchLocIdxs,
14462            numPrefetchLocs,
14463            flags,
14464            hStream,
14465        )
14466    }
14467    #[cfg(any(feature = "cuda-13000"))]
14468    pub unsafe fn cuMemDiscardBatchAsync(
14469        dptrs: *mut CUdeviceptr,
14470        sizes: *mut usize,
14471        count: usize,
14472        flags: ::core::ffi::c_ulonglong,
14473        hStream: CUstream,
14474    ) -> CUresult {
14475        (culib().cuMemDiscardBatchAsync)(dptrs, sizes, count, flags, hStream)
14476    }
14477    pub unsafe fn cuMemExportToShareableHandle(
14478        shareableHandle: *mut ::core::ffi::c_void,
14479        handle: CUmemGenericAllocationHandle,
14480        handleType: CUmemAllocationHandleType,
14481        flags: ::core::ffi::c_ulonglong,
14482    ) -> CUresult {
14483        (culib().cuMemExportToShareableHandle)(shareableHandle, handle, handleType, flags)
14484    }
14485    pub unsafe fn cuMemFreeAsync(dptr: CUdeviceptr, hStream: CUstream) -> CUresult {
14486        (culib().cuMemFreeAsync)(dptr, hStream)
14487    }
14488    pub unsafe fn cuMemFreeHost(p: *mut ::core::ffi::c_void) -> CUresult {
14489        (culib().cuMemFreeHost)(p)
14490    }
14491    pub unsafe fn cuMemFree_v2(dptr: CUdeviceptr) -> CUresult {
14492        (culib().cuMemFree_v2)(dptr)
14493    }
14494    pub unsafe fn cuMemGetAccess(
14495        flags: *mut ::core::ffi::c_ulonglong,
14496        location: *const CUmemLocation,
14497        ptr: CUdeviceptr,
14498    ) -> CUresult {
14499        (culib().cuMemGetAccess)(flags, location, ptr)
14500    }
14501    pub unsafe fn cuMemGetAddressRange_v2(
14502        pbase: *mut CUdeviceptr,
14503        psize: *mut usize,
14504        dptr: CUdeviceptr,
14505    ) -> CUresult {
14506        (culib().cuMemGetAddressRange_v2)(pbase, psize, dptr)
14507    }
14508    pub unsafe fn cuMemGetAllocationGranularity(
14509        granularity: *mut usize,
14510        prop: *const CUmemAllocationProp,
14511        option: CUmemAllocationGranularity_flags,
14512    ) -> CUresult {
14513        (culib().cuMemGetAllocationGranularity)(granularity, prop, option)
14514    }
14515    pub unsafe fn cuMemGetAllocationPropertiesFromHandle(
14516        prop: *mut CUmemAllocationProp,
14517        handle: CUmemGenericAllocationHandle,
14518    ) -> CUresult {
14519        (culib().cuMemGetAllocationPropertiesFromHandle)(prop, handle)
14520    }
14521    #[cfg(any(feature = "cuda-13000"))]
14522    pub unsafe fn cuMemGetDefaultMemPool(
14523        pool_out: *mut CUmemoryPool,
14524        location: *mut CUmemLocation,
14525        type_: CUmemAllocationType,
14526    ) -> CUresult {
14527        (culib().cuMemGetDefaultMemPool)(pool_out, location, type_)
14528    }
14529    #[cfg(any(
14530        feature = "cuda-11070",
14531        feature = "cuda-11080",
14532        feature = "cuda-12000",
14533        feature = "cuda-12010",
14534        feature = "cuda-12020",
14535        feature = "cuda-12030",
14536        feature = "cuda-12040",
14537        feature = "cuda-12050",
14538        feature = "cuda-12060",
14539        feature = "cuda-12080",
14540        feature = "cuda-12090",
14541        feature = "cuda-13000"
14542    ))]
14543    pub unsafe fn cuMemGetHandleForAddressRange(
14544        handle: *mut ::core::ffi::c_void,
14545        dptr: CUdeviceptr,
14546        size: usize,
14547        handleType: CUmemRangeHandleType,
14548        flags: ::core::ffi::c_ulonglong,
14549    ) -> CUresult {
14550        (culib().cuMemGetHandleForAddressRange)(handle, dptr, size, handleType, flags)
14551    }
14552    pub unsafe fn cuMemGetInfo_v2(free: *mut usize, total: *mut usize) -> CUresult {
14553        (culib().cuMemGetInfo_v2)(free, total)
14554    }
14555    #[cfg(any(feature = "cuda-13000"))]
14556    pub unsafe fn cuMemGetMemPool(
14557        pool: *mut CUmemoryPool,
14558        location: *mut CUmemLocation,
14559        type_: CUmemAllocationType,
14560    ) -> CUresult {
14561        (culib().cuMemGetMemPool)(pool, location, type_)
14562    }
14563    pub unsafe fn cuMemHostAlloc(
14564        pp: *mut *mut ::core::ffi::c_void,
14565        bytesize: usize,
14566        Flags: ::core::ffi::c_uint,
14567    ) -> CUresult {
14568        (culib().cuMemHostAlloc)(pp, bytesize, Flags)
14569    }
14570    pub unsafe fn cuMemHostGetDevicePointer_v2(
14571        pdptr: *mut CUdeviceptr,
14572        p: *mut ::core::ffi::c_void,
14573        Flags: ::core::ffi::c_uint,
14574    ) -> CUresult {
14575        (culib().cuMemHostGetDevicePointer_v2)(pdptr, p, Flags)
14576    }
14577    pub unsafe fn cuMemHostGetFlags(
14578        pFlags: *mut ::core::ffi::c_uint,
14579        p: *mut ::core::ffi::c_void,
14580    ) -> CUresult {
14581        (culib().cuMemHostGetFlags)(pFlags, p)
14582    }
14583    pub unsafe fn cuMemHostRegister_v2(
14584        p: *mut ::core::ffi::c_void,
14585        bytesize: usize,
14586        Flags: ::core::ffi::c_uint,
14587    ) -> CUresult {
14588        (culib().cuMemHostRegister_v2)(p, bytesize, Flags)
14589    }
14590    pub unsafe fn cuMemHostUnregister(p: *mut ::core::ffi::c_void) -> CUresult {
14591        (culib().cuMemHostUnregister)(p)
14592    }
14593    pub unsafe fn cuMemImportFromShareableHandle(
14594        handle: *mut CUmemGenericAllocationHandle,
14595        osHandle: *mut ::core::ffi::c_void,
14596        shHandleType: CUmemAllocationHandleType,
14597    ) -> CUresult {
14598        (culib().cuMemImportFromShareableHandle)(handle, osHandle, shHandleType)
14599    }
14600    pub unsafe fn cuMemMap(
14601        ptr: CUdeviceptr,
14602        size: usize,
14603        offset: usize,
14604        handle: CUmemGenericAllocationHandle,
14605        flags: ::core::ffi::c_ulonglong,
14606    ) -> CUresult {
14607        (culib().cuMemMap)(ptr, size, offset, handle, flags)
14608    }
14609    pub unsafe fn cuMemMapArrayAsync(
14610        mapInfoList: *mut CUarrayMapInfo,
14611        count: ::core::ffi::c_uint,
14612        hStream: CUstream,
14613    ) -> CUresult {
14614        (culib().cuMemMapArrayAsync)(mapInfoList, count, hStream)
14615    }
14616    pub unsafe fn cuMemPoolCreate(
14617        pool: *mut CUmemoryPool,
14618        poolProps: *const CUmemPoolProps,
14619    ) -> CUresult {
14620        (culib().cuMemPoolCreate)(pool, poolProps)
14621    }
14622    pub unsafe fn cuMemPoolDestroy(pool: CUmemoryPool) -> CUresult {
14623        (culib().cuMemPoolDestroy)(pool)
14624    }
14625    pub unsafe fn cuMemPoolExportPointer(
14626        shareData_out: *mut CUmemPoolPtrExportData,
14627        ptr: CUdeviceptr,
14628    ) -> CUresult {
14629        (culib().cuMemPoolExportPointer)(shareData_out, ptr)
14630    }
14631    pub unsafe fn cuMemPoolExportToShareableHandle(
14632        handle_out: *mut ::core::ffi::c_void,
14633        pool: CUmemoryPool,
14634        handleType: CUmemAllocationHandleType,
14635        flags: ::core::ffi::c_ulonglong,
14636    ) -> CUresult {
14637        (culib().cuMemPoolExportToShareableHandle)(handle_out, pool, handleType, flags)
14638    }
14639    pub unsafe fn cuMemPoolGetAccess(
14640        flags: *mut CUmemAccess_flags,
14641        memPool: CUmemoryPool,
14642        location: *mut CUmemLocation,
14643    ) -> CUresult {
14644        (culib().cuMemPoolGetAccess)(flags, memPool, location)
14645    }
14646    pub unsafe fn cuMemPoolGetAttribute(
14647        pool: CUmemoryPool,
14648        attr: CUmemPool_attribute,
14649        value: *mut ::core::ffi::c_void,
14650    ) -> CUresult {
14651        (culib().cuMemPoolGetAttribute)(pool, attr, value)
14652    }
14653    pub unsafe fn cuMemPoolImportFromShareableHandle(
14654        pool_out: *mut CUmemoryPool,
14655        handle: *mut ::core::ffi::c_void,
14656        handleType: CUmemAllocationHandleType,
14657        flags: ::core::ffi::c_ulonglong,
14658    ) -> CUresult {
14659        (culib().cuMemPoolImportFromShareableHandle)(pool_out, handle, handleType, flags)
14660    }
14661    pub unsafe fn cuMemPoolImportPointer(
14662        ptr_out: *mut CUdeviceptr,
14663        pool: CUmemoryPool,
14664        shareData: *mut CUmemPoolPtrExportData,
14665    ) -> CUresult {
14666        (culib().cuMemPoolImportPointer)(ptr_out, pool, shareData)
14667    }
14668    pub unsafe fn cuMemPoolSetAccess(
14669        pool: CUmemoryPool,
14670        map: *const CUmemAccessDesc,
14671        count: usize,
14672    ) -> CUresult {
14673        (culib().cuMemPoolSetAccess)(pool, map, count)
14674    }
14675    pub unsafe fn cuMemPoolSetAttribute(
14676        pool: CUmemoryPool,
14677        attr: CUmemPool_attribute,
14678        value: *mut ::core::ffi::c_void,
14679    ) -> CUresult {
14680        (culib().cuMemPoolSetAttribute)(pool, attr, value)
14681    }
14682    pub unsafe fn cuMemPoolTrimTo(pool: CUmemoryPool, minBytesToKeep: usize) -> CUresult {
14683        (culib().cuMemPoolTrimTo)(pool, minBytesToKeep)
14684    }
14685    #[cfg(any(
14686        feature = "cuda-11040",
14687        feature = "cuda-11050",
14688        feature = "cuda-11060",
14689        feature = "cuda-11070",
14690        feature = "cuda-11080",
14691        feature = "cuda-12000",
14692        feature = "cuda-12010",
14693        feature = "cuda-12020",
14694        feature = "cuda-12030",
14695        feature = "cuda-12040",
14696        feature = "cuda-12050",
14697        feature = "cuda-12060",
14698        feature = "cuda-12080",
14699        feature = "cuda-12090"
14700    ))]
14701    pub unsafe fn cuMemPrefetchAsync(
14702        devPtr: CUdeviceptr,
14703        count: usize,
14704        dstDevice: CUdevice,
14705        hStream: CUstream,
14706    ) -> CUresult {
14707        (culib().cuMemPrefetchAsync)(devPtr, count, dstDevice, hStream)
14708    }
14709    #[cfg(any(
14710        feature = "cuda-12020",
14711        feature = "cuda-12030",
14712        feature = "cuda-12040",
14713        feature = "cuda-12050",
14714        feature = "cuda-12060",
14715        feature = "cuda-12080",
14716        feature = "cuda-12090",
14717        feature = "cuda-13000"
14718    ))]
14719    pub unsafe fn cuMemPrefetchAsync_v2(
14720        devPtr: CUdeviceptr,
14721        count: usize,
14722        location: CUmemLocation,
14723        flags: ::core::ffi::c_uint,
14724        hStream: CUstream,
14725    ) -> CUresult {
14726        (culib().cuMemPrefetchAsync_v2)(devPtr, count, location, flags, hStream)
14727    }
14728    #[cfg(any(feature = "cuda-13000"))]
14729    pub unsafe fn cuMemPrefetchBatchAsync(
14730        dptrs: *mut CUdeviceptr,
14731        sizes: *mut usize,
14732        count: usize,
14733        prefetchLocs: *mut CUmemLocation,
14734        prefetchLocIdxs: *mut usize,
14735        numPrefetchLocs: usize,
14736        flags: ::core::ffi::c_ulonglong,
14737        hStream: CUstream,
14738    ) -> CUresult {
14739        (culib().cuMemPrefetchBatchAsync)(
14740            dptrs,
14741            sizes,
14742            count,
14743            prefetchLocs,
14744            prefetchLocIdxs,
14745            numPrefetchLocs,
14746            flags,
14747            hStream,
14748        )
14749    }
14750    pub unsafe fn cuMemRangeGetAttribute(
14751        data: *mut ::core::ffi::c_void,
14752        dataSize: usize,
14753        attribute: CUmem_range_attribute,
14754        devPtr: CUdeviceptr,
14755        count: usize,
14756    ) -> CUresult {
14757        (culib().cuMemRangeGetAttribute)(data, dataSize, attribute, devPtr, count)
14758    }
14759    pub unsafe fn cuMemRangeGetAttributes(
14760        data: *mut *mut ::core::ffi::c_void,
14761        dataSizes: *mut usize,
14762        attributes: *mut CUmem_range_attribute,
14763        numAttributes: usize,
14764        devPtr: CUdeviceptr,
14765        count: usize,
14766    ) -> CUresult {
14767        (culib().cuMemRangeGetAttributes)(data, dataSizes, attributes, numAttributes, devPtr, count)
14768    }
14769    pub unsafe fn cuMemRelease(handle: CUmemGenericAllocationHandle) -> CUresult {
14770        (culib().cuMemRelease)(handle)
14771    }
14772    pub unsafe fn cuMemRetainAllocationHandle(
14773        handle: *mut CUmemGenericAllocationHandle,
14774        addr: *mut ::core::ffi::c_void,
14775    ) -> CUresult {
14776        (culib().cuMemRetainAllocationHandle)(handle, addr)
14777    }
14778    pub unsafe fn cuMemSetAccess(
14779        ptr: CUdeviceptr,
14780        size: usize,
14781        desc: *const CUmemAccessDesc,
14782        count: usize,
14783    ) -> CUresult {
14784        (culib().cuMemSetAccess)(ptr, size, desc, count)
14785    }
14786    #[cfg(any(feature = "cuda-13000"))]
14787    pub unsafe fn cuMemSetMemPool(
14788        location: *mut CUmemLocation,
14789        type_: CUmemAllocationType,
14790        pool: CUmemoryPool,
14791    ) -> CUresult {
14792        (culib().cuMemSetMemPool)(location, type_, pool)
14793    }
14794    pub unsafe fn cuMemUnmap(ptr: CUdeviceptr, size: usize) -> CUresult {
14795        (culib().cuMemUnmap)(ptr, size)
14796    }
14797    pub unsafe fn cuMemcpy(dst: CUdeviceptr, src: CUdeviceptr, ByteCount: usize) -> CUresult {
14798        (culib().cuMemcpy)(dst, src, ByteCount)
14799    }
14800    pub unsafe fn cuMemcpy2DAsync_v2(pCopy: *const CUDA_MEMCPY2D, hStream: CUstream) -> CUresult {
14801        (culib().cuMemcpy2DAsync_v2)(pCopy, hStream)
14802    }
14803    pub unsafe fn cuMemcpy2DUnaligned_v2(pCopy: *const CUDA_MEMCPY2D) -> CUresult {
14804        (culib().cuMemcpy2DUnaligned_v2)(pCopy)
14805    }
14806    pub unsafe fn cuMemcpy2D_v2(pCopy: *const CUDA_MEMCPY2D) -> CUresult {
14807        (culib().cuMemcpy2D_v2)(pCopy)
14808    }
14809    pub unsafe fn cuMemcpy3DAsync_v2(pCopy: *const CUDA_MEMCPY3D, hStream: CUstream) -> CUresult {
14810        (culib().cuMemcpy3DAsync_v2)(pCopy, hStream)
14811    }
14812    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
14813    pub unsafe fn cuMemcpy3DBatchAsync(
14814        numOps: usize,
14815        opList: *mut CUDA_MEMCPY3D_BATCH_OP,
14816        failIdx: *mut usize,
14817        flags: ::core::ffi::c_ulonglong,
14818        hStream: CUstream,
14819    ) -> CUresult {
14820        (culib().cuMemcpy3DBatchAsync)(numOps, opList, failIdx, flags, hStream)
14821    }
14822    #[cfg(any(feature = "cuda-13000"))]
14823    pub unsafe fn cuMemcpy3DBatchAsync_v2(
14824        numOps: usize,
14825        opList: *mut CUDA_MEMCPY3D_BATCH_OP,
14826        flags: ::core::ffi::c_ulonglong,
14827        hStream: CUstream,
14828    ) -> CUresult {
14829        (culib().cuMemcpy3DBatchAsync_v2)(numOps, opList, flags, hStream)
14830    }
14831    pub unsafe fn cuMemcpy3DPeer(pCopy: *const CUDA_MEMCPY3D_PEER) -> CUresult {
14832        (culib().cuMemcpy3DPeer)(pCopy)
14833    }
14834    pub unsafe fn cuMemcpy3DPeerAsync(
14835        pCopy: *const CUDA_MEMCPY3D_PEER,
14836        hStream: CUstream,
14837    ) -> CUresult {
14838        (culib().cuMemcpy3DPeerAsync)(pCopy, hStream)
14839    }
14840    pub unsafe fn cuMemcpy3D_v2(pCopy: *const CUDA_MEMCPY3D) -> CUresult {
14841        (culib().cuMemcpy3D_v2)(pCopy)
14842    }
14843    pub unsafe fn cuMemcpyAsync(
14844        dst: CUdeviceptr,
14845        src: CUdeviceptr,
14846        ByteCount: usize,
14847        hStream: CUstream,
14848    ) -> CUresult {
14849        (culib().cuMemcpyAsync)(dst, src, ByteCount, hStream)
14850    }
14851    pub unsafe fn cuMemcpyAtoA_v2(
14852        dstArray: CUarray,
14853        dstOffset: usize,
14854        srcArray: CUarray,
14855        srcOffset: usize,
14856        ByteCount: usize,
14857    ) -> CUresult {
14858        (culib().cuMemcpyAtoA_v2)(dstArray, dstOffset, srcArray, srcOffset, ByteCount)
14859    }
14860    pub unsafe fn cuMemcpyAtoD_v2(
14861        dstDevice: CUdeviceptr,
14862        srcArray: CUarray,
14863        srcOffset: usize,
14864        ByteCount: usize,
14865    ) -> CUresult {
14866        (culib().cuMemcpyAtoD_v2)(dstDevice, srcArray, srcOffset, ByteCount)
14867    }
14868    pub unsafe fn cuMemcpyAtoHAsync_v2(
14869        dstHost: *mut ::core::ffi::c_void,
14870        srcArray: CUarray,
14871        srcOffset: usize,
14872        ByteCount: usize,
14873        hStream: CUstream,
14874    ) -> CUresult {
14875        (culib().cuMemcpyAtoHAsync_v2)(dstHost, srcArray, srcOffset, ByteCount, hStream)
14876    }
14877    pub unsafe fn cuMemcpyAtoH_v2(
14878        dstHost: *mut ::core::ffi::c_void,
14879        srcArray: CUarray,
14880        srcOffset: usize,
14881        ByteCount: usize,
14882    ) -> CUresult {
14883        (culib().cuMemcpyAtoH_v2)(dstHost, srcArray, srcOffset, ByteCount)
14884    }
14885    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
14886    pub unsafe fn cuMemcpyBatchAsync(
14887        dsts: *mut CUdeviceptr,
14888        srcs: *mut CUdeviceptr,
14889        sizes: *mut usize,
14890        count: usize,
14891        attrs: *mut CUmemcpyAttributes,
14892        attrsIdxs: *mut usize,
14893        numAttrs: usize,
14894        failIdx: *mut usize,
14895        hStream: CUstream,
14896    ) -> CUresult {
14897        (culib().cuMemcpyBatchAsync)(
14898            dsts, srcs, sizes, count, attrs, attrsIdxs, numAttrs, failIdx, hStream,
14899        )
14900    }
14901    #[cfg(any(feature = "cuda-13000"))]
14902    pub unsafe fn cuMemcpyBatchAsync_v2(
14903        dsts: *mut CUdeviceptr,
14904        srcs: *mut CUdeviceptr,
14905        sizes: *mut usize,
14906        count: usize,
14907        attrs: *mut CUmemcpyAttributes,
14908        attrsIdxs: *mut usize,
14909        numAttrs: usize,
14910        hStream: CUstream,
14911    ) -> CUresult {
14912        (culib().cuMemcpyBatchAsync_v2)(
14913            dsts, srcs, sizes, count, attrs, attrsIdxs, numAttrs, hStream,
14914        )
14915    }
14916    pub unsafe fn cuMemcpyDtoA_v2(
14917        dstArray: CUarray,
14918        dstOffset: usize,
14919        srcDevice: CUdeviceptr,
14920        ByteCount: usize,
14921    ) -> CUresult {
14922        (culib().cuMemcpyDtoA_v2)(dstArray, dstOffset, srcDevice, ByteCount)
14923    }
14924    pub unsafe fn cuMemcpyDtoDAsync_v2(
14925        dstDevice: CUdeviceptr,
14926        srcDevice: CUdeviceptr,
14927        ByteCount: usize,
14928        hStream: CUstream,
14929    ) -> CUresult {
14930        (culib().cuMemcpyDtoDAsync_v2)(dstDevice, srcDevice, ByteCount, hStream)
14931    }
14932    pub unsafe fn cuMemcpyDtoD_v2(
14933        dstDevice: CUdeviceptr,
14934        srcDevice: CUdeviceptr,
14935        ByteCount: usize,
14936    ) -> CUresult {
14937        (culib().cuMemcpyDtoD_v2)(dstDevice, srcDevice, ByteCount)
14938    }
14939    pub unsafe fn cuMemcpyDtoHAsync_v2(
14940        dstHost: *mut ::core::ffi::c_void,
14941        srcDevice: CUdeviceptr,
14942        ByteCount: usize,
14943        hStream: CUstream,
14944    ) -> CUresult {
14945        (culib().cuMemcpyDtoHAsync_v2)(dstHost, srcDevice, ByteCount, hStream)
14946    }
14947    pub unsafe fn cuMemcpyDtoH_v2(
14948        dstHost: *mut ::core::ffi::c_void,
14949        srcDevice: CUdeviceptr,
14950        ByteCount: usize,
14951    ) -> CUresult {
14952        (culib().cuMemcpyDtoH_v2)(dstHost, srcDevice, ByteCount)
14953    }
14954    pub unsafe fn cuMemcpyHtoAAsync_v2(
14955        dstArray: CUarray,
14956        dstOffset: usize,
14957        srcHost: *const ::core::ffi::c_void,
14958        ByteCount: usize,
14959        hStream: CUstream,
14960    ) -> CUresult {
14961        (culib().cuMemcpyHtoAAsync_v2)(dstArray, dstOffset, srcHost, ByteCount, hStream)
14962    }
14963    pub unsafe fn cuMemcpyHtoA_v2(
14964        dstArray: CUarray,
14965        dstOffset: usize,
14966        srcHost: *const ::core::ffi::c_void,
14967        ByteCount: usize,
14968    ) -> CUresult {
14969        (culib().cuMemcpyHtoA_v2)(dstArray, dstOffset, srcHost, ByteCount)
14970    }
14971    pub unsafe fn cuMemcpyHtoDAsync_v2(
14972        dstDevice: CUdeviceptr,
14973        srcHost: *const ::core::ffi::c_void,
14974        ByteCount: usize,
14975        hStream: CUstream,
14976    ) -> CUresult {
14977        (culib().cuMemcpyHtoDAsync_v2)(dstDevice, srcHost, ByteCount, hStream)
14978    }
14979    pub unsafe fn cuMemcpyHtoD_v2(
14980        dstDevice: CUdeviceptr,
14981        srcHost: *const ::core::ffi::c_void,
14982        ByteCount: usize,
14983    ) -> CUresult {
14984        (culib().cuMemcpyHtoD_v2)(dstDevice, srcHost, ByteCount)
14985    }
14986    pub unsafe fn cuMemcpyPeer(
14987        dstDevice: CUdeviceptr,
14988        dstContext: CUcontext,
14989        srcDevice: CUdeviceptr,
14990        srcContext: CUcontext,
14991        ByteCount: usize,
14992    ) -> CUresult {
14993        (culib().cuMemcpyPeer)(dstDevice, dstContext, srcDevice, srcContext, ByteCount)
14994    }
14995    pub unsafe fn cuMemcpyPeerAsync(
14996        dstDevice: CUdeviceptr,
14997        dstContext: CUcontext,
14998        srcDevice: CUdeviceptr,
14999        srcContext: CUcontext,
15000        ByteCount: usize,
15001        hStream: CUstream,
15002    ) -> CUresult {
15003        (culib().cuMemcpyPeerAsync)(
15004            dstDevice, dstContext, srcDevice, srcContext, ByteCount, hStream,
15005        )
15006    }
15007    pub unsafe fn cuMemsetD16Async(
15008        dstDevice: CUdeviceptr,
15009        us: ::core::ffi::c_ushort,
15010        N: usize,
15011        hStream: CUstream,
15012    ) -> CUresult {
15013        (culib().cuMemsetD16Async)(dstDevice, us, N, hStream)
15014    }
15015    pub unsafe fn cuMemsetD16_v2(
15016        dstDevice: CUdeviceptr,
15017        us: ::core::ffi::c_ushort,
15018        N: usize,
15019    ) -> CUresult {
15020        (culib().cuMemsetD16_v2)(dstDevice, us, N)
15021    }
15022    pub unsafe fn cuMemsetD2D16Async(
15023        dstDevice: CUdeviceptr,
15024        dstPitch: usize,
15025        us: ::core::ffi::c_ushort,
15026        Width: usize,
15027        Height: usize,
15028        hStream: CUstream,
15029    ) -> CUresult {
15030        (culib().cuMemsetD2D16Async)(dstDevice, dstPitch, us, Width, Height, hStream)
15031    }
15032    pub unsafe fn cuMemsetD2D16_v2(
15033        dstDevice: CUdeviceptr,
15034        dstPitch: usize,
15035        us: ::core::ffi::c_ushort,
15036        Width: usize,
15037        Height: usize,
15038    ) -> CUresult {
15039        (culib().cuMemsetD2D16_v2)(dstDevice, dstPitch, us, Width, Height)
15040    }
15041    pub unsafe fn cuMemsetD2D32Async(
15042        dstDevice: CUdeviceptr,
15043        dstPitch: usize,
15044        ui: ::core::ffi::c_uint,
15045        Width: usize,
15046        Height: usize,
15047        hStream: CUstream,
15048    ) -> CUresult {
15049        (culib().cuMemsetD2D32Async)(dstDevice, dstPitch, ui, Width, Height, hStream)
15050    }
15051    pub unsafe fn cuMemsetD2D32_v2(
15052        dstDevice: CUdeviceptr,
15053        dstPitch: usize,
15054        ui: ::core::ffi::c_uint,
15055        Width: usize,
15056        Height: usize,
15057    ) -> CUresult {
15058        (culib().cuMemsetD2D32_v2)(dstDevice, dstPitch, ui, Width, Height)
15059    }
15060    pub unsafe fn cuMemsetD2D8Async(
15061        dstDevice: CUdeviceptr,
15062        dstPitch: usize,
15063        uc: ::core::ffi::c_uchar,
15064        Width: usize,
15065        Height: usize,
15066        hStream: CUstream,
15067    ) -> CUresult {
15068        (culib().cuMemsetD2D8Async)(dstDevice, dstPitch, uc, Width, Height, hStream)
15069    }
15070    pub unsafe fn cuMemsetD2D8_v2(
15071        dstDevice: CUdeviceptr,
15072        dstPitch: usize,
15073        uc: ::core::ffi::c_uchar,
15074        Width: usize,
15075        Height: usize,
15076    ) -> CUresult {
15077        (culib().cuMemsetD2D8_v2)(dstDevice, dstPitch, uc, Width, Height)
15078    }
15079    pub unsafe fn cuMemsetD32Async(
15080        dstDevice: CUdeviceptr,
15081        ui: ::core::ffi::c_uint,
15082        N: usize,
15083        hStream: CUstream,
15084    ) -> CUresult {
15085        (culib().cuMemsetD32Async)(dstDevice, ui, N, hStream)
15086    }
15087    pub unsafe fn cuMemsetD32_v2(
15088        dstDevice: CUdeviceptr,
15089        ui: ::core::ffi::c_uint,
15090        N: usize,
15091    ) -> CUresult {
15092        (culib().cuMemsetD32_v2)(dstDevice, ui, N)
15093    }
15094    pub unsafe fn cuMemsetD8Async(
15095        dstDevice: CUdeviceptr,
15096        uc: ::core::ffi::c_uchar,
15097        N: usize,
15098        hStream: CUstream,
15099    ) -> CUresult {
15100        (culib().cuMemsetD8Async)(dstDevice, uc, N, hStream)
15101    }
15102    pub unsafe fn cuMemsetD8_v2(
15103        dstDevice: CUdeviceptr,
15104        uc: ::core::ffi::c_uchar,
15105        N: usize,
15106    ) -> CUresult {
15107        (culib().cuMemsetD8_v2)(dstDevice, uc, N)
15108    }
15109    pub unsafe fn cuMipmappedArrayCreate(
15110        pHandle: *mut CUmipmappedArray,
15111        pMipmappedArrayDesc: *const CUDA_ARRAY3D_DESCRIPTOR,
15112        numMipmapLevels: ::core::ffi::c_uint,
15113    ) -> CUresult {
15114        (culib().cuMipmappedArrayCreate)(pHandle, pMipmappedArrayDesc, numMipmapLevels)
15115    }
15116    pub unsafe fn cuMipmappedArrayDestroy(hMipmappedArray: CUmipmappedArray) -> CUresult {
15117        (culib().cuMipmappedArrayDestroy)(hMipmappedArray)
15118    }
15119    pub unsafe fn cuMipmappedArrayGetLevel(
15120        pLevelArray: *mut CUarray,
15121        hMipmappedArray: CUmipmappedArray,
15122        level: ::core::ffi::c_uint,
15123    ) -> CUresult {
15124        (culib().cuMipmappedArrayGetLevel)(pLevelArray, hMipmappedArray, level)
15125    }
15126    #[cfg(any(
15127        feature = "cuda-11060",
15128        feature = "cuda-11070",
15129        feature = "cuda-11080",
15130        feature = "cuda-12000",
15131        feature = "cuda-12010",
15132        feature = "cuda-12020",
15133        feature = "cuda-12030",
15134        feature = "cuda-12040",
15135        feature = "cuda-12050",
15136        feature = "cuda-12060",
15137        feature = "cuda-12080",
15138        feature = "cuda-12090",
15139        feature = "cuda-13000"
15140    ))]
15141    pub unsafe fn cuMipmappedArrayGetMemoryRequirements(
15142        memoryRequirements: *mut CUDA_ARRAY_MEMORY_REQUIREMENTS,
15143        mipmap: CUmipmappedArray,
15144        device: CUdevice,
15145    ) -> CUresult {
15146        (culib().cuMipmappedArrayGetMemoryRequirements)(memoryRequirements, mipmap, device)
15147    }
15148    pub unsafe fn cuMipmappedArrayGetSparseProperties(
15149        sparseProperties: *mut CUDA_ARRAY_SPARSE_PROPERTIES,
15150        mipmap: CUmipmappedArray,
15151    ) -> CUresult {
15152        (culib().cuMipmappedArrayGetSparseProperties)(sparseProperties, mipmap)
15153    }
15154    #[cfg(any(
15155        feature = "cuda-12040",
15156        feature = "cuda-12050",
15157        feature = "cuda-12060",
15158        feature = "cuda-12080",
15159        feature = "cuda-12090",
15160        feature = "cuda-13000"
15161    ))]
15162    pub unsafe fn cuModuleEnumerateFunctions(
15163        functions: *mut CUfunction,
15164        numFunctions: ::core::ffi::c_uint,
15165        mod_: CUmodule,
15166    ) -> CUresult {
15167        (culib().cuModuleEnumerateFunctions)(functions, numFunctions, mod_)
15168    }
15169    pub unsafe fn cuModuleGetFunction(
15170        hfunc: *mut CUfunction,
15171        hmod: CUmodule,
15172        name: *const ::core::ffi::c_char,
15173    ) -> CUresult {
15174        (culib().cuModuleGetFunction)(hfunc, hmod, name)
15175    }
15176    #[cfg(any(
15177        feature = "cuda-12040",
15178        feature = "cuda-12050",
15179        feature = "cuda-12060",
15180        feature = "cuda-12080",
15181        feature = "cuda-12090",
15182        feature = "cuda-13000"
15183    ))]
15184    pub unsafe fn cuModuleGetFunctionCount(
15185        count: *mut ::core::ffi::c_uint,
15186        mod_: CUmodule,
15187    ) -> CUresult {
15188        (culib().cuModuleGetFunctionCount)(count, mod_)
15189    }
15190    pub unsafe fn cuModuleGetGlobal_v2(
15191        dptr: *mut CUdeviceptr,
15192        bytes: *mut usize,
15193        hmod: CUmodule,
15194        name: *const ::core::ffi::c_char,
15195    ) -> CUresult {
15196        (culib().cuModuleGetGlobal_v2)(dptr, bytes, hmod, name)
15197    }
15198    #[cfg(any(
15199        feature = "cuda-11070",
15200        feature = "cuda-11080",
15201        feature = "cuda-12000",
15202        feature = "cuda-12010",
15203        feature = "cuda-12020",
15204        feature = "cuda-12030",
15205        feature = "cuda-12040",
15206        feature = "cuda-12050",
15207        feature = "cuda-12060",
15208        feature = "cuda-12080",
15209        feature = "cuda-12090",
15210        feature = "cuda-13000"
15211    ))]
15212    pub unsafe fn cuModuleGetLoadingMode(mode: *mut CUmoduleLoadingMode) -> CUresult {
15213        (culib().cuModuleGetLoadingMode)(mode)
15214    }
15215    pub unsafe fn cuModuleGetSurfRef(
15216        pSurfRef: *mut CUsurfref,
15217        hmod: CUmodule,
15218        name: *const ::core::ffi::c_char,
15219    ) -> CUresult {
15220        (culib().cuModuleGetSurfRef)(pSurfRef, hmod, name)
15221    }
15222    pub unsafe fn cuModuleGetTexRef(
15223        pTexRef: *mut CUtexref,
15224        hmod: CUmodule,
15225        name: *const ::core::ffi::c_char,
15226    ) -> CUresult {
15227        (culib().cuModuleGetTexRef)(pTexRef, hmod, name)
15228    }
15229    pub unsafe fn cuModuleLoad(
15230        module: *mut CUmodule,
15231        fname: *const ::core::ffi::c_char,
15232    ) -> CUresult {
15233        (culib().cuModuleLoad)(module, fname)
15234    }
15235    pub unsafe fn cuModuleLoadData(
15236        module: *mut CUmodule,
15237        image: *const ::core::ffi::c_void,
15238    ) -> CUresult {
15239        (culib().cuModuleLoadData)(module, image)
15240    }
15241    pub unsafe fn cuModuleLoadDataEx(
15242        module: *mut CUmodule,
15243        image: *const ::core::ffi::c_void,
15244        numOptions: ::core::ffi::c_uint,
15245        options: *mut CUjit_option,
15246        optionValues: *mut *mut ::core::ffi::c_void,
15247    ) -> CUresult {
15248        (culib().cuModuleLoadDataEx)(module, image, numOptions, options, optionValues)
15249    }
15250    pub unsafe fn cuModuleLoadFatBinary(
15251        module: *mut CUmodule,
15252        fatCubin: *const ::core::ffi::c_void,
15253    ) -> CUresult {
15254        (culib().cuModuleLoadFatBinary)(module, fatCubin)
15255    }
15256    pub unsafe fn cuModuleUnload(hmod: CUmodule) -> CUresult {
15257        (culib().cuModuleUnload)(hmod)
15258    }
15259    #[cfg(any(
15260        feature = "cuda-12010",
15261        feature = "cuda-12020",
15262        feature = "cuda-12030",
15263        feature = "cuda-12040",
15264        feature = "cuda-12050",
15265        feature = "cuda-12060",
15266        feature = "cuda-12080",
15267        feature = "cuda-12090",
15268        feature = "cuda-13000"
15269    ))]
15270    pub unsafe fn cuMulticastAddDevice(
15271        mcHandle: CUmemGenericAllocationHandle,
15272        dev: CUdevice,
15273    ) -> CUresult {
15274        (culib().cuMulticastAddDevice)(mcHandle, dev)
15275    }
15276    #[cfg(any(
15277        feature = "cuda-12010",
15278        feature = "cuda-12020",
15279        feature = "cuda-12030",
15280        feature = "cuda-12040",
15281        feature = "cuda-12050",
15282        feature = "cuda-12060",
15283        feature = "cuda-12080",
15284        feature = "cuda-12090",
15285        feature = "cuda-13000"
15286    ))]
15287    pub unsafe fn cuMulticastBindAddr(
15288        mcHandle: CUmemGenericAllocationHandle,
15289        mcOffset: usize,
15290        memptr: CUdeviceptr,
15291        size: usize,
15292        flags: ::core::ffi::c_ulonglong,
15293    ) -> CUresult {
15294        (culib().cuMulticastBindAddr)(mcHandle, mcOffset, memptr, size, flags)
15295    }
15296    #[cfg(any(
15297        feature = "cuda-12010",
15298        feature = "cuda-12020",
15299        feature = "cuda-12030",
15300        feature = "cuda-12040",
15301        feature = "cuda-12050",
15302        feature = "cuda-12060",
15303        feature = "cuda-12080",
15304        feature = "cuda-12090",
15305        feature = "cuda-13000"
15306    ))]
15307    pub unsafe fn cuMulticastBindMem(
15308        mcHandle: CUmemGenericAllocationHandle,
15309        mcOffset: usize,
15310        memHandle: CUmemGenericAllocationHandle,
15311        memOffset: usize,
15312        size: usize,
15313        flags: ::core::ffi::c_ulonglong,
15314    ) -> CUresult {
15315        (culib().cuMulticastBindMem)(mcHandle, mcOffset, memHandle, memOffset, size, flags)
15316    }
15317    #[cfg(any(
15318        feature = "cuda-12010",
15319        feature = "cuda-12020",
15320        feature = "cuda-12030",
15321        feature = "cuda-12040",
15322        feature = "cuda-12050",
15323        feature = "cuda-12060",
15324        feature = "cuda-12080",
15325        feature = "cuda-12090",
15326        feature = "cuda-13000"
15327    ))]
15328    pub unsafe fn cuMulticastCreate(
15329        mcHandle: *mut CUmemGenericAllocationHandle,
15330        prop: *const CUmulticastObjectProp,
15331    ) -> CUresult {
15332        (culib().cuMulticastCreate)(mcHandle, prop)
15333    }
15334    #[cfg(any(
15335        feature = "cuda-12010",
15336        feature = "cuda-12020",
15337        feature = "cuda-12030",
15338        feature = "cuda-12040",
15339        feature = "cuda-12050",
15340        feature = "cuda-12060",
15341        feature = "cuda-12080",
15342        feature = "cuda-12090",
15343        feature = "cuda-13000"
15344    ))]
15345    pub unsafe fn cuMulticastGetGranularity(
15346        granularity: *mut usize,
15347        prop: *const CUmulticastObjectProp,
15348        option: CUmulticastGranularity_flags,
15349    ) -> CUresult {
15350        (culib().cuMulticastGetGranularity)(granularity, prop, option)
15351    }
15352    #[cfg(any(
15353        feature = "cuda-12010",
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 unsafe fn cuMulticastUnbind(
15364        mcHandle: CUmemGenericAllocationHandle,
15365        dev: CUdevice,
15366        mcOffset: usize,
15367        size: usize,
15368    ) -> CUresult {
15369        (culib().cuMulticastUnbind)(mcHandle, dev, mcOffset, size)
15370    }
15371    pub unsafe fn cuOccupancyAvailableDynamicSMemPerBlock(
15372        dynamicSmemSize: *mut usize,
15373        func: CUfunction,
15374        numBlocks: ::core::ffi::c_int,
15375        blockSize: ::core::ffi::c_int,
15376    ) -> CUresult {
15377        (culib().cuOccupancyAvailableDynamicSMemPerBlock)(
15378            dynamicSmemSize,
15379            func,
15380            numBlocks,
15381            blockSize,
15382        )
15383    }
15384    pub unsafe fn cuOccupancyMaxActiveBlocksPerMultiprocessor(
15385        numBlocks: *mut ::core::ffi::c_int,
15386        func: CUfunction,
15387        blockSize: ::core::ffi::c_int,
15388        dynamicSMemSize: usize,
15389    ) -> CUresult {
15390        (culib().cuOccupancyMaxActiveBlocksPerMultiprocessor)(
15391            numBlocks,
15392            func,
15393            blockSize,
15394            dynamicSMemSize,
15395        )
15396    }
15397    pub unsafe fn cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
15398        numBlocks: *mut ::core::ffi::c_int,
15399        func: CUfunction,
15400        blockSize: ::core::ffi::c_int,
15401        dynamicSMemSize: usize,
15402        flags: ::core::ffi::c_uint,
15403    ) -> CUresult {
15404        (culib().cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags)(
15405            numBlocks,
15406            func,
15407            blockSize,
15408            dynamicSMemSize,
15409            flags,
15410        )
15411    }
15412    #[cfg(any(
15413        feature = "cuda-11080",
15414        feature = "cuda-12000",
15415        feature = "cuda-12010",
15416        feature = "cuda-12020",
15417        feature = "cuda-12030",
15418        feature = "cuda-12040",
15419        feature = "cuda-12050",
15420        feature = "cuda-12060",
15421        feature = "cuda-12080",
15422        feature = "cuda-12090",
15423        feature = "cuda-13000"
15424    ))]
15425    pub unsafe fn cuOccupancyMaxActiveClusters(
15426        numClusters: *mut ::core::ffi::c_int,
15427        func: CUfunction,
15428        config: *const CUlaunchConfig,
15429    ) -> CUresult {
15430        (culib().cuOccupancyMaxActiveClusters)(numClusters, func, config)
15431    }
15432    pub unsafe fn cuOccupancyMaxPotentialBlockSize(
15433        minGridSize: *mut ::core::ffi::c_int,
15434        blockSize: *mut ::core::ffi::c_int,
15435        func: CUfunction,
15436        blockSizeToDynamicSMemSize: CUoccupancyB2DSize,
15437        dynamicSMemSize: usize,
15438        blockSizeLimit: ::core::ffi::c_int,
15439    ) -> CUresult {
15440        (culib().cuOccupancyMaxPotentialBlockSize)(
15441            minGridSize,
15442            blockSize,
15443            func,
15444            blockSizeToDynamicSMemSize,
15445            dynamicSMemSize,
15446            blockSizeLimit,
15447        )
15448    }
15449    pub unsafe fn cuOccupancyMaxPotentialBlockSizeWithFlags(
15450        minGridSize: *mut ::core::ffi::c_int,
15451        blockSize: *mut ::core::ffi::c_int,
15452        func: CUfunction,
15453        blockSizeToDynamicSMemSize: CUoccupancyB2DSize,
15454        dynamicSMemSize: usize,
15455        blockSizeLimit: ::core::ffi::c_int,
15456        flags: ::core::ffi::c_uint,
15457    ) -> CUresult {
15458        (culib().cuOccupancyMaxPotentialBlockSizeWithFlags)(
15459            minGridSize,
15460            blockSize,
15461            func,
15462            blockSizeToDynamicSMemSize,
15463            dynamicSMemSize,
15464            blockSizeLimit,
15465            flags,
15466        )
15467    }
15468    #[cfg(any(
15469        feature = "cuda-11080",
15470        feature = "cuda-12000",
15471        feature = "cuda-12010",
15472        feature = "cuda-12020",
15473        feature = "cuda-12030",
15474        feature = "cuda-12040",
15475        feature = "cuda-12050",
15476        feature = "cuda-12060",
15477        feature = "cuda-12080",
15478        feature = "cuda-12090",
15479        feature = "cuda-13000"
15480    ))]
15481    pub unsafe fn cuOccupancyMaxPotentialClusterSize(
15482        clusterSize: *mut ::core::ffi::c_int,
15483        func: CUfunction,
15484        config: *const CUlaunchConfig,
15485    ) -> CUresult {
15486        (culib().cuOccupancyMaxPotentialClusterSize)(clusterSize, func, config)
15487    }
15488    pub unsafe fn cuParamSetSize(hfunc: CUfunction, numbytes: ::core::ffi::c_uint) -> CUresult {
15489        (culib().cuParamSetSize)(hfunc, numbytes)
15490    }
15491    pub unsafe fn cuParamSetTexRef(
15492        hfunc: CUfunction,
15493        texunit: ::core::ffi::c_int,
15494        hTexRef: CUtexref,
15495    ) -> CUresult {
15496        (culib().cuParamSetTexRef)(hfunc, texunit, hTexRef)
15497    }
15498    pub unsafe fn cuParamSetf(
15499        hfunc: CUfunction,
15500        offset: ::core::ffi::c_int,
15501        value: f32,
15502    ) -> CUresult {
15503        (culib().cuParamSetf)(hfunc, offset, value)
15504    }
15505    pub unsafe fn cuParamSeti(
15506        hfunc: CUfunction,
15507        offset: ::core::ffi::c_int,
15508        value: ::core::ffi::c_uint,
15509    ) -> CUresult {
15510        (culib().cuParamSeti)(hfunc, offset, value)
15511    }
15512    pub unsafe fn cuParamSetv(
15513        hfunc: CUfunction,
15514        offset: ::core::ffi::c_int,
15515        ptr: *mut ::core::ffi::c_void,
15516        numbytes: ::core::ffi::c_uint,
15517    ) -> CUresult {
15518        (culib().cuParamSetv)(hfunc, offset, ptr, numbytes)
15519    }
15520    pub unsafe fn cuPointerGetAttribute(
15521        data: *mut ::core::ffi::c_void,
15522        attribute: CUpointer_attribute,
15523        ptr: CUdeviceptr,
15524    ) -> CUresult {
15525        (culib().cuPointerGetAttribute)(data, attribute, ptr)
15526    }
15527    pub unsafe fn cuPointerGetAttributes(
15528        numAttributes: ::core::ffi::c_uint,
15529        attributes: *mut CUpointer_attribute,
15530        data: *mut *mut ::core::ffi::c_void,
15531        ptr: CUdeviceptr,
15532    ) -> CUresult {
15533        (culib().cuPointerGetAttributes)(numAttributes, attributes, data, ptr)
15534    }
15535    pub unsafe fn cuPointerSetAttribute(
15536        value: *const ::core::ffi::c_void,
15537        attribute: CUpointer_attribute,
15538        ptr: CUdeviceptr,
15539    ) -> CUresult {
15540        (culib().cuPointerSetAttribute)(value, attribute, ptr)
15541    }
15542    pub unsafe fn cuProfilerInitialize(
15543        configFile: *const ::core::ffi::c_char,
15544        outputFile: *const ::core::ffi::c_char,
15545        outputMode: CUoutput_mode,
15546    ) -> CUresult {
15547        (culib().cuProfilerInitialize)(configFile, outputFile, outputMode)
15548    }
15549    pub unsafe fn cuProfilerStart() -> CUresult {
15550        (culib().cuProfilerStart)()
15551    }
15552    pub unsafe fn cuProfilerStop() -> CUresult {
15553        (culib().cuProfilerStop)()
15554    }
15555    pub unsafe fn cuSignalExternalSemaphoresAsync(
15556        extSemArray: *const CUexternalSemaphore,
15557        paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,
15558        numExtSems: ::core::ffi::c_uint,
15559        stream: CUstream,
15560    ) -> CUresult {
15561        (culib().cuSignalExternalSemaphoresAsync)(extSemArray, paramsArray, numExtSems, stream)
15562    }
15563    pub unsafe fn cuStreamAddCallback(
15564        hStream: CUstream,
15565        callback: CUstreamCallback,
15566        userData: *mut ::core::ffi::c_void,
15567        flags: ::core::ffi::c_uint,
15568    ) -> CUresult {
15569        (culib().cuStreamAddCallback)(hStream, callback, userData, flags)
15570    }
15571    pub unsafe fn cuStreamAttachMemAsync(
15572        hStream: CUstream,
15573        dptr: CUdeviceptr,
15574        length: usize,
15575        flags: ::core::ffi::c_uint,
15576    ) -> CUresult {
15577        (culib().cuStreamAttachMemAsync)(hStream, dptr, length, flags)
15578    }
15579    #[cfg(any(
15580        feature = "cuda-11040",
15581        feature = "cuda-11050",
15582        feature = "cuda-11060",
15583        feature = "cuda-11070",
15584        feature = "cuda-11080"
15585    ))]
15586    pub unsafe fn cuStreamBatchMemOp(
15587        stream: CUstream,
15588        count: ::core::ffi::c_uint,
15589        paramArray: *mut CUstreamBatchMemOpParams,
15590        flags: ::core::ffi::c_uint,
15591    ) -> CUresult {
15592        (culib().cuStreamBatchMemOp)(stream, count, paramArray, flags)
15593    }
15594    #[cfg(any(
15595        feature = "cuda-11070",
15596        feature = "cuda-11080",
15597        feature = "cuda-12000",
15598        feature = "cuda-12010",
15599        feature = "cuda-12020",
15600        feature = "cuda-12030",
15601        feature = "cuda-12040",
15602        feature = "cuda-12050",
15603        feature = "cuda-12060",
15604        feature = "cuda-12080",
15605        feature = "cuda-12090",
15606        feature = "cuda-13000"
15607    ))]
15608    pub unsafe fn cuStreamBatchMemOp_v2(
15609        stream: CUstream,
15610        count: ::core::ffi::c_uint,
15611        paramArray: *mut CUstreamBatchMemOpParams,
15612        flags: ::core::ffi::c_uint,
15613    ) -> CUresult {
15614        (culib().cuStreamBatchMemOp_v2)(stream, count, paramArray, flags)
15615    }
15616    #[cfg(any(
15617        feature = "cuda-12030",
15618        feature = "cuda-12040",
15619        feature = "cuda-12050",
15620        feature = "cuda-12060",
15621        feature = "cuda-12080",
15622        feature = "cuda-12090",
15623        feature = "cuda-13000"
15624    ))]
15625    pub unsafe fn cuStreamBeginCaptureToGraph(
15626        hStream: CUstream,
15627        hGraph: CUgraph,
15628        dependencies: *const CUgraphNode,
15629        dependencyData: *const CUgraphEdgeData,
15630        numDependencies: usize,
15631        mode: CUstreamCaptureMode,
15632    ) -> CUresult {
15633        (culib().cuStreamBeginCaptureToGraph)(
15634            hStream,
15635            hGraph,
15636            dependencies,
15637            dependencyData,
15638            numDependencies,
15639            mode,
15640        )
15641    }
15642    pub unsafe fn cuStreamBeginCapture_v2(
15643        hStream: CUstream,
15644        mode: CUstreamCaptureMode,
15645    ) -> CUresult {
15646        (culib().cuStreamBeginCapture_v2)(hStream, mode)
15647    }
15648    pub unsafe fn cuStreamCopyAttributes(dst: CUstream, src: CUstream) -> CUresult {
15649        (culib().cuStreamCopyAttributes)(dst, src)
15650    }
15651    pub unsafe fn cuStreamCreate(phStream: *mut CUstream, Flags: ::core::ffi::c_uint) -> CUresult {
15652        (culib().cuStreamCreate)(phStream, Flags)
15653    }
15654    pub unsafe fn cuStreamCreateWithPriority(
15655        phStream: *mut CUstream,
15656        flags: ::core::ffi::c_uint,
15657        priority: ::core::ffi::c_int,
15658    ) -> CUresult {
15659        (culib().cuStreamCreateWithPriority)(phStream, flags, priority)
15660    }
15661    pub unsafe fn cuStreamDestroy_v2(hStream: CUstream) -> CUresult {
15662        (culib().cuStreamDestroy_v2)(hStream)
15663    }
15664    pub unsafe fn cuStreamEndCapture(hStream: CUstream, phGraph: *mut CUgraph) -> CUresult {
15665        (culib().cuStreamEndCapture)(hStream, phGraph)
15666    }
15667    pub unsafe fn cuStreamGetAttribute(
15668        hStream: CUstream,
15669        attr: CUstreamAttrID,
15670        value_out: *mut CUstreamAttrValue,
15671    ) -> CUresult {
15672        (culib().cuStreamGetAttribute)(hStream, attr, value_out)
15673    }
15674    #[cfg(any(
15675        feature = "cuda-11040",
15676        feature = "cuda-11050",
15677        feature = "cuda-11060",
15678        feature = "cuda-11070",
15679        feature = "cuda-11080"
15680    ))]
15681    pub unsafe fn cuStreamGetCaptureInfo(
15682        hStream: CUstream,
15683        captureStatus_out: *mut CUstreamCaptureStatus,
15684        id_out: *mut cuuint64_t,
15685    ) -> CUresult {
15686        (culib().cuStreamGetCaptureInfo)(hStream, captureStatus_out, id_out)
15687    }
15688    #[cfg(any(
15689        feature = "cuda-11040",
15690        feature = "cuda-11050",
15691        feature = "cuda-11060",
15692        feature = "cuda-11070",
15693        feature = "cuda-11080",
15694        feature = "cuda-12000",
15695        feature = "cuda-12010",
15696        feature = "cuda-12020",
15697        feature = "cuda-12030",
15698        feature = "cuda-12040",
15699        feature = "cuda-12050",
15700        feature = "cuda-12060",
15701        feature = "cuda-12080",
15702        feature = "cuda-12090"
15703    ))]
15704    pub unsafe fn cuStreamGetCaptureInfo_v2(
15705        hStream: CUstream,
15706        captureStatus_out: *mut CUstreamCaptureStatus,
15707        id_out: *mut cuuint64_t,
15708        graph_out: *mut CUgraph,
15709        dependencies_out: *mut *const CUgraphNode,
15710        numDependencies_out: *mut usize,
15711    ) -> CUresult {
15712        (culib().cuStreamGetCaptureInfo_v2)(
15713            hStream,
15714            captureStatus_out,
15715            id_out,
15716            graph_out,
15717            dependencies_out,
15718            numDependencies_out,
15719        )
15720    }
15721    #[cfg(any(
15722        feature = "cuda-12030",
15723        feature = "cuda-12040",
15724        feature = "cuda-12050",
15725        feature = "cuda-12060",
15726        feature = "cuda-12080",
15727        feature = "cuda-12090",
15728        feature = "cuda-13000"
15729    ))]
15730    pub unsafe fn cuStreamGetCaptureInfo_v3(
15731        hStream: CUstream,
15732        captureStatus_out: *mut CUstreamCaptureStatus,
15733        id_out: *mut cuuint64_t,
15734        graph_out: *mut CUgraph,
15735        dependencies_out: *mut *const CUgraphNode,
15736        edgeData_out: *mut *const CUgraphEdgeData,
15737        numDependencies_out: *mut usize,
15738    ) -> CUresult {
15739        (culib().cuStreamGetCaptureInfo_v3)(
15740            hStream,
15741            captureStatus_out,
15742            id_out,
15743            graph_out,
15744            dependencies_out,
15745            edgeData_out,
15746            numDependencies_out,
15747        )
15748    }
15749    pub unsafe fn cuStreamGetCtx(hStream: CUstream, pctx: *mut CUcontext) -> CUresult {
15750        (culib().cuStreamGetCtx)(hStream, pctx)
15751    }
15752    #[cfg(any(
15753        feature = "cuda-12050",
15754        feature = "cuda-12060",
15755        feature = "cuda-12080",
15756        feature = "cuda-12090",
15757        feature = "cuda-13000"
15758    ))]
15759    pub unsafe fn cuStreamGetCtx_v2(
15760        hStream: CUstream,
15761        pCtx: *mut CUcontext,
15762        pGreenCtx: *mut CUgreenCtx,
15763    ) -> CUresult {
15764        (culib().cuStreamGetCtx_v2)(hStream, pCtx, pGreenCtx)
15765    }
15766    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
15767    pub unsafe fn cuStreamGetDevice(hStream: CUstream, device: *mut CUdevice) -> CUresult {
15768        (culib().cuStreamGetDevice)(hStream, device)
15769    }
15770    pub unsafe fn cuStreamGetFlags(hStream: CUstream, flags: *mut ::core::ffi::c_uint) -> CUresult {
15771        (culib().cuStreamGetFlags)(hStream, flags)
15772    }
15773    #[cfg(any(
15774        feature = "cuda-12040",
15775        feature = "cuda-12050",
15776        feature = "cuda-12060",
15777        feature = "cuda-12080",
15778        feature = "cuda-12090",
15779        feature = "cuda-13000"
15780    ))]
15781    pub unsafe fn cuStreamGetGreenCtx(hStream: CUstream, phCtx: *mut CUgreenCtx) -> CUresult {
15782        (culib().cuStreamGetGreenCtx)(hStream, phCtx)
15783    }
15784    #[cfg(any(
15785        feature = "cuda-12000",
15786        feature = "cuda-12010",
15787        feature = "cuda-12020",
15788        feature = "cuda-12030",
15789        feature = "cuda-12040",
15790        feature = "cuda-12050",
15791        feature = "cuda-12060",
15792        feature = "cuda-12080",
15793        feature = "cuda-12090",
15794        feature = "cuda-13000"
15795    ))]
15796    pub unsafe fn cuStreamGetId(
15797        hStream: CUstream,
15798        streamId: *mut ::core::ffi::c_ulonglong,
15799    ) -> CUresult {
15800        (culib().cuStreamGetId)(hStream, streamId)
15801    }
15802    pub unsafe fn cuStreamGetPriority(
15803        hStream: CUstream,
15804        priority: *mut ::core::ffi::c_int,
15805    ) -> CUresult {
15806        (culib().cuStreamGetPriority)(hStream, priority)
15807    }
15808    pub unsafe fn cuStreamIsCapturing(
15809        hStream: CUstream,
15810        captureStatus: *mut CUstreamCaptureStatus,
15811    ) -> CUresult {
15812        (culib().cuStreamIsCapturing)(hStream, captureStatus)
15813    }
15814    pub unsafe fn cuStreamQuery(hStream: CUstream) -> CUresult {
15815        (culib().cuStreamQuery)(hStream)
15816    }
15817    pub unsafe fn cuStreamSetAttribute(
15818        hStream: CUstream,
15819        attr: CUstreamAttrID,
15820        value: *const CUstreamAttrValue,
15821    ) -> CUresult {
15822        (culib().cuStreamSetAttribute)(hStream, attr, value)
15823    }
15824    pub unsafe fn cuStreamSynchronize(hStream: CUstream) -> CUresult {
15825        (culib().cuStreamSynchronize)(hStream)
15826    }
15827    #[cfg(any(
15828        feature = "cuda-11040",
15829        feature = "cuda-11050",
15830        feature = "cuda-11060",
15831        feature = "cuda-11070",
15832        feature = "cuda-11080",
15833        feature = "cuda-12000",
15834        feature = "cuda-12010",
15835        feature = "cuda-12020",
15836        feature = "cuda-12030",
15837        feature = "cuda-12040",
15838        feature = "cuda-12050",
15839        feature = "cuda-12060",
15840        feature = "cuda-12080",
15841        feature = "cuda-12090"
15842    ))]
15843    pub unsafe fn cuStreamUpdateCaptureDependencies(
15844        hStream: CUstream,
15845        dependencies: *mut CUgraphNode,
15846        numDependencies: usize,
15847        flags: ::core::ffi::c_uint,
15848    ) -> CUresult {
15849        (culib().cuStreamUpdateCaptureDependencies)(hStream, dependencies, numDependencies, flags)
15850    }
15851    #[cfg(any(
15852        feature = "cuda-12030",
15853        feature = "cuda-12040",
15854        feature = "cuda-12050",
15855        feature = "cuda-12060",
15856        feature = "cuda-12080",
15857        feature = "cuda-12090",
15858        feature = "cuda-13000"
15859    ))]
15860    pub unsafe fn cuStreamUpdateCaptureDependencies_v2(
15861        hStream: CUstream,
15862        dependencies: *mut CUgraphNode,
15863        dependencyData: *const CUgraphEdgeData,
15864        numDependencies: usize,
15865        flags: ::core::ffi::c_uint,
15866    ) -> CUresult {
15867        (culib().cuStreamUpdateCaptureDependencies_v2)(
15868            hStream,
15869            dependencies,
15870            dependencyData,
15871            numDependencies,
15872            flags,
15873        )
15874    }
15875    pub unsafe fn cuStreamWaitEvent(
15876        hStream: CUstream,
15877        hEvent: CUevent,
15878        Flags: ::core::ffi::c_uint,
15879    ) -> CUresult {
15880        (culib().cuStreamWaitEvent)(hStream, hEvent, Flags)
15881    }
15882    #[cfg(any(
15883        feature = "cuda-11040",
15884        feature = "cuda-11050",
15885        feature = "cuda-11060",
15886        feature = "cuda-11070",
15887        feature = "cuda-11080"
15888    ))]
15889    pub unsafe fn cuStreamWaitValue32(
15890        stream: CUstream,
15891        addr: CUdeviceptr,
15892        value: cuuint32_t,
15893        flags: ::core::ffi::c_uint,
15894    ) -> CUresult {
15895        (culib().cuStreamWaitValue32)(stream, addr, value, flags)
15896    }
15897    #[cfg(any(
15898        feature = "cuda-11070",
15899        feature = "cuda-11080",
15900        feature = "cuda-12000",
15901        feature = "cuda-12010",
15902        feature = "cuda-12020",
15903        feature = "cuda-12030",
15904        feature = "cuda-12040",
15905        feature = "cuda-12050",
15906        feature = "cuda-12060",
15907        feature = "cuda-12080",
15908        feature = "cuda-12090",
15909        feature = "cuda-13000"
15910    ))]
15911    pub unsafe fn cuStreamWaitValue32_v2(
15912        stream: CUstream,
15913        addr: CUdeviceptr,
15914        value: cuuint32_t,
15915        flags: ::core::ffi::c_uint,
15916    ) -> CUresult {
15917        (culib().cuStreamWaitValue32_v2)(stream, addr, value, flags)
15918    }
15919    #[cfg(any(
15920        feature = "cuda-11040",
15921        feature = "cuda-11050",
15922        feature = "cuda-11060",
15923        feature = "cuda-11070",
15924        feature = "cuda-11080"
15925    ))]
15926    pub unsafe fn cuStreamWaitValue64(
15927        stream: CUstream,
15928        addr: CUdeviceptr,
15929        value: cuuint64_t,
15930        flags: ::core::ffi::c_uint,
15931    ) -> CUresult {
15932        (culib().cuStreamWaitValue64)(stream, addr, value, flags)
15933    }
15934    #[cfg(any(
15935        feature = "cuda-11070",
15936        feature = "cuda-11080",
15937        feature = "cuda-12000",
15938        feature = "cuda-12010",
15939        feature = "cuda-12020",
15940        feature = "cuda-12030",
15941        feature = "cuda-12040",
15942        feature = "cuda-12050",
15943        feature = "cuda-12060",
15944        feature = "cuda-12080",
15945        feature = "cuda-12090",
15946        feature = "cuda-13000"
15947    ))]
15948    pub unsafe fn cuStreamWaitValue64_v2(
15949        stream: CUstream,
15950        addr: CUdeviceptr,
15951        value: cuuint64_t,
15952        flags: ::core::ffi::c_uint,
15953    ) -> CUresult {
15954        (culib().cuStreamWaitValue64_v2)(stream, addr, value, flags)
15955    }
15956    #[cfg(any(
15957        feature = "cuda-11040",
15958        feature = "cuda-11050",
15959        feature = "cuda-11060",
15960        feature = "cuda-11070",
15961        feature = "cuda-11080"
15962    ))]
15963    pub unsafe fn cuStreamWriteValue32(
15964        stream: CUstream,
15965        addr: CUdeviceptr,
15966        value: cuuint32_t,
15967        flags: ::core::ffi::c_uint,
15968    ) -> CUresult {
15969        (culib().cuStreamWriteValue32)(stream, addr, value, flags)
15970    }
15971    #[cfg(any(
15972        feature = "cuda-11070",
15973        feature = "cuda-11080",
15974        feature = "cuda-12000",
15975        feature = "cuda-12010",
15976        feature = "cuda-12020",
15977        feature = "cuda-12030",
15978        feature = "cuda-12040",
15979        feature = "cuda-12050",
15980        feature = "cuda-12060",
15981        feature = "cuda-12080",
15982        feature = "cuda-12090",
15983        feature = "cuda-13000"
15984    ))]
15985    pub unsafe fn cuStreamWriteValue32_v2(
15986        stream: CUstream,
15987        addr: CUdeviceptr,
15988        value: cuuint32_t,
15989        flags: ::core::ffi::c_uint,
15990    ) -> CUresult {
15991        (culib().cuStreamWriteValue32_v2)(stream, addr, value, flags)
15992    }
15993    #[cfg(any(
15994        feature = "cuda-11040",
15995        feature = "cuda-11050",
15996        feature = "cuda-11060",
15997        feature = "cuda-11070",
15998        feature = "cuda-11080"
15999    ))]
16000    pub unsafe fn cuStreamWriteValue64(
16001        stream: CUstream,
16002        addr: CUdeviceptr,
16003        value: cuuint64_t,
16004        flags: ::core::ffi::c_uint,
16005    ) -> CUresult {
16006        (culib().cuStreamWriteValue64)(stream, addr, value, flags)
16007    }
16008    #[cfg(any(
16009        feature = "cuda-11070",
16010        feature = "cuda-11080",
16011        feature = "cuda-12000",
16012        feature = "cuda-12010",
16013        feature = "cuda-12020",
16014        feature = "cuda-12030",
16015        feature = "cuda-12040",
16016        feature = "cuda-12050",
16017        feature = "cuda-12060",
16018        feature = "cuda-12080",
16019        feature = "cuda-12090",
16020        feature = "cuda-13000"
16021    ))]
16022    pub unsafe fn cuStreamWriteValue64_v2(
16023        stream: CUstream,
16024        addr: CUdeviceptr,
16025        value: cuuint64_t,
16026        flags: ::core::ffi::c_uint,
16027    ) -> CUresult {
16028        (culib().cuStreamWriteValue64_v2)(stream, addr, value, flags)
16029    }
16030    pub unsafe fn cuSurfObjectCreate(
16031        pSurfObject: *mut CUsurfObject,
16032        pResDesc: *const CUDA_RESOURCE_DESC,
16033    ) -> CUresult {
16034        (culib().cuSurfObjectCreate)(pSurfObject, pResDesc)
16035    }
16036    pub unsafe fn cuSurfObjectDestroy(surfObject: CUsurfObject) -> CUresult {
16037        (culib().cuSurfObjectDestroy)(surfObject)
16038    }
16039    pub unsafe fn cuSurfObjectGetResourceDesc(
16040        pResDesc: *mut CUDA_RESOURCE_DESC,
16041        surfObject: CUsurfObject,
16042    ) -> CUresult {
16043        (culib().cuSurfObjectGetResourceDesc)(pResDesc, surfObject)
16044    }
16045    pub unsafe fn cuSurfRefGetArray(phArray: *mut CUarray, hSurfRef: CUsurfref) -> CUresult {
16046        (culib().cuSurfRefGetArray)(phArray, hSurfRef)
16047    }
16048    pub unsafe fn cuSurfRefSetArray(
16049        hSurfRef: CUsurfref,
16050        hArray: CUarray,
16051        Flags: ::core::ffi::c_uint,
16052    ) -> CUresult {
16053        (culib().cuSurfRefSetArray)(hSurfRef, hArray, Flags)
16054    }
16055    #[cfg(any(
16056        feature = "cuda-12000",
16057        feature = "cuda-12010",
16058        feature = "cuda-12020",
16059        feature = "cuda-12030",
16060        feature = "cuda-12040",
16061        feature = "cuda-12050",
16062        feature = "cuda-12060",
16063        feature = "cuda-12080",
16064        feature = "cuda-12090",
16065        feature = "cuda-13000"
16066    ))]
16067    pub unsafe fn cuTensorMapEncodeIm2col(
16068        tensorMap: *mut CUtensorMap,
16069        tensorDataType: CUtensorMapDataType,
16070        tensorRank: cuuint32_t,
16071        globalAddress: *mut ::core::ffi::c_void,
16072        globalDim: *const cuuint64_t,
16073        globalStrides: *const cuuint64_t,
16074        pixelBoxLowerCorner: *const ::core::ffi::c_int,
16075        pixelBoxUpperCorner: *const ::core::ffi::c_int,
16076        channelsPerPixel: cuuint32_t,
16077        pixelsPerColumn: cuuint32_t,
16078        elementStrides: *const cuuint32_t,
16079        interleave: CUtensorMapInterleave,
16080        swizzle: CUtensorMapSwizzle,
16081        l2Promotion: CUtensorMapL2promotion,
16082        oobFill: CUtensorMapFloatOOBfill,
16083    ) -> CUresult {
16084        (culib().cuTensorMapEncodeIm2col)(
16085            tensorMap,
16086            tensorDataType,
16087            tensorRank,
16088            globalAddress,
16089            globalDim,
16090            globalStrides,
16091            pixelBoxLowerCorner,
16092            pixelBoxUpperCorner,
16093            channelsPerPixel,
16094            pixelsPerColumn,
16095            elementStrides,
16096            interleave,
16097            swizzle,
16098            l2Promotion,
16099            oobFill,
16100        )
16101    }
16102    #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16103    pub unsafe fn cuTensorMapEncodeIm2colWide(
16104        tensorMap: *mut CUtensorMap,
16105        tensorDataType: CUtensorMapDataType,
16106        tensorRank: cuuint32_t,
16107        globalAddress: *mut ::core::ffi::c_void,
16108        globalDim: *const cuuint64_t,
16109        globalStrides: *const cuuint64_t,
16110        pixelBoxLowerCornerWidth: ::core::ffi::c_int,
16111        pixelBoxUpperCornerWidth: ::core::ffi::c_int,
16112        channelsPerPixel: cuuint32_t,
16113        pixelsPerColumn: cuuint32_t,
16114        elementStrides: *const cuuint32_t,
16115        interleave: CUtensorMapInterleave,
16116        mode: CUtensorMapIm2ColWideMode,
16117        swizzle: CUtensorMapSwizzle,
16118        l2Promotion: CUtensorMapL2promotion,
16119        oobFill: CUtensorMapFloatOOBfill,
16120    ) -> CUresult {
16121        (culib().cuTensorMapEncodeIm2colWide)(
16122            tensorMap,
16123            tensorDataType,
16124            tensorRank,
16125            globalAddress,
16126            globalDim,
16127            globalStrides,
16128            pixelBoxLowerCornerWidth,
16129            pixelBoxUpperCornerWidth,
16130            channelsPerPixel,
16131            pixelsPerColumn,
16132            elementStrides,
16133            interleave,
16134            mode,
16135            swizzle,
16136            l2Promotion,
16137            oobFill,
16138        )
16139    }
16140    #[cfg(any(
16141        feature = "cuda-12000",
16142        feature = "cuda-12010",
16143        feature = "cuda-12020",
16144        feature = "cuda-12030",
16145        feature = "cuda-12040",
16146        feature = "cuda-12050",
16147        feature = "cuda-12060",
16148        feature = "cuda-12080",
16149        feature = "cuda-12090",
16150        feature = "cuda-13000"
16151    ))]
16152    pub unsafe fn cuTensorMapEncodeTiled(
16153        tensorMap: *mut CUtensorMap,
16154        tensorDataType: CUtensorMapDataType,
16155        tensorRank: cuuint32_t,
16156        globalAddress: *mut ::core::ffi::c_void,
16157        globalDim: *const cuuint64_t,
16158        globalStrides: *const cuuint64_t,
16159        boxDim: *const cuuint32_t,
16160        elementStrides: *const cuuint32_t,
16161        interleave: CUtensorMapInterleave,
16162        swizzle: CUtensorMapSwizzle,
16163        l2Promotion: CUtensorMapL2promotion,
16164        oobFill: CUtensorMapFloatOOBfill,
16165    ) -> CUresult {
16166        (culib().cuTensorMapEncodeTiled)(
16167            tensorMap,
16168            tensorDataType,
16169            tensorRank,
16170            globalAddress,
16171            globalDim,
16172            globalStrides,
16173            boxDim,
16174            elementStrides,
16175            interleave,
16176            swizzle,
16177            l2Promotion,
16178            oobFill,
16179        )
16180    }
16181    #[cfg(any(
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        feature = "cuda-13000"
16192    ))]
16193    pub unsafe fn cuTensorMapReplaceAddress(
16194        tensorMap: *mut CUtensorMap,
16195        globalAddress: *mut ::core::ffi::c_void,
16196    ) -> CUresult {
16197        (culib().cuTensorMapReplaceAddress)(tensorMap, globalAddress)
16198    }
16199    pub unsafe fn cuTexObjectCreate(
16200        pTexObject: *mut CUtexObject,
16201        pResDesc: *const CUDA_RESOURCE_DESC,
16202        pTexDesc: *const CUDA_TEXTURE_DESC,
16203        pResViewDesc: *const CUDA_RESOURCE_VIEW_DESC,
16204    ) -> CUresult {
16205        (culib().cuTexObjectCreate)(pTexObject, pResDesc, pTexDesc, pResViewDesc)
16206    }
16207    pub unsafe fn cuTexObjectDestroy(texObject: CUtexObject) -> CUresult {
16208        (culib().cuTexObjectDestroy)(texObject)
16209    }
16210    pub unsafe fn cuTexObjectGetResourceDesc(
16211        pResDesc: *mut CUDA_RESOURCE_DESC,
16212        texObject: CUtexObject,
16213    ) -> CUresult {
16214        (culib().cuTexObjectGetResourceDesc)(pResDesc, texObject)
16215    }
16216    pub unsafe fn cuTexObjectGetResourceViewDesc(
16217        pResViewDesc: *mut CUDA_RESOURCE_VIEW_DESC,
16218        texObject: CUtexObject,
16219    ) -> CUresult {
16220        (culib().cuTexObjectGetResourceViewDesc)(pResViewDesc, texObject)
16221    }
16222    pub unsafe fn cuTexObjectGetTextureDesc(
16223        pTexDesc: *mut CUDA_TEXTURE_DESC,
16224        texObject: CUtexObject,
16225    ) -> CUresult {
16226        (culib().cuTexObjectGetTextureDesc)(pTexDesc, texObject)
16227    }
16228    pub unsafe fn cuTexRefCreate(pTexRef: *mut CUtexref) -> CUresult {
16229        (culib().cuTexRefCreate)(pTexRef)
16230    }
16231    pub unsafe fn cuTexRefDestroy(hTexRef: CUtexref) -> CUresult {
16232        (culib().cuTexRefDestroy)(hTexRef)
16233    }
16234    pub unsafe fn cuTexRefGetAddressMode(
16235        pam: *mut CUaddress_mode,
16236        hTexRef: CUtexref,
16237        dim: ::core::ffi::c_int,
16238    ) -> CUresult {
16239        (culib().cuTexRefGetAddressMode)(pam, hTexRef, dim)
16240    }
16241    pub unsafe fn cuTexRefGetAddress_v2(pdptr: *mut CUdeviceptr, hTexRef: CUtexref) -> CUresult {
16242        (culib().cuTexRefGetAddress_v2)(pdptr, hTexRef)
16243    }
16244    pub unsafe fn cuTexRefGetArray(phArray: *mut CUarray, hTexRef: CUtexref) -> CUresult {
16245        (culib().cuTexRefGetArray)(phArray, hTexRef)
16246    }
16247    pub unsafe fn cuTexRefGetBorderColor(pBorderColor: *mut f32, hTexRef: CUtexref) -> CUresult {
16248        (culib().cuTexRefGetBorderColor)(pBorderColor, hTexRef)
16249    }
16250    pub unsafe fn cuTexRefGetFilterMode(pfm: *mut CUfilter_mode, hTexRef: CUtexref) -> CUresult {
16251        (culib().cuTexRefGetFilterMode)(pfm, hTexRef)
16252    }
16253    pub unsafe fn cuTexRefGetFlags(
16254        pFlags: *mut ::core::ffi::c_uint,
16255        hTexRef: CUtexref,
16256    ) -> CUresult {
16257        (culib().cuTexRefGetFlags)(pFlags, hTexRef)
16258    }
16259    pub unsafe fn cuTexRefGetFormat(
16260        pFormat: *mut CUarray_format,
16261        pNumChannels: *mut ::core::ffi::c_int,
16262        hTexRef: CUtexref,
16263    ) -> CUresult {
16264        (culib().cuTexRefGetFormat)(pFormat, pNumChannels, hTexRef)
16265    }
16266    pub unsafe fn cuTexRefGetMaxAnisotropy(
16267        pmaxAniso: *mut ::core::ffi::c_int,
16268        hTexRef: CUtexref,
16269    ) -> CUresult {
16270        (culib().cuTexRefGetMaxAnisotropy)(pmaxAniso, hTexRef)
16271    }
16272    pub unsafe fn cuTexRefGetMipmapFilterMode(
16273        pfm: *mut CUfilter_mode,
16274        hTexRef: CUtexref,
16275    ) -> CUresult {
16276        (culib().cuTexRefGetMipmapFilterMode)(pfm, hTexRef)
16277    }
16278    pub unsafe fn cuTexRefGetMipmapLevelBias(pbias: *mut f32, hTexRef: CUtexref) -> CUresult {
16279        (culib().cuTexRefGetMipmapLevelBias)(pbias, hTexRef)
16280    }
16281    pub unsafe fn cuTexRefGetMipmapLevelClamp(
16282        pminMipmapLevelClamp: *mut f32,
16283        pmaxMipmapLevelClamp: *mut f32,
16284        hTexRef: CUtexref,
16285    ) -> CUresult {
16286        (culib().cuTexRefGetMipmapLevelClamp)(pminMipmapLevelClamp, pmaxMipmapLevelClamp, hTexRef)
16287    }
16288    pub unsafe fn cuTexRefGetMipmappedArray(
16289        phMipmappedArray: *mut CUmipmappedArray,
16290        hTexRef: CUtexref,
16291    ) -> CUresult {
16292        (culib().cuTexRefGetMipmappedArray)(phMipmappedArray, hTexRef)
16293    }
16294    pub unsafe fn cuTexRefSetAddress2D_v3(
16295        hTexRef: CUtexref,
16296        desc: *const CUDA_ARRAY_DESCRIPTOR,
16297        dptr: CUdeviceptr,
16298        Pitch: usize,
16299    ) -> CUresult {
16300        (culib().cuTexRefSetAddress2D_v3)(hTexRef, desc, dptr, Pitch)
16301    }
16302    pub unsafe fn cuTexRefSetAddressMode(
16303        hTexRef: CUtexref,
16304        dim: ::core::ffi::c_int,
16305        am: CUaddress_mode,
16306    ) -> CUresult {
16307        (culib().cuTexRefSetAddressMode)(hTexRef, dim, am)
16308    }
16309    pub unsafe fn cuTexRefSetAddress_v2(
16310        ByteOffset: *mut usize,
16311        hTexRef: CUtexref,
16312        dptr: CUdeviceptr,
16313        bytes: usize,
16314    ) -> CUresult {
16315        (culib().cuTexRefSetAddress_v2)(ByteOffset, hTexRef, dptr, bytes)
16316    }
16317    pub unsafe fn cuTexRefSetArray(
16318        hTexRef: CUtexref,
16319        hArray: CUarray,
16320        Flags: ::core::ffi::c_uint,
16321    ) -> CUresult {
16322        (culib().cuTexRefSetArray)(hTexRef, hArray, Flags)
16323    }
16324    pub unsafe fn cuTexRefSetBorderColor(hTexRef: CUtexref, pBorderColor: *mut f32) -> CUresult {
16325        (culib().cuTexRefSetBorderColor)(hTexRef, pBorderColor)
16326    }
16327    pub unsafe fn cuTexRefSetFilterMode(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult {
16328        (culib().cuTexRefSetFilterMode)(hTexRef, fm)
16329    }
16330    pub unsafe fn cuTexRefSetFlags(hTexRef: CUtexref, Flags: ::core::ffi::c_uint) -> CUresult {
16331        (culib().cuTexRefSetFlags)(hTexRef, Flags)
16332    }
16333    pub unsafe fn cuTexRefSetFormat(
16334        hTexRef: CUtexref,
16335        fmt: CUarray_format,
16336        NumPackedComponents: ::core::ffi::c_int,
16337    ) -> CUresult {
16338        (culib().cuTexRefSetFormat)(hTexRef, fmt, NumPackedComponents)
16339    }
16340    pub unsafe fn cuTexRefSetMaxAnisotropy(
16341        hTexRef: CUtexref,
16342        maxAniso: ::core::ffi::c_uint,
16343    ) -> CUresult {
16344        (culib().cuTexRefSetMaxAnisotropy)(hTexRef, maxAniso)
16345    }
16346    pub unsafe fn cuTexRefSetMipmapFilterMode(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult {
16347        (culib().cuTexRefSetMipmapFilterMode)(hTexRef, fm)
16348    }
16349    pub unsafe fn cuTexRefSetMipmapLevelBias(hTexRef: CUtexref, bias: f32) -> CUresult {
16350        (culib().cuTexRefSetMipmapLevelBias)(hTexRef, bias)
16351    }
16352    pub unsafe fn cuTexRefSetMipmapLevelClamp(
16353        hTexRef: CUtexref,
16354        minMipmapLevelClamp: f32,
16355        maxMipmapLevelClamp: f32,
16356    ) -> CUresult {
16357        (culib().cuTexRefSetMipmapLevelClamp)(hTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
16358    }
16359    pub unsafe fn cuTexRefSetMipmappedArray(
16360        hTexRef: CUtexref,
16361        hMipmappedArray: CUmipmappedArray,
16362        Flags: ::core::ffi::c_uint,
16363    ) -> CUresult {
16364        (culib().cuTexRefSetMipmappedArray)(hTexRef, hMipmappedArray, Flags)
16365    }
16366    pub unsafe fn cuThreadExchangeStreamCaptureMode(mode: *mut CUstreamCaptureMode) -> CUresult {
16367        (culib().cuThreadExchangeStreamCaptureMode)(mode)
16368    }
16369    pub unsafe fn cuUserObjectCreate(
16370        object_out: *mut CUuserObject,
16371        ptr: *mut ::core::ffi::c_void,
16372        destroy: CUhostFn,
16373        initialRefcount: ::core::ffi::c_uint,
16374        flags: ::core::ffi::c_uint,
16375    ) -> CUresult {
16376        (culib().cuUserObjectCreate)(object_out, ptr, destroy, initialRefcount, flags)
16377    }
16378    pub unsafe fn cuUserObjectRelease(
16379        object: CUuserObject,
16380        count: ::core::ffi::c_uint,
16381    ) -> CUresult {
16382        (culib().cuUserObjectRelease)(object, count)
16383    }
16384    pub unsafe fn cuUserObjectRetain(object: CUuserObject, count: ::core::ffi::c_uint) -> CUresult {
16385        (culib().cuUserObjectRetain)(object, count)
16386    }
16387    pub unsafe fn cuWaitExternalSemaphoresAsync(
16388        extSemArray: *const CUexternalSemaphore,
16389        paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,
16390        numExtSems: ::core::ffi::c_uint,
16391        stream: CUstream,
16392    ) -> CUresult {
16393        (culib().cuWaitExternalSemaphoresAsync)(extSemArray, paramsArray, numExtSems, stream)
16394    }
16395    pub struct Lib {
16396        __library: ::libloading::Library,
16397        pub cuArray3DCreate_v2: unsafe extern "C" fn(
16398            pHandle: *mut CUarray,
16399            pAllocateArray: *const CUDA_ARRAY3D_DESCRIPTOR,
16400        ) -> CUresult,
16401        pub cuArray3DGetDescriptor_v2: unsafe extern "C" fn(
16402            pArrayDescriptor: *mut CUDA_ARRAY3D_DESCRIPTOR,
16403            hArray: CUarray,
16404        ) -> CUresult,
16405        pub cuArrayCreate_v2: unsafe extern "C" fn(
16406            pHandle: *mut CUarray,
16407            pAllocateArray: *const CUDA_ARRAY_DESCRIPTOR,
16408        ) -> CUresult,
16409        pub cuArrayDestroy: unsafe extern "C" fn(hArray: CUarray) -> CUresult,
16410        pub cuArrayGetDescriptor_v2: unsafe extern "C" fn(
16411            pArrayDescriptor: *mut CUDA_ARRAY_DESCRIPTOR,
16412            hArray: CUarray,
16413        ) -> CUresult,
16414        #[cfg(any(
16415            feature = "cuda-11060",
16416            feature = "cuda-11070",
16417            feature = "cuda-11080",
16418            feature = "cuda-12000",
16419            feature = "cuda-12010",
16420            feature = "cuda-12020",
16421            feature = "cuda-12030",
16422            feature = "cuda-12040",
16423            feature = "cuda-12050",
16424            feature = "cuda-12060",
16425            feature = "cuda-12080",
16426            feature = "cuda-12090",
16427            feature = "cuda-13000"
16428        ))]
16429        pub cuArrayGetMemoryRequirements: unsafe extern "C" fn(
16430            memoryRequirements: *mut CUDA_ARRAY_MEMORY_REQUIREMENTS,
16431            array: CUarray,
16432            device: CUdevice,
16433        ) -> CUresult,
16434        pub cuArrayGetPlane: unsafe extern "C" fn(
16435            pPlaneArray: *mut CUarray,
16436            hArray: CUarray,
16437            planeIdx: ::core::ffi::c_uint,
16438        ) -> CUresult,
16439        pub cuArrayGetSparseProperties: unsafe extern "C" fn(
16440            sparseProperties: *mut CUDA_ARRAY_SPARSE_PROPERTIES,
16441            array: CUarray,
16442        ) -> CUresult,
16443        #[cfg(any(
16444            feature = "cuda-12010",
16445            feature = "cuda-12020",
16446            feature = "cuda-12030",
16447            feature = "cuda-12040",
16448            feature = "cuda-12050",
16449            feature = "cuda-12060",
16450            feature = "cuda-12080",
16451            feature = "cuda-12090",
16452            feature = "cuda-13000"
16453        ))]
16454        pub cuCoredumpGetAttribute: unsafe extern "C" fn(
16455            attrib: CUcoredumpSettings,
16456            value: *mut ::core::ffi::c_void,
16457            size: *mut usize,
16458        ) -> CUresult,
16459        #[cfg(any(
16460            feature = "cuda-12010",
16461            feature = "cuda-12020",
16462            feature = "cuda-12030",
16463            feature = "cuda-12040",
16464            feature = "cuda-12050",
16465            feature = "cuda-12060",
16466            feature = "cuda-12080",
16467            feature = "cuda-12090",
16468            feature = "cuda-13000"
16469        ))]
16470        pub cuCoredumpGetAttributeGlobal: unsafe extern "C" fn(
16471            attrib: CUcoredumpSettings,
16472            value: *mut ::core::ffi::c_void,
16473            size: *mut usize,
16474        ) -> CUresult,
16475        #[cfg(any(
16476            feature = "cuda-12010",
16477            feature = "cuda-12020",
16478            feature = "cuda-12030",
16479            feature = "cuda-12040",
16480            feature = "cuda-12050",
16481            feature = "cuda-12060",
16482            feature = "cuda-12080",
16483            feature = "cuda-12090",
16484            feature = "cuda-13000"
16485        ))]
16486        pub cuCoredumpSetAttribute: unsafe extern "C" fn(
16487            attrib: CUcoredumpSettings,
16488            value: *mut ::core::ffi::c_void,
16489            size: *mut usize,
16490        ) -> CUresult,
16491        #[cfg(any(
16492            feature = "cuda-12010",
16493            feature = "cuda-12020",
16494            feature = "cuda-12030",
16495            feature = "cuda-12040",
16496            feature = "cuda-12050",
16497            feature = "cuda-12060",
16498            feature = "cuda-12080",
16499            feature = "cuda-12090",
16500            feature = "cuda-13000"
16501        ))]
16502        pub cuCoredumpSetAttributeGlobal: unsafe extern "C" fn(
16503            attrib: CUcoredumpSettings,
16504            value: *mut ::core::ffi::c_void,
16505            size: *mut usize,
16506        ) -> CUresult,
16507        pub cuCtxAttach:
16508            unsafe extern "C" fn(pctx: *mut CUcontext, flags: ::core::ffi::c_uint) -> CUresult,
16509        #[cfg(any(
16510            feature = "cuda-11040",
16511            feature = "cuda-11050",
16512            feature = "cuda-11060",
16513            feature = "cuda-11070",
16514            feature = "cuda-11080",
16515            feature = "cuda-12000",
16516            feature = "cuda-12010",
16517            feature = "cuda-12020",
16518            feature = "cuda-12030",
16519            feature = "cuda-12040",
16520            feature = "cuda-12050",
16521            feature = "cuda-12060",
16522            feature = "cuda-12080",
16523            feature = "cuda-12090"
16524        ))]
16525        pub cuCtxCreate_v2: unsafe extern "C" fn(
16526            pctx: *mut CUcontext,
16527            flags: ::core::ffi::c_uint,
16528            dev: CUdevice,
16529        ) -> CUresult,
16530        #[cfg(any(
16531            feature = "cuda-11040",
16532            feature = "cuda-11050",
16533            feature = "cuda-11060",
16534            feature = "cuda-11070",
16535            feature = "cuda-11080",
16536            feature = "cuda-12000",
16537            feature = "cuda-12010",
16538            feature = "cuda-12020",
16539            feature = "cuda-12030",
16540            feature = "cuda-12040",
16541            feature = "cuda-12050",
16542            feature = "cuda-12060",
16543            feature = "cuda-12080",
16544            feature = "cuda-12090"
16545        ))]
16546        pub cuCtxCreate_v3: unsafe extern "C" fn(
16547            pctx: *mut CUcontext,
16548            paramsArray: *mut CUexecAffinityParam,
16549            numParams: ::core::ffi::c_int,
16550            flags: ::core::ffi::c_uint,
16551            dev: CUdevice,
16552        ) -> CUresult,
16553        #[cfg(any(
16554            feature = "cuda-12050",
16555            feature = "cuda-12060",
16556            feature = "cuda-12080",
16557            feature = "cuda-12090",
16558            feature = "cuda-13000"
16559        ))]
16560        pub cuCtxCreate_v4: unsafe extern "C" fn(
16561            pctx: *mut CUcontext,
16562            ctxCreateParams: *mut CUctxCreateParams,
16563            flags: ::core::ffi::c_uint,
16564            dev: CUdevice,
16565        ) -> CUresult,
16566        pub cuCtxDestroy_v2: unsafe extern "C" fn(ctx: CUcontext) -> CUresult,
16567        pub cuCtxDetach: unsafe extern "C" fn(ctx: CUcontext) -> CUresult,
16568        pub cuCtxDisablePeerAccess: unsafe extern "C" fn(peerContext: CUcontext) -> CUresult,
16569        pub cuCtxEnablePeerAccess:
16570            unsafe extern "C" fn(peerContext: CUcontext, Flags: ::core::ffi::c_uint) -> CUresult,
16571        #[cfg(any(
16572            feature = "cuda-12040",
16573            feature = "cuda-12050",
16574            feature = "cuda-12060",
16575            feature = "cuda-12080",
16576            feature = "cuda-12090",
16577            feature = "cuda-13000"
16578        ))]
16579        pub cuCtxFromGreenCtx:
16580            unsafe extern "C" fn(pContext: *mut CUcontext, hCtx: CUgreenCtx) -> CUresult,
16581        pub cuCtxGetApiVersion:
16582            unsafe extern "C" fn(ctx: CUcontext, version: *mut ::core::ffi::c_uint) -> CUresult,
16583        pub cuCtxGetCacheConfig: unsafe extern "C" fn(pconfig: *mut CUfunc_cache) -> CUresult,
16584        pub cuCtxGetCurrent: unsafe extern "C" fn(pctx: *mut CUcontext) -> CUresult,
16585        #[cfg(any(
16586            feature = "cuda-12040",
16587            feature = "cuda-12050",
16588            feature = "cuda-12060",
16589            feature = "cuda-12080",
16590            feature = "cuda-12090",
16591            feature = "cuda-13000"
16592        ))]
16593        pub cuCtxGetDevResource: unsafe extern "C" fn(
16594            hCtx: CUcontext,
16595            resource: *mut CUdevResource,
16596            type_: CUdevResourceType,
16597        ) -> CUresult,
16598        pub cuCtxGetDevice: unsafe extern "C" fn(device: *mut CUdevice) -> CUresult,
16599        #[cfg(any(feature = "cuda-13000"))]
16600        pub cuCtxGetDevice_v2:
16601            unsafe extern "C" fn(device: *mut CUdevice, ctx: CUcontext) -> CUresult,
16602        pub cuCtxGetExecAffinity: unsafe extern "C" fn(
16603            pExecAffinity: *mut CUexecAffinityParam,
16604            type_: CUexecAffinityType,
16605        ) -> CUresult,
16606        pub cuCtxGetFlags: unsafe extern "C" fn(flags: *mut ::core::ffi::c_uint) -> CUresult,
16607        #[cfg(any(
16608            feature = "cuda-12000",
16609            feature = "cuda-12010",
16610            feature = "cuda-12020",
16611            feature = "cuda-12030",
16612            feature = "cuda-12040",
16613            feature = "cuda-12050",
16614            feature = "cuda-12060",
16615            feature = "cuda-12080",
16616            feature = "cuda-12090",
16617            feature = "cuda-13000"
16618        ))]
16619        pub cuCtxGetId:
16620            unsafe extern "C" fn(ctx: CUcontext, ctxId: *mut ::core::ffi::c_ulonglong) -> CUresult,
16621        pub cuCtxGetLimit: unsafe extern "C" fn(pvalue: *mut usize, limit: CUlimit) -> CUresult,
16622        pub cuCtxGetSharedMemConfig: unsafe extern "C" fn(pConfig: *mut CUsharedconfig) -> CUresult,
16623        pub cuCtxGetStreamPriorityRange: unsafe extern "C" fn(
16624            leastPriority: *mut ::core::ffi::c_int,
16625            greatestPriority: *mut ::core::ffi::c_int,
16626        ) -> CUresult,
16627        pub cuCtxPopCurrent_v2: unsafe extern "C" fn(pctx: *mut CUcontext) -> CUresult,
16628        pub cuCtxPushCurrent_v2: unsafe extern "C" fn(ctx: CUcontext) -> CUresult,
16629        #[cfg(any(
16630            feature = "cuda-12050",
16631            feature = "cuda-12060",
16632            feature = "cuda-12080",
16633            feature = "cuda-12090",
16634            feature = "cuda-13000"
16635        ))]
16636        pub cuCtxRecordEvent: unsafe extern "C" fn(hCtx: CUcontext, hEvent: CUevent) -> CUresult,
16637        pub cuCtxResetPersistingL2Cache: unsafe extern "C" fn() -> CUresult,
16638        pub cuCtxSetCacheConfig: unsafe extern "C" fn(config: CUfunc_cache) -> CUresult,
16639        pub cuCtxSetCurrent: unsafe extern "C" fn(ctx: CUcontext) -> CUresult,
16640        #[cfg(any(
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 cuCtxSetFlags: unsafe extern "C" fn(flags: ::core::ffi::c_uint) -> CUresult,
16652        pub cuCtxSetLimit: unsafe extern "C" fn(limit: CUlimit, value: usize) -> CUresult,
16653        pub cuCtxSetSharedMemConfig: unsafe extern "C" fn(config: CUsharedconfig) -> CUresult,
16654        pub cuCtxSynchronize: unsafe extern "C" fn() -> CUresult,
16655        #[cfg(any(feature = "cuda-13000"))]
16656        pub cuCtxSynchronize_v2: unsafe extern "C" fn(ctx: CUcontext) -> CUresult,
16657        #[cfg(any(
16658            feature = "cuda-12050",
16659            feature = "cuda-12060",
16660            feature = "cuda-12080",
16661            feature = "cuda-12090",
16662            feature = "cuda-13000"
16663        ))]
16664        pub cuCtxWaitEvent: unsafe extern "C" fn(hCtx: CUcontext, hEvent: CUevent) -> CUresult,
16665        pub cuDestroyExternalMemory: unsafe extern "C" fn(extMem: CUexternalMemory) -> CUresult,
16666        pub cuDestroyExternalSemaphore:
16667            unsafe extern "C" fn(extSem: CUexternalSemaphore) -> CUresult,
16668        #[cfg(any(
16669            feature = "cuda-12040",
16670            feature = "cuda-12050",
16671            feature = "cuda-12060",
16672            feature = "cuda-12080",
16673            feature = "cuda-12090",
16674            feature = "cuda-13000"
16675        ))]
16676        pub cuDevResourceGenerateDesc: unsafe extern "C" fn(
16677            phDesc: *mut CUdevResourceDesc,
16678            resources: *mut CUdevResource,
16679            nbResources: ::core::ffi::c_uint,
16680        ) -> CUresult,
16681        #[cfg(any(
16682            feature = "cuda-12040",
16683            feature = "cuda-12050",
16684            feature = "cuda-12060",
16685            feature = "cuda-12080",
16686            feature = "cuda-12090",
16687            feature = "cuda-13000"
16688        ))]
16689        pub cuDevSmResourceSplitByCount: unsafe extern "C" fn(
16690            result: *mut CUdevResource,
16691            nbGroups: *mut ::core::ffi::c_uint,
16692            input: *const CUdevResource,
16693            remaining: *mut CUdevResource,
16694            useFlags: ::core::ffi::c_uint,
16695            minCount: ::core::ffi::c_uint,
16696        ) -> CUresult,
16697        pub cuDeviceCanAccessPeer: unsafe extern "C" fn(
16698            canAccessPeer: *mut ::core::ffi::c_int,
16699            dev: CUdevice,
16700            peerDev: CUdevice,
16701        ) -> CUresult,
16702        pub cuDeviceComputeCapability: unsafe extern "C" fn(
16703            major: *mut ::core::ffi::c_int,
16704            minor: *mut ::core::ffi::c_int,
16705            dev: CUdevice,
16706        ) -> CUresult,
16707        pub cuDeviceGet:
16708            unsafe extern "C" fn(device: *mut CUdevice, ordinal: ::core::ffi::c_int) -> CUresult,
16709        pub cuDeviceGetAttribute: unsafe extern "C" fn(
16710            pi: *mut ::core::ffi::c_int,
16711            attrib: CUdevice_attribute,
16712            dev: CUdevice,
16713        ) -> CUresult,
16714        pub cuDeviceGetByPCIBusId: unsafe extern "C" fn(
16715            dev: *mut CUdevice,
16716            pciBusId: *const ::core::ffi::c_char,
16717        ) -> CUresult,
16718        pub cuDeviceGetCount: unsafe extern "C" fn(count: *mut ::core::ffi::c_int) -> CUresult,
16719        pub cuDeviceGetDefaultMemPool:
16720            unsafe extern "C" fn(pool_out: *mut CUmemoryPool, dev: CUdevice) -> CUresult,
16721        #[cfg(any(
16722            feature = "cuda-12040",
16723            feature = "cuda-12050",
16724            feature = "cuda-12060",
16725            feature = "cuda-12080",
16726            feature = "cuda-12090",
16727            feature = "cuda-13000"
16728        ))]
16729        pub cuDeviceGetDevResource: unsafe extern "C" fn(
16730            device: CUdevice,
16731            resource: *mut CUdevResource,
16732            type_: CUdevResourceType,
16733        ) -> CUresult,
16734        pub cuDeviceGetExecAffinitySupport: unsafe extern "C" fn(
16735            pi: *mut ::core::ffi::c_int,
16736            type_: CUexecAffinityType,
16737            dev: CUdevice,
16738        ) -> CUresult,
16739        pub cuDeviceGetGraphMemAttribute: unsafe extern "C" fn(
16740            device: CUdevice,
16741            attr: CUgraphMem_attribute,
16742            value: *mut ::core::ffi::c_void,
16743        ) -> CUresult,
16744        #[cfg(any(feature = "cuda-13000"))]
16745        pub cuDeviceGetHostAtomicCapabilities: unsafe extern "C" fn(
16746            capabilities: *mut ::core::ffi::c_uint,
16747            operations: *const CUatomicOperation,
16748            count: ::core::ffi::c_uint,
16749            dev: CUdevice,
16750        ) -> CUresult,
16751        pub cuDeviceGetLuid: unsafe extern "C" fn(
16752            luid: *mut ::core::ffi::c_char,
16753            deviceNodeMask: *mut ::core::ffi::c_uint,
16754            dev: CUdevice,
16755        ) -> CUresult,
16756        pub cuDeviceGetMemPool:
16757            unsafe extern "C" fn(pool: *mut CUmemoryPool, dev: CUdevice) -> CUresult,
16758        pub cuDeviceGetName: unsafe extern "C" fn(
16759            name: *mut ::core::ffi::c_char,
16760            len: ::core::ffi::c_int,
16761            dev: CUdevice,
16762        ) -> CUresult,
16763        #[cfg(any(feature = "cuda-13000"))]
16764        pub cuDeviceGetP2PAtomicCapabilities: unsafe extern "C" fn(
16765            capabilities: *mut ::core::ffi::c_uint,
16766            operations: *const CUatomicOperation,
16767            count: ::core::ffi::c_uint,
16768            srcDevice: CUdevice,
16769            dstDevice: CUdevice,
16770        ) -> CUresult,
16771        pub cuDeviceGetP2PAttribute: unsafe extern "C" fn(
16772            value: *mut ::core::ffi::c_int,
16773            attrib: CUdevice_P2PAttribute,
16774            srcDevice: CUdevice,
16775            dstDevice: CUdevice,
16776        ) -> CUresult,
16777        pub cuDeviceGetPCIBusId: unsafe extern "C" fn(
16778            pciBusId: *mut ::core::ffi::c_char,
16779            len: ::core::ffi::c_int,
16780            dev: CUdevice,
16781        ) -> CUresult,
16782        pub cuDeviceGetProperties:
16783            unsafe extern "C" fn(prop: *mut CUdevprop, dev: CUdevice) -> CUresult,
16784        pub cuDeviceGetTexture1DLinearMaxWidth: unsafe extern "C" fn(
16785            maxWidthInElements: *mut usize,
16786            format: CUarray_format,
16787            numChannels: ::core::ffi::c_uint,
16788            dev: CUdevice,
16789        ) -> CUresult,
16790        #[cfg(any(
16791            feature = "cuda-11040",
16792            feature = "cuda-11050",
16793            feature = "cuda-11060",
16794            feature = "cuda-11070",
16795            feature = "cuda-11080",
16796            feature = "cuda-12000",
16797            feature = "cuda-12010",
16798            feature = "cuda-12020",
16799            feature = "cuda-12030",
16800            feature = "cuda-12040",
16801            feature = "cuda-12050",
16802            feature = "cuda-12060",
16803            feature = "cuda-12080",
16804            feature = "cuda-12090"
16805        ))]
16806        pub cuDeviceGetUuid: unsafe extern "C" fn(uuid: *mut CUuuid, dev: CUdevice) -> CUresult,
16807        pub cuDeviceGetUuid_v2: unsafe extern "C" fn(uuid: *mut CUuuid, dev: CUdevice) -> CUresult,
16808        pub cuDeviceGraphMemTrim: unsafe extern "C" fn(device: CUdevice) -> CUresult,
16809        pub cuDevicePrimaryCtxGetState: unsafe extern "C" fn(
16810            dev: CUdevice,
16811            flags: *mut ::core::ffi::c_uint,
16812            active: *mut ::core::ffi::c_int,
16813        ) -> CUresult,
16814        pub cuDevicePrimaryCtxRelease_v2: unsafe extern "C" fn(dev: CUdevice) -> CUresult,
16815        pub cuDevicePrimaryCtxReset_v2: unsafe extern "C" fn(dev: CUdevice) -> CUresult,
16816        pub cuDevicePrimaryCtxRetain:
16817            unsafe extern "C" fn(pctx: *mut CUcontext, dev: CUdevice) -> CUresult,
16818        pub cuDevicePrimaryCtxSetFlags_v2:
16819            unsafe extern "C" fn(dev: CUdevice, flags: ::core::ffi::c_uint) -> CUresult,
16820        #[cfg(any(
16821            feature = "cuda-12040",
16822            feature = "cuda-12050",
16823            feature = "cuda-12060",
16824            feature = "cuda-12080",
16825            feature = "cuda-12090",
16826            feature = "cuda-13000"
16827        ))]
16828        pub cuDeviceRegisterAsyncNotification: unsafe extern "C" fn(
16829            device: CUdevice,
16830            callbackFunc: CUasyncCallback,
16831            userData: *mut ::core::ffi::c_void,
16832            callback: *mut CUasyncCallbackHandle,
16833        ) -> CUresult,
16834        pub cuDeviceSetGraphMemAttribute: unsafe extern "C" fn(
16835            device: CUdevice,
16836            attr: CUgraphMem_attribute,
16837            value: *mut ::core::ffi::c_void,
16838        ) -> CUresult,
16839        pub cuDeviceSetMemPool: unsafe extern "C" fn(dev: CUdevice, pool: CUmemoryPool) -> CUresult,
16840        pub cuDeviceTotalMem_v2: unsafe extern "C" fn(bytes: *mut usize, dev: CUdevice) -> CUresult,
16841        #[cfg(any(
16842            feature = "cuda-12040",
16843            feature = "cuda-12050",
16844            feature = "cuda-12060",
16845            feature = "cuda-12080",
16846            feature = "cuda-12090",
16847            feature = "cuda-13000"
16848        ))]
16849        pub cuDeviceUnregisterAsyncNotification:
16850            unsafe extern "C" fn(device: CUdevice, callback: CUasyncCallbackHandle) -> CUresult,
16851        pub cuDriverGetVersion:
16852            unsafe extern "C" fn(driverVersion: *mut ::core::ffi::c_int) -> CUresult,
16853        pub cuEventCreate:
16854            unsafe extern "C" fn(phEvent: *mut CUevent, Flags: ::core::ffi::c_uint) -> CUresult,
16855        pub cuEventDestroy_v2: unsafe extern "C" fn(hEvent: CUevent) -> CUresult,
16856        #[cfg(any(
16857            feature = "cuda-11040",
16858            feature = "cuda-11050",
16859            feature = "cuda-11060",
16860            feature = "cuda-11070",
16861            feature = "cuda-11080",
16862            feature = "cuda-12000",
16863            feature = "cuda-12010",
16864            feature = "cuda-12020",
16865            feature = "cuda-12030",
16866            feature = "cuda-12040",
16867            feature = "cuda-12050",
16868            feature = "cuda-12060",
16869            feature = "cuda-12080",
16870            feature = "cuda-12090"
16871        ))]
16872        pub cuEventElapsedTime: unsafe extern "C" fn(
16873            pMilliseconds: *mut f32,
16874            hStart: CUevent,
16875            hEnd: CUevent,
16876        ) -> CUresult,
16877        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
16878        pub cuEventElapsedTime_v2: unsafe extern "C" fn(
16879            pMilliseconds: *mut f32,
16880            hStart: CUevent,
16881            hEnd: CUevent,
16882        ) -> CUresult,
16883        pub cuEventQuery: unsafe extern "C" fn(hEvent: CUevent) -> CUresult,
16884        pub cuEventRecord: unsafe extern "C" fn(hEvent: CUevent, hStream: CUstream) -> CUresult,
16885        pub cuEventRecordWithFlags: unsafe extern "C" fn(
16886            hEvent: CUevent,
16887            hStream: CUstream,
16888            flags: ::core::ffi::c_uint,
16889        ) -> CUresult,
16890        pub cuEventSynchronize: unsafe extern "C" fn(hEvent: CUevent) -> CUresult,
16891        pub cuExternalMemoryGetMappedBuffer: unsafe extern "C" fn(
16892            devPtr: *mut CUdeviceptr,
16893            extMem: CUexternalMemory,
16894            bufferDesc: *const CUDA_EXTERNAL_MEMORY_BUFFER_DESC,
16895        ) -> CUresult,
16896        pub cuExternalMemoryGetMappedMipmappedArray: unsafe extern "C" fn(
16897            mipmap: *mut CUmipmappedArray,
16898            extMem: CUexternalMemory,
16899            mipmapDesc: *const CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC,
16900        ) -> CUresult,
16901        pub cuFlushGPUDirectRDMAWrites: unsafe extern "C" fn(
16902            target: CUflushGPUDirectRDMAWritesTarget,
16903            scope: CUflushGPUDirectRDMAWritesScope,
16904        ) -> CUresult,
16905        pub cuFuncGetAttribute: unsafe extern "C" fn(
16906            pi: *mut ::core::ffi::c_int,
16907            attrib: CUfunction_attribute,
16908            hfunc: CUfunction,
16909        ) -> CUresult,
16910        pub cuFuncGetModule:
16911            unsafe extern "C" fn(hmod: *mut CUmodule, hfunc: CUfunction) -> CUresult,
16912        #[cfg(any(
16913            feature = "cuda-12030",
16914            feature = "cuda-12040",
16915            feature = "cuda-12050",
16916            feature = "cuda-12060",
16917            feature = "cuda-12080",
16918            feature = "cuda-12090",
16919            feature = "cuda-13000"
16920        ))]
16921        pub cuFuncGetName: unsafe extern "C" fn(
16922            name: *mut *const ::core::ffi::c_char,
16923            hfunc: CUfunction,
16924        ) -> CUresult,
16925        #[cfg(any(
16926            feature = "cuda-12040",
16927            feature = "cuda-12050",
16928            feature = "cuda-12060",
16929            feature = "cuda-12080",
16930            feature = "cuda-12090",
16931            feature = "cuda-13000"
16932        ))]
16933        pub cuFuncGetParamInfo: unsafe extern "C" fn(
16934            func: CUfunction,
16935            paramIndex: usize,
16936            paramOffset: *mut usize,
16937            paramSize: *mut usize,
16938        ) -> CUresult,
16939        #[cfg(any(
16940            feature = "cuda-12040",
16941            feature = "cuda-12050",
16942            feature = "cuda-12060",
16943            feature = "cuda-12080",
16944            feature = "cuda-12090",
16945            feature = "cuda-13000"
16946        ))]
16947        pub cuFuncIsLoaded: unsafe extern "C" fn(
16948            state: *mut CUfunctionLoadingState,
16949            function: CUfunction,
16950        ) -> CUresult,
16951        #[cfg(any(
16952            feature = "cuda-12040",
16953            feature = "cuda-12050",
16954            feature = "cuda-12060",
16955            feature = "cuda-12080",
16956            feature = "cuda-12090",
16957            feature = "cuda-13000"
16958        ))]
16959        pub cuFuncLoad: unsafe extern "C" fn(function: CUfunction) -> CUresult,
16960        pub cuFuncSetAttribute: unsafe extern "C" fn(
16961            hfunc: CUfunction,
16962            attrib: CUfunction_attribute,
16963            value: ::core::ffi::c_int,
16964        ) -> CUresult,
16965        pub cuFuncSetBlockShape: unsafe extern "C" fn(
16966            hfunc: CUfunction,
16967            x: ::core::ffi::c_int,
16968            y: ::core::ffi::c_int,
16969            z: ::core::ffi::c_int,
16970        ) -> CUresult,
16971        pub cuFuncSetCacheConfig:
16972            unsafe extern "C" fn(hfunc: CUfunction, config: CUfunc_cache) -> CUresult,
16973        pub cuFuncSetSharedMemConfig:
16974            unsafe extern "C" fn(hfunc: CUfunction, config: CUsharedconfig) -> CUresult,
16975        pub cuFuncSetSharedSize:
16976            unsafe extern "C" fn(hfunc: CUfunction, bytes: ::core::ffi::c_uint) -> CUresult,
16977        pub cuGetErrorName: unsafe extern "C" fn(
16978            error: CUresult,
16979            pStr: *mut *const ::core::ffi::c_char,
16980        ) -> CUresult,
16981        pub cuGetErrorString: unsafe extern "C" fn(
16982            error: CUresult,
16983            pStr: *mut *const ::core::ffi::c_char,
16984        ) -> CUresult,
16985        pub cuGetExportTable: unsafe extern "C" fn(
16986            ppExportTable: *mut *const ::core::ffi::c_void,
16987            pExportTableId: *const CUuuid,
16988        ) -> CUresult,
16989        #[cfg(any(
16990            feature = "cuda-11040",
16991            feature = "cuda-11050",
16992            feature = "cuda-11060",
16993            feature = "cuda-11070",
16994            feature = "cuda-11080"
16995        ))]
16996        pub cuGetProcAddress: unsafe extern "C" fn(
16997            symbol: *const ::core::ffi::c_char,
16998            pfn: *mut *mut ::core::ffi::c_void,
16999            cudaVersion: ::core::ffi::c_int,
17000            flags: cuuint64_t,
17001        ) -> CUresult,
17002        #[cfg(any(
17003            feature = "cuda-12000",
17004            feature = "cuda-12010",
17005            feature = "cuda-12020",
17006            feature = "cuda-12030",
17007            feature = "cuda-12040",
17008            feature = "cuda-12050",
17009            feature = "cuda-12060",
17010            feature = "cuda-12080",
17011            feature = "cuda-12090",
17012            feature = "cuda-13000"
17013        ))]
17014        pub cuGetProcAddress_v2: unsafe extern "C" fn(
17015            symbol: *const ::core::ffi::c_char,
17016            pfn: *mut *mut ::core::ffi::c_void,
17017            cudaVersion: ::core::ffi::c_int,
17018            flags: cuuint64_t,
17019            symbolStatus: *mut CUdriverProcAddressQueryResult,
17020        ) -> CUresult,
17021        #[cfg(any(
17022            feature = "cuda-11070",
17023            feature = "cuda-11080",
17024            feature = "cuda-12000",
17025            feature = "cuda-12010",
17026            feature = "cuda-12020",
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            feature = "cuda-13000"
17034        ))]
17035        pub cuGraphAddBatchMemOpNode: unsafe extern "C" fn(
17036            phGraphNode: *mut CUgraphNode,
17037            hGraph: CUgraph,
17038            dependencies: *const CUgraphNode,
17039            numDependencies: usize,
17040            nodeParams: *const CUDA_BATCH_MEM_OP_NODE_PARAMS,
17041        ) -> CUresult,
17042        pub cuGraphAddChildGraphNode: unsafe extern "C" fn(
17043            phGraphNode: *mut CUgraphNode,
17044            hGraph: CUgraph,
17045            dependencies: *const CUgraphNode,
17046            numDependencies: usize,
17047            childGraph: CUgraph,
17048        ) -> CUresult,
17049        #[cfg(any(
17050            feature = "cuda-11040",
17051            feature = "cuda-11050",
17052            feature = "cuda-11060",
17053            feature = "cuda-11070",
17054            feature = "cuda-11080",
17055            feature = "cuda-12000",
17056            feature = "cuda-12010",
17057            feature = "cuda-12020",
17058            feature = "cuda-12030",
17059            feature = "cuda-12040",
17060            feature = "cuda-12050",
17061            feature = "cuda-12060",
17062            feature = "cuda-12080",
17063            feature = "cuda-12090"
17064        ))]
17065        pub cuGraphAddDependencies: unsafe extern "C" fn(
17066            hGraph: CUgraph,
17067            from: *const CUgraphNode,
17068            to: *const CUgraphNode,
17069            numDependencies: usize,
17070        ) -> CUresult,
17071        #[cfg(any(
17072            feature = "cuda-12030",
17073            feature = "cuda-12040",
17074            feature = "cuda-12050",
17075            feature = "cuda-12060",
17076            feature = "cuda-12080",
17077            feature = "cuda-12090",
17078            feature = "cuda-13000"
17079        ))]
17080        pub cuGraphAddDependencies_v2: unsafe extern "C" fn(
17081            hGraph: CUgraph,
17082            from: *const CUgraphNode,
17083            to: *const CUgraphNode,
17084            edgeData: *const CUgraphEdgeData,
17085            numDependencies: usize,
17086        ) -> CUresult,
17087        pub cuGraphAddEmptyNode: unsafe extern "C" fn(
17088            phGraphNode: *mut CUgraphNode,
17089            hGraph: CUgraph,
17090            dependencies: *const CUgraphNode,
17091            numDependencies: usize,
17092        ) -> CUresult,
17093        pub cuGraphAddEventRecordNode: unsafe extern "C" fn(
17094            phGraphNode: *mut CUgraphNode,
17095            hGraph: CUgraph,
17096            dependencies: *const CUgraphNode,
17097            numDependencies: usize,
17098            event: CUevent,
17099        ) -> CUresult,
17100        pub cuGraphAddEventWaitNode: unsafe extern "C" fn(
17101            phGraphNode: *mut CUgraphNode,
17102            hGraph: CUgraph,
17103            dependencies: *const CUgraphNode,
17104            numDependencies: usize,
17105            event: CUevent,
17106        ) -> CUresult,
17107        pub cuGraphAddExternalSemaphoresSignalNode: unsafe extern "C" fn(
17108            phGraphNode: *mut CUgraphNode,
17109            hGraph: CUgraph,
17110            dependencies: *const CUgraphNode,
17111            numDependencies: usize,
17112            nodeParams: *const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
17113        ) -> CUresult,
17114        pub cuGraphAddExternalSemaphoresWaitNode: unsafe extern "C" fn(
17115            phGraphNode: *mut CUgraphNode,
17116            hGraph: CUgraph,
17117            dependencies: *const CUgraphNode,
17118            numDependencies: usize,
17119            nodeParams: *const CUDA_EXT_SEM_WAIT_NODE_PARAMS,
17120        ) -> CUresult,
17121        pub cuGraphAddHostNode: unsafe extern "C" fn(
17122            phGraphNode: *mut CUgraphNode,
17123            hGraph: CUgraph,
17124            dependencies: *const CUgraphNode,
17125            numDependencies: usize,
17126            nodeParams: *const CUDA_HOST_NODE_PARAMS,
17127        ) -> CUresult,
17128        #[cfg(any(
17129            feature = "cuda-11040",
17130            feature = "cuda-11050",
17131            feature = "cuda-11060",
17132            feature = "cuda-11070",
17133            feature = "cuda-11080"
17134        ))]
17135        pub cuGraphAddKernelNode: unsafe extern "C" fn(
17136            phGraphNode: *mut CUgraphNode,
17137            hGraph: CUgraph,
17138            dependencies: *const CUgraphNode,
17139            numDependencies: usize,
17140            nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
17141        ) -> CUresult,
17142        #[cfg(any(
17143            feature = "cuda-12000",
17144            feature = "cuda-12010",
17145            feature = "cuda-12020",
17146            feature = "cuda-12030",
17147            feature = "cuda-12040",
17148            feature = "cuda-12050",
17149            feature = "cuda-12060",
17150            feature = "cuda-12080",
17151            feature = "cuda-12090",
17152            feature = "cuda-13000"
17153        ))]
17154        pub cuGraphAddKernelNode_v2: unsafe extern "C" fn(
17155            phGraphNode: *mut CUgraphNode,
17156            hGraph: CUgraph,
17157            dependencies: *const CUgraphNode,
17158            numDependencies: usize,
17159            nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
17160        ) -> CUresult,
17161        pub cuGraphAddMemAllocNode: unsafe extern "C" fn(
17162            phGraphNode: *mut CUgraphNode,
17163            hGraph: CUgraph,
17164            dependencies: *const CUgraphNode,
17165            numDependencies: usize,
17166            nodeParams: *mut CUDA_MEM_ALLOC_NODE_PARAMS,
17167        ) -> CUresult,
17168        pub cuGraphAddMemFreeNode: unsafe extern "C" fn(
17169            phGraphNode: *mut CUgraphNode,
17170            hGraph: CUgraph,
17171            dependencies: *const CUgraphNode,
17172            numDependencies: usize,
17173            dptr: CUdeviceptr,
17174        ) -> CUresult,
17175        pub cuGraphAddMemcpyNode: unsafe extern "C" fn(
17176            phGraphNode: *mut CUgraphNode,
17177            hGraph: CUgraph,
17178            dependencies: *const CUgraphNode,
17179            numDependencies: usize,
17180            copyParams: *const CUDA_MEMCPY3D,
17181            ctx: CUcontext,
17182        ) -> CUresult,
17183        pub cuGraphAddMemsetNode: unsafe extern "C" fn(
17184            phGraphNode: *mut CUgraphNode,
17185            hGraph: CUgraph,
17186            dependencies: *const CUgraphNode,
17187            numDependencies: usize,
17188            memsetParams: *const CUDA_MEMSET_NODE_PARAMS,
17189            ctx: CUcontext,
17190        ) -> CUresult,
17191        #[cfg(any(
17192            feature = "cuda-12020",
17193            feature = "cuda-12030",
17194            feature = "cuda-12040",
17195            feature = "cuda-12050",
17196            feature = "cuda-12060",
17197            feature = "cuda-12080",
17198            feature = "cuda-12090"
17199        ))]
17200        pub cuGraphAddNode: unsafe extern "C" fn(
17201            phGraphNode: *mut CUgraphNode,
17202            hGraph: CUgraph,
17203            dependencies: *const CUgraphNode,
17204            numDependencies: usize,
17205            nodeParams: *mut CUgraphNodeParams,
17206        ) -> CUresult,
17207        #[cfg(any(
17208            feature = "cuda-12030",
17209            feature = "cuda-12040",
17210            feature = "cuda-12050",
17211            feature = "cuda-12060",
17212            feature = "cuda-12080",
17213            feature = "cuda-12090",
17214            feature = "cuda-13000"
17215        ))]
17216        pub cuGraphAddNode_v2: unsafe extern "C" fn(
17217            phGraphNode: *mut CUgraphNode,
17218            hGraph: CUgraph,
17219            dependencies: *const CUgraphNode,
17220            dependencyData: *const CUgraphEdgeData,
17221            numDependencies: usize,
17222            nodeParams: *mut CUgraphNodeParams,
17223        ) -> CUresult,
17224        #[cfg(any(
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        pub cuGraphBatchMemOpNodeGetParams: unsafe extern "C" fn(
17239            hNode: CUgraphNode,
17240            nodeParams_out: *mut CUDA_BATCH_MEM_OP_NODE_PARAMS,
17241        ) -> CUresult,
17242        #[cfg(any(
17243            feature = "cuda-11070",
17244            feature = "cuda-11080",
17245            feature = "cuda-12000",
17246            feature = "cuda-12010",
17247            feature = "cuda-12020",
17248            feature = "cuda-12030",
17249            feature = "cuda-12040",
17250            feature = "cuda-12050",
17251            feature = "cuda-12060",
17252            feature = "cuda-12080",
17253            feature = "cuda-12090",
17254            feature = "cuda-13000"
17255        ))]
17256        pub cuGraphBatchMemOpNodeSetParams: unsafe extern "C" fn(
17257            hNode: CUgraphNode,
17258            nodeParams: *const CUDA_BATCH_MEM_OP_NODE_PARAMS,
17259        ) -> CUresult,
17260        pub cuGraphChildGraphNodeGetGraph:
17261            unsafe extern "C" fn(hNode: CUgraphNode, phGraph: *mut CUgraph) -> CUresult,
17262        pub cuGraphClone:
17263            unsafe extern "C" fn(phGraphClone: *mut CUgraph, originalGraph: CUgraph) -> CUresult,
17264        #[cfg(any(
17265            feature = "cuda-12030",
17266            feature = "cuda-12040",
17267            feature = "cuda-12050",
17268            feature = "cuda-12060",
17269            feature = "cuda-12080",
17270            feature = "cuda-12090",
17271            feature = "cuda-13000"
17272        ))]
17273        pub cuGraphConditionalHandleCreate: unsafe extern "C" fn(
17274            pHandle_out: *mut CUgraphConditionalHandle,
17275            hGraph: CUgraph,
17276            ctx: CUcontext,
17277            defaultLaunchValue: ::core::ffi::c_uint,
17278            flags: ::core::ffi::c_uint,
17279        ) -> CUresult,
17280        pub cuGraphCreate:
17281            unsafe extern "C" fn(phGraph: *mut CUgraph, flags: ::core::ffi::c_uint) -> CUresult,
17282        pub cuGraphDebugDotPrint: unsafe extern "C" fn(
17283            hGraph: CUgraph,
17284            path: *const ::core::ffi::c_char,
17285            flags: ::core::ffi::c_uint,
17286        ) -> CUresult,
17287        pub cuGraphDestroy: unsafe extern "C" fn(hGraph: CUgraph) -> CUresult,
17288        pub cuGraphDestroyNode: unsafe extern "C" fn(hNode: CUgraphNode) -> CUresult,
17289        pub cuGraphEventRecordNodeGetEvent:
17290            unsafe extern "C" fn(hNode: CUgraphNode, event_out: *mut CUevent) -> CUresult,
17291        pub cuGraphEventRecordNodeSetEvent:
17292            unsafe extern "C" fn(hNode: CUgraphNode, event: CUevent) -> CUresult,
17293        pub cuGraphEventWaitNodeGetEvent:
17294            unsafe extern "C" fn(hNode: CUgraphNode, event_out: *mut CUevent) -> CUresult,
17295        pub cuGraphEventWaitNodeSetEvent:
17296            unsafe extern "C" fn(hNode: CUgraphNode, event: CUevent) -> CUresult,
17297        #[cfg(any(
17298            feature = "cuda-11070",
17299            feature = "cuda-11080",
17300            feature = "cuda-12000",
17301            feature = "cuda-12010",
17302            feature = "cuda-12020",
17303            feature = "cuda-12030",
17304            feature = "cuda-12040",
17305            feature = "cuda-12050",
17306            feature = "cuda-12060",
17307            feature = "cuda-12080",
17308            feature = "cuda-12090",
17309            feature = "cuda-13000"
17310        ))]
17311        pub cuGraphExecBatchMemOpNodeSetParams: unsafe extern "C" fn(
17312            hGraphExec: CUgraphExec,
17313            hNode: CUgraphNode,
17314            nodeParams: *const CUDA_BATCH_MEM_OP_NODE_PARAMS,
17315        ) -> CUresult,
17316        pub cuGraphExecChildGraphNodeSetParams: unsafe extern "C" fn(
17317            hGraphExec: CUgraphExec,
17318            hNode: CUgraphNode,
17319            childGraph: CUgraph,
17320        ) -> CUresult,
17321        pub cuGraphExecDestroy: unsafe extern "C" fn(hGraphExec: CUgraphExec) -> CUresult,
17322        pub cuGraphExecEventRecordNodeSetEvent: unsafe extern "C" fn(
17323            hGraphExec: CUgraphExec,
17324            hNode: CUgraphNode,
17325            event: CUevent,
17326        ) -> CUresult,
17327        pub cuGraphExecEventWaitNodeSetEvent: unsafe extern "C" fn(
17328            hGraphExec: CUgraphExec,
17329            hNode: CUgraphNode,
17330            event: CUevent,
17331        ) -> CUresult,
17332        pub cuGraphExecExternalSemaphoresSignalNodeSetParams: unsafe extern "C" fn(
17333            hGraphExec: CUgraphExec,
17334            hNode: CUgraphNode,
17335            nodeParams: *const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
17336        )
17337            -> CUresult,
17338        pub cuGraphExecExternalSemaphoresWaitNodeSetParams: unsafe extern "C" fn(
17339            hGraphExec: CUgraphExec,
17340            hNode: CUgraphNode,
17341            nodeParams: *const CUDA_EXT_SEM_WAIT_NODE_PARAMS,
17342        )
17343            -> CUresult,
17344        #[cfg(any(
17345            feature = "cuda-12000",
17346            feature = "cuda-12010",
17347            feature = "cuda-12020",
17348            feature = "cuda-12030",
17349            feature = "cuda-12040",
17350            feature = "cuda-12050",
17351            feature = "cuda-12060",
17352            feature = "cuda-12080",
17353            feature = "cuda-12090",
17354            feature = "cuda-13000"
17355        ))]
17356        pub cuGraphExecGetFlags:
17357            unsafe extern "C" fn(hGraphExec: CUgraphExec, flags: *mut cuuint64_t) -> CUresult,
17358        pub cuGraphExecHostNodeSetParams: unsafe extern "C" fn(
17359            hGraphExec: CUgraphExec,
17360            hNode: CUgraphNode,
17361            nodeParams: *const CUDA_HOST_NODE_PARAMS,
17362        ) -> CUresult,
17363        #[cfg(any(
17364            feature = "cuda-11040",
17365            feature = "cuda-11050",
17366            feature = "cuda-11060",
17367            feature = "cuda-11070",
17368            feature = "cuda-11080"
17369        ))]
17370        pub cuGraphExecKernelNodeSetParams: unsafe extern "C" fn(
17371            hGraphExec: CUgraphExec,
17372            hNode: CUgraphNode,
17373            nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
17374        ) -> CUresult,
17375        #[cfg(any(
17376            feature = "cuda-12000",
17377            feature = "cuda-12010",
17378            feature = "cuda-12020",
17379            feature = "cuda-12030",
17380            feature = "cuda-12040",
17381            feature = "cuda-12050",
17382            feature = "cuda-12060",
17383            feature = "cuda-12080",
17384            feature = "cuda-12090",
17385            feature = "cuda-13000"
17386        ))]
17387        pub cuGraphExecKernelNodeSetParams_v2: unsafe extern "C" fn(
17388            hGraphExec: CUgraphExec,
17389            hNode: CUgraphNode,
17390            nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
17391        ) -> CUresult,
17392        pub cuGraphExecMemcpyNodeSetParams: unsafe extern "C" fn(
17393            hGraphExec: CUgraphExec,
17394            hNode: CUgraphNode,
17395            copyParams: *const CUDA_MEMCPY3D,
17396            ctx: CUcontext,
17397        ) -> CUresult,
17398        pub cuGraphExecMemsetNodeSetParams: unsafe extern "C" fn(
17399            hGraphExec: CUgraphExec,
17400            hNode: CUgraphNode,
17401            memsetParams: *const CUDA_MEMSET_NODE_PARAMS,
17402            ctx: CUcontext,
17403        ) -> CUresult,
17404        #[cfg(any(
17405            feature = "cuda-12020",
17406            feature = "cuda-12030",
17407            feature = "cuda-12040",
17408            feature = "cuda-12050",
17409            feature = "cuda-12060",
17410            feature = "cuda-12080",
17411            feature = "cuda-12090",
17412            feature = "cuda-13000"
17413        ))]
17414        pub cuGraphExecNodeSetParams: unsafe extern "C" fn(
17415            hGraphExec: CUgraphExec,
17416            hNode: CUgraphNode,
17417            nodeParams: *mut CUgraphNodeParams,
17418        ) -> CUresult,
17419        #[cfg(any(
17420            feature = "cuda-11040",
17421            feature = "cuda-11050",
17422            feature = "cuda-11060",
17423            feature = "cuda-11070",
17424            feature = "cuda-11080"
17425        ))]
17426        pub cuGraphExecUpdate: unsafe extern "C" fn(
17427            hGraphExec: CUgraphExec,
17428            hGraph: CUgraph,
17429            hErrorNode_out: *mut CUgraphNode,
17430            updateResult_out: *mut CUgraphExecUpdateResult,
17431        ) -> CUresult,
17432        #[cfg(any(
17433            feature = "cuda-12000",
17434            feature = "cuda-12010",
17435            feature = "cuda-12020",
17436            feature = "cuda-12030",
17437            feature = "cuda-12040",
17438            feature = "cuda-12050",
17439            feature = "cuda-12060",
17440            feature = "cuda-12080",
17441            feature = "cuda-12090",
17442            feature = "cuda-13000"
17443        ))]
17444        pub cuGraphExecUpdate_v2: unsafe extern "C" fn(
17445            hGraphExec: CUgraphExec,
17446            hGraph: CUgraph,
17447            resultInfo: *mut CUgraphExecUpdateResultInfo,
17448        ) -> CUresult,
17449        pub cuGraphExternalSemaphoresSignalNodeGetParams: unsafe extern "C" fn(
17450            hNode: CUgraphNode,
17451            params_out: *mut CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
17452        ) -> CUresult,
17453        pub cuGraphExternalSemaphoresSignalNodeSetParams: unsafe extern "C" fn(
17454            hNode: CUgraphNode,
17455            nodeParams: *const CUDA_EXT_SEM_SIGNAL_NODE_PARAMS,
17456        ) -> CUresult,
17457        pub cuGraphExternalSemaphoresWaitNodeGetParams: unsafe extern "C" fn(
17458            hNode: CUgraphNode,
17459            params_out: *mut CUDA_EXT_SEM_WAIT_NODE_PARAMS,
17460        ) -> CUresult,
17461        pub cuGraphExternalSemaphoresWaitNodeSetParams: unsafe extern "C" fn(
17462            hNode: CUgraphNode,
17463            nodeParams: *const CUDA_EXT_SEM_WAIT_NODE_PARAMS,
17464        ) -> CUresult,
17465        #[cfg(any(
17466            feature = "cuda-11040",
17467            feature = "cuda-11050",
17468            feature = "cuda-11060",
17469            feature = "cuda-11070",
17470            feature = "cuda-11080",
17471            feature = "cuda-12000",
17472            feature = "cuda-12010",
17473            feature = "cuda-12020",
17474            feature = "cuda-12030",
17475            feature = "cuda-12040",
17476            feature = "cuda-12050",
17477            feature = "cuda-12060",
17478            feature = "cuda-12080",
17479            feature = "cuda-12090"
17480        ))]
17481        pub cuGraphGetEdges: unsafe extern "C" fn(
17482            hGraph: CUgraph,
17483            from: *mut CUgraphNode,
17484            to: *mut CUgraphNode,
17485            numEdges: *mut usize,
17486        ) -> CUresult,
17487        #[cfg(any(
17488            feature = "cuda-12030",
17489            feature = "cuda-12040",
17490            feature = "cuda-12050",
17491            feature = "cuda-12060",
17492            feature = "cuda-12080",
17493            feature = "cuda-12090",
17494            feature = "cuda-13000"
17495        ))]
17496        pub cuGraphGetEdges_v2: unsafe extern "C" fn(
17497            hGraph: CUgraph,
17498            from: *mut CUgraphNode,
17499            to: *mut CUgraphNode,
17500            edgeData: *mut CUgraphEdgeData,
17501            numEdges: *mut usize,
17502        ) -> CUresult,
17503        pub cuGraphGetNodes: unsafe extern "C" fn(
17504            hGraph: CUgraph,
17505            nodes: *mut CUgraphNode,
17506            numNodes: *mut usize,
17507        ) -> CUresult,
17508        pub cuGraphGetRootNodes: unsafe extern "C" fn(
17509            hGraph: CUgraph,
17510            rootNodes: *mut CUgraphNode,
17511            numRootNodes: *mut usize,
17512        ) -> CUresult,
17513        pub cuGraphHostNodeGetParams: unsafe extern "C" fn(
17514            hNode: CUgraphNode,
17515            nodeParams: *mut CUDA_HOST_NODE_PARAMS,
17516        ) -> CUresult,
17517        pub cuGraphHostNodeSetParams: unsafe extern "C" fn(
17518            hNode: CUgraphNode,
17519            nodeParams: *const CUDA_HOST_NODE_PARAMS,
17520        ) -> CUresult,
17521        pub cuGraphInstantiateWithFlags: unsafe extern "C" fn(
17522            phGraphExec: *mut CUgraphExec,
17523            hGraph: CUgraph,
17524            flags: ::core::ffi::c_ulonglong,
17525        ) -> CUresult,
17526        #[cfg(any(
17527            feature = "cuda-12000",
17528            feature = "cuda-12010",
17529            feature = "cuda-12020",
17530            feature = "cuda-12030",
17531            feature = "cuda-12040",
17532            feature = "cuda-12050",
17533            feature = "cuda-12060",
17534            feature = "cuda-12080",
17535            feature = "cuda-12090",
17536            feature = "cuda-13000"
17537        ))]
17538        pub cuGraphInstantiateWithParams: unsafe extern "C" fn(
17539            phGraphExec: *mut CUgraphExec,
17540            hGraph: CUgraph,
17541            instantiateParams: *mut CUDA_GRAPH_INSTANTIATE_PARAMS,
17542        ) -> CUresult,
17543        #[cfg(any(
17544            feature = "cuda-11040",
17545            feature = "cuda-11050",
17546            feature = "cuda-11060",
17547            feature = "cuda-11070",
17548            feature = "cuda-11080"
17549        ))]
17550        pub cuGraphInstantiate_v2: unsafe extern "C" fn(
17551            phGraphExec: *mut CUgraphExec,
17552            hGraph: CUgraph,
17553            phErrorNode: *mut CUgraphNode,
17554            logBuffer: *mut ::core::ffi::c_char,
17555            bufferSize: usize,
17556        ) -> CUresult,
17557        pub cuGraphKernelNodeCopyAttributes:
17558            unsafe extern "C" fn(dst: CUgraphNode, src: CUgraphNode) -> CUresult,
17559        pub cuGraphKernelNodeGetAttribute: unsafe extern "C" fn(
17560            hNode: CUgraphNode,
17561            attr: CUkernelNodeAttrID,
17562            value_out: *mut CUkernelNodeAttrValue,
17563        ) -> CUresult,
17564        #[cfg(any(
17565            feature = "cuda-11040",
17566            feature = "cuda-11050",
17567            feature = "cuda-11060",
17568            feature = "cuda-11070",
17569            feature = "cuda-11080"
17570        ))]
17571        pub cuGraphKernelNodeGetParams: unsafe extern "C" fn(
17572            hNode: CUgraphNode,
17573            nodeParams: *mut CUDA_KERNEL_NODE_PARAMS,
17574        ) -> CUresult,
17575        #[cfg(any(
17576            feature = "cuda-12000",
17577            feature = "cuda-12010",
17578            feature = "cuda-12020",
17579            feature = "cuda-12030",
17580            feature = "cuda-12040",
17581            feature = "cuda-12050",
17582            feature = "cuda-12060",
17583            feature = "cuda-12080",
17584            feature = "cuda-12090",
17585            feature = "cuda-13000"
17586        ))]
17587        pub cuGraphKernelNodeGetParams_v2: unsafe extern "C" fn(
17588            hNode: CUgraphNode,
17589            nodeParams: *mut CUDA_KERNEL_NODE_PARAMS,
17590        ) -> CUresult,
17591        pub cuGraphKernelNodeSetAttribute: unsafe extern "C" fn(
17592            hNode: CUgraphNode,
17593            attr: CUkernelNodeAttrID,
17594            value: *const CUkernelNodeAttrValue,
17595        ) -> CUresult,
17596        #[cfg(any(
17597            feature = "cuda-11040",
17598            feature = "cuda-11050",
17599            feature = "cuda-11060",
17600            feature = "cuda-11070",
17601            feature = "cuda-11080"
17602        ))]
17603        pub cuGraphKernelNodeSetParams: unsafe extern "C" fn(
17604            hNode: CUgraphNode,
17605            nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
17606        ) -> CUresult,
17607        #[cfg(any(
17608            feature = "cuda-12000",
17609            feature = "cuda-12010",
17610            feature = "cuda-12020",
17611            feature = "cuda-12030",
17612            feature = "cuda-12040",
17613            feature = "cuda-12050",
17614            feature = "cuda-12060",
17615            feature = "cuda-12080",
17616            feature = "cuda-12090",
17617            feature = "cuda-13000"
17618        ))]
17619        pub cuGraphKernelNodeSetParams_v2: unsafe extern "C" fn(
17620            hNode: CUgraphNode,
17621            nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
17622        ) -> CUresult,
17623        pub cuGraphLaunch:
17624            unsafe extern "C" fn(hGraphExec: CUgraphExec, hStream: CUstream) -> CUresult,
17625        pub cuGraphMemAllocNodeGetParams: unsafe extern "C" fn(
17626            hNode: CUgraphNode,
17627            params_out: *mut CUDA_MEM_ALLOC_NODE_PARAMS,
17628        ) -> CUresult,
17629        pub cuGraphMemFreeNodeGetParams:
17630            unsafe extern "C" fn(hNode: CUgraphNode, dptr_out: *mut CUdeviceptr) -> CUresult,
17631        pub cuGraphMemcpyNodeGetParams:
17632            unsafe extern "C" fn(hNode: CUgraphNode, nodeParams: *mut CUDA_MEMCPY3D) -> CUresult,
17633        pub cuGraphMemcpyNodeSetParams:
17634            unsafe extern "C" fn(hNode: CUgraphNode, nodeParams: *const CUDA_MEMCPY3D) -> CUresult,
17635        pub cuGraphMemsetNodeGetParams: unsafe extern "C" fn(
17636            hNode: CUgraphNode,
17637            nodeParams: *mut CUDA_MEMSET_NODE_PARAMS,
17638        ) -> CUresult,
17639        pub cuGraphMemsetNodeSetParams: unsafe extern "C" fn(
17640            hNode: CUgraphNode,
17641            nodeParams: *const CUDA_MEMSET_NODE_PARAMS,
17642        ) -> CUresult,
17643        pub cuGraphNodeFindInClone: unsafe extern "C" fn(
17644            phNode: *mut CUgraphNode,
17645            hOriginalNode: CUgraphNode,
17646            hClonedGraph: CUgraph,
17647        ) -> CUresult,
17648        #[cfg(any(
17649            feature = "cuda-11040",
17650            feature = "cuda-11050",
17651            feature = "cuda-11060",
17652            feature = "cuda-11070",
17653            feature = "cuda-11080",
17654            feature = "cuda-12000",
17655            feature = "cuda-12010",
17656            feature = "cuda-12020",
17657            feature = "cuda-12030",
17658            feature = "cuda-12040",
17659            feature = "cuda-12050",
17660            feature = "cuda-12060",
17661            feature = "cuda-12080",
17662            feature = "cuda-12090"
17663        ))]
17664        pub cuGraphNodeGetDependencies: unsafe extern "C" fn(
17665            hNode: CUgraphNode,
17666            dependencies: *mut CUgraphNode,
17667            numDependencies: *mut usize,
17668        ) -> CUresult,
17669        #[cfg(any(
17670            feature = "cuda-12030",
17671            feature = "cuda-12040",
17672            feature = "cuda-12050",
17673            feature = "cuda-12060",
17674            feature = "cuda-12080",
17675            feature = "cuda-12090",
17676            feature = "cuda-13000"
17677        ))]
17678        pub cuGraphNodeGetDependencies_v2: unsafe extern "C" fn(
17679            hNode: CUgraphNode,
17680            dependencies: *mut CUgraphNode,
17681            edgeData: *mut CUgraphEdgeData,
17682            numDependencies: *mut usize,
17683        ) -> CUresult,
17684        #[cfg(any(
17685            feature = "cuda-11040",
17686            feature = "cuda-11050",
17687            feature = "cuda-11060",
17688            feature = "cuda-11070",
17689            feature = "cuda-11080",
17690            feature = "cuda-12000",
17691            feature = "cuda-12010",
17692            feature = "cuda-12020",
17693            feature = "cuda-12030",
17694            feature = "cuda-12040",
17695            feature = "cuda-12050",
17696            feature = "cuda-12060",
17697            feature = "cuda-12080",
17698            feature = "cuda-12090"
17699        ))]
17700        pub cuGraphNodeGetDependentNodes: unsafe extern "C" fn(
17701            hNode: CUgraphNode,
17702            dependentNodes: *mut CUgraphNode,
17703            numDependentNodes: *mut usize,
17704        ) -> CUresult,
17705        #[cfg(any(
17706            feature = "cuda-12030",
17707            feature = "cuda-12040",
17708            feature = "cuda-12050",
17709            feature = "cuda-12060",
17710            feature = "cuda-12080",
17711            feature = "cuda-12090",
17712            feature = "cuda-13000"
17713        ))]
17714        pub cuGraphNodeGetDependentNodes_v2: unsafe extern "C" fn(
17715            hNode: CUgraphNode,
17716            dependentNodes: *mut CUgraphNode,
17717            edgeData: *mut CUgraphEdgeData,
17718            numDependentNodes: *mut usize,
17719        ) -> CUresult,
17720        #[cfg(any(
17721            feature = "cuda-11060",
17722            feature = "cuda-11070",
17723            feature = "cuda-11080",
17724            feature = "cuda-12000",
17725            feature = "cuda-12010",
17726            feature = "cuda-12020",
17727            feature = "cuda-12030",
17728            feature = "cuda-12040",
17729            feature = "cuda-12050",
17730            feature = "cuda-12060",
17731            feature = "cuda-12080",
17732            feature = "cuda-12090",
17733            feature = "cuda-13000"
17734        ))]
17735        pub cuGraphNodeGetEnabled: unsafe extern "C" fn(
17736            hGraphExec: CUgraphExec,
17737            hNode: CUgraphNode,
17738            isEnabled: *mut ::core::ffi::c_uint,
17739        ) -> CUresult,
17740        pub cuGraphNodeGetType:
17741            unsafe extern "C" fn(hNode: CUgraphNode, type_: *mut CUgraphNodeType) -> CUresult,
17742        #[cfg(any(
17743            feature = "cuda-11060",
17744            feature = "cuda-11070",
17745            feature = "cuda-11080",
17746            feature = "cuda-12000",
17747            feature = "cuda-12010",
17748            feature = "cuda-12020",
17749            feature = "cuda-12030",
17750            feature = "cuda-12040",
17751            feature = "cuda-12050",
17752            feature = "cuda-12060",
17753            feature = "cuda-12080",
17754            feature = "cuda-12090",
17755            feature = "cuda-13000"
17756        ))]
17757        pub cuGraphNodeSetEnabled: unsafe extern "C" fn(
17758            hGraphExec: CUgraphExec,
17759            hNode: CUgraphNode,
17760            isEnabled: ::core::ffi::c_uint,
17761        ) -> CUresult,
17762        #[cfg(any(
17763            feature = "cuda-12020",
17764            feature = "cuda-12030",
17765            feature = "cuda-12040",
17766            feature = "cuda-12050",
17767            feature = "cuda-12060",
17768            feature = "cuda-12080",
17769            feature = "cuda-12090",
17770            feature = "cuda-13000"
17771        ))]
17772        pub cuGraphNodeSetParams: unsafe extern "C" fn(
17773            hNode: CUgraphNode,
17774            nodeParams: *mut CUgraphNodeParams,
17775        ) -> CUresult,
17776        pub cuGraphReleaseUserObject: unsafe extern "C" fn(
17777            graph: CUgraph,
17778            object: CUuserObject,
17779            count: ::core::ffi::c_uint,
17780        ) -> CUresult,
17781        #[cfg(any(
17782            feature = "cuda-11040",
17783            feature = "cuda-11050",
17784            feature = "cuda-11060",
17785            feature = "cuda-11070",
17786            feature = "cuda-11080",
17787            feature = "cuda-12000",
17788            feature = "cuda-12010",
17789            feature = "cuda-12020",
17790            feature = "cuda-12030",
17791            feature = "cuda-12040",
17792            feature = "cuda-12050",
17793            feature = "cuda-12060",
17794            feature = "cuda-12080",
17795            feature = "cuda-12090"
17796        ))]
17797        pub cuGraphRemoveDependencies: unsafe extern "C" fn(
17798            hGraph: CUgraph,
17799            from: *const CUgraphNode,
17800            to: *const CUgraphNode,
17801            numDependencies: usize,
17802        ) -> CUresult,
17803        #[cfg(any(
17804            feature = "cuda-12030",
17805            feature = "cuda-12040",
17806            feature = "cuda-12050",
17807            feature = "cuda-12060",
17808            feature = "cuda-12080",
17809            feature = "cuda-12090",
17810            feature = "cuda-13000"
17811        ))]
17812        pub cuGraphRemoveDependencies_v2: unsafe extern "C" fn(
17813            hGraph: CUgraph,
17814            from: *const CUgraphNode,
17815            to: *const CUgraphNode,
17816            edgeData: *const CUgraphEdgeData,
17817            numDependencies: usize,
17818        ) -> CUresult,
17819        pub cuGraphRetainUserObject: unsafe extern "C" fn(
17820            graph: CUgraph,
17821            object: CUuserObject,
17822            count: ::core::ffi::c_uint,
17823            flags: ::core::ffi::c_uint,
17824        ) -> CUresult,
17825        pub cuGraphUpload:
17826            unsafe extern "C" fn(hGraphExec: CUgraphExec, hStream: CUstream) -> CUresult,
17827        pub cuGraphicsMapResources: unsafe extern "C" fn(
17828            count: ::core::ffi::c_uint,
17829            resources: *mut CUgraphicsResource,
17830            hStream: CUstream,
17831        ) -> CUresult,
17832        pub cuGraphicsResourceGetMappedMipmappedArray: unsafe extern "C" fn(
17833            pMipmappedArray: *mut CUmipmappedArray,
17834            resource: CUgraphicsResource,
17835        ) -> CUresult,
17836        pub cuGraphicsResourceGetMappedPointer_v2: unsafe extern "C" fn(
17837            pDevPtr: *mut CUdeviceptr,
17838            pSize: *mut usize,
17839            resource: CUgraphicsResource,
17840        ) -> CUresult,
17841        pub cuGraphicsResourceSetMapFlags_v2: unsafe extern "C" fn(
17842            resource: CUgraphicsResource,
17843            flags: ::core::ffi::c_uint,
17844        ) -> CUresult,
17845        pub cuGraphicsSubResourceGetMappedArray: unsafe extern "C" fn(
17846            pArray: *mut CUarray,
17847            resource: CUgraphicsResource,
17848            arrayIndex: ::core::ffi::c_uint,
17849            mipLevel: ::core::ffi::c_uint,
17850        ) -> CUresult,
17851        pub cuGraphicsUnmapResources: unsafe extern "C" fn(
17852            count: ::core::ffi::c_uint,
17853            resources: *mut CUgraphicsResource,
17854            hStream: CUstream,
17855        ) -> CUresult,
17856        pub cuGraphicsUnregisterResource:
17857            unsafe extern "C" fn(resource: CUgraphicsResource) -> CUresult,
17858        #[cfg(any(
17859            feature = "cuda-12040",
17860            feature = "cuda-12050",
17861            feature = "cuda-12060",
17862            feature = "cuda-12080",
17863            feature = "cuda-12090",
17864            feature = "cuda-13000"
17865        ))]
17866        pub cuGreenCtxCreate: unsafe extern "C" fn(
17867            phCtx: *mut CUgreenCtx,
17868            desc: CUdevResourceDesc,
17869            dev: CUdevice,
17870            flags: ::core::ffi::c_uint,
17871        ) -> CUresult,
17872        #[cfg(any(
17873            feature = "cuda-12040",
17874            feature = "cuda-12050",
17875            feature = "cuda-12060",
17876            feature = "cuda-12080",
17877            feature = "cuda-12090",
17878            feature = "cuda-13000"
17879        ))]
17880        pub cuGreenCtxDestroy: unsafe extern "C" fn(hCtx: CUgreenCtx) -> CUresult,
17881        #[cfg(any(
17882            feature = "cuda-12040",
17883            feature = "cuda-12050",
17884            feature = "cuda-12060",
17885            feature = "cuda-12080",
17886            feature = "cuda-12090",
17887            feature = "cuda-13000"
17888        ))]
17889        pub cuGreenCtxGetDevResource: unsafe extern "C" fn(
17890            hCtx: CUgreenCtx,
17891            resource: *mut CUdevResource,
17892            type_: CUdevResourceType,
17893        ) -> CUresult,
17894        #[cfg(any(feature = "cuda-13000"))]
17895        pub cuGreenCtxGetId: unsafe extern "C" fn(
17896            greenCtx: CUgreenCtx,
17897            greenCtxId: *mut ::core::ffi::c_ulonglong,
17898        ) -> CUresult,
17899        #[cfg(any(
17900            feature = "cuda-12040",
17901            feature = "cuda-12050",
17902            feature = "cuda-12060",
17903            feature = "cuda-12080",
17904            feature = "cuda-12090",
17905            feature = "cuda-13000"
17906        ))]
17907        pub cuGreenCtxRecordEvent:
17908            unsafe extern "C" fn(hCtx: CUgreenCtx, hEvent: CUevent) -> CUresult,
17909        #[cfg(any(
17910            feature = "cuda-12050",
17911            feature = "cuda-12060",
17912            feature = "cuda-12080",
17913            feature = "cuda-12090",
17914            feature = "cuda-13000"
17915        ))]
17916        pub cuGreenCtxStreamCreate: unsafe extern "C" fn(
17917            phStream: *mut CUstream,
17918            greenCtx: CUgreenCtx,
17919            flags: ::core::ffi::c_uint,
17920            priority: ::core::ffi::c_int,
17921        ) -> CUresult,
17922        #[cfg(any(
17923            feature = "cuda-12040",
17924            feature = "cuda-12050",
17925            feature = "cuda-12060",
17926            feature = "cuda-12080",
17927            feature = "cuda-12090",
17928            feature = "cuda-13000"
17929        ))]
17930        pub cuGreenCtxWaitEvent:
17931            unsafe extern "C" fn(hCtx: CUgreenCtx, hEvent: CUevent) -> CUresult,
17932        pub cuImportExternalMemory: unsafe extern "C" fn(
17933            extMem_out: *mut CUexternalMemory,
17934            memHandleDesc: *const CUDA_EXTERNAL_MEMORY_HANDLE_DESC,
17935        ) -> CUresult,
17936        pub cuImportExternalSemaphore: unsafe extern "C" fn(
17937            extSem_out: *mut CUexternalSemaphore,
17938            semHandleDesc: *const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC,
17939        ) -> CUresult,
17940        pub cuInit: unsafe extern "C" fn(Flags: ::core::ffi::c_uint) -> CUresult,
17941        pub cuIpcCloseMemHandle: unsafe extern "C" fn(dptr: CUdeviceptr) -> CUresult,
17942        pub cuIpcGetEventHandle:
17943            unsafe extern "C" fn(pHandle: *mut CUipcEventHandle, event: CUevent) -> CUresult,
17944        pub cuIpcGetMemHandle:
17945            unsafe extern "C" fn(pHandle: *mut CUipcMemHandle, dptr: CUdeviceptr) -> CUresult,
17946        pub cuIpcOpenEventHandle:
17947            unsafe extern "C" fn(phEvent: *mut CUevent, handle: CUipcEventHandle) -> CUresult,
17948        pub cuIpcOpenMemHandle_v2: unsafe extern "C" fn(
17949            pdptr: *mut CUdeviceptr,
17950            handle: CUipcMemHandle,
17951            Flags: ::core::ffi::c_uint,
17952        ) -> CUresult,
17953        #[cfg(any(
17954            feature = "cuda-12000",
17955            feature = "cuda-12010",
17956            feature = "cuda-12020",
17957            feature = "cuda-12030",
17958            feature = "cuda-12040",
17959            feature = "cuda-12050",
17960            feature = "cuda-12060",
17961            feature = "cuda-12080",
17962            feature = "cuda-12090",
17963            feature = "cuda-13000"
17964        ))]
17965        pub cuKernelGetAttribute: unsafe extern "C" fn(
17966            pi: *mut ::core::ffi::c_int,
17967            attrib: CUfunction_attribute,
17968            kernel: CUkernel,
17969            dev: CUdevice,
17970        ) -> CUresult,
17971        #[cfg(any(
17972            feature = "cuda-12000",
17973            feature = "cuda-12010",
17974            feature = "cuda-12020",
17975            feature = "cuda-12030",
17976            feature = "cuda-12040",
17977            feature = "cuda-12050",
17978            feature = "cuda-12060",
17979            feature = "cuda-12080",
17980            feature = "cuda-12090",
17981            feature = "cuda-13000"
17982        ))]
17983        pub cuKernelGetFunction:
17984            unsafe extern "C" fn(pFunc: *mut CUfunction, kernel: CUkernel) -> CUresult,
17985        #[cfg(any(
17986            feature = "cuda-12050",
17987            feature = "cuda-12060",
17988            feature = "cuda-12080",
17989            feature = "cuda-12090",
17990            feature = "cuda-13000"
17991        ))]
17992        pub cuKernelGetLibrary:
17993            unsafe extern "C" fn(pLib: *mut CUlibrary, kernel: CUkernel) -> CUresult,
17994        #[cfg(any(
17995            feature = "cuda-12030",
17996            feature = "cuda-12040",
17997            feature = "cuda-12050",
17998            feature = "cuda-12060",
17999            feature = "cuda-12080",
18000            feature = "cuda-12090",
18001            feature = "cuda-13000"
18002        ))]
18003        pub cuKernelGetName: unsafe extern "C" fn(
18004            name: *mut *const ::core::ffi::c_char,
18005            hfunc: CUkernel,
18006        ) -> CUresult,
18007        #[cfg(any(
18008            feature = "cuda-12040",
18009            feature = "cuda-12050",
18010            feature = "cuda-12060",
18011            feature = "cuda-12080",
18012            feature = "cuda-12090",
18013            feature = "cuda-13000"
18014        ))]
18015        pub cuKernelGetParamInfo: unsafe extern "C" fn(
18016            kernel: CUkernel,
18017            paramIndex: usize,
18018            paramOffset: *mut usize,
18019            paramSize: *mut usize,
18020        ) -> CUresult,
18021        #[cfg(any(
18022            feature = "cuda-12000",
18023            feature = "cuda-12010",
18024            feature = "cuda-12020",
18025            feature = "cuda-12030",
18026            feature = "cuda-12040",
18027            feature = "cuda-12050",
18028            feature = "cuda-12060",
18029            feature = "cuda-12080",
18030            feature = "cuda-12090",
18031            feature = "cuda-13000"
18032        ))]
18033        pub cuKernelSetAttribute: unsafe extern "C" fn(
18034            attrib: CUfunction_attribute,
18035            val: ::core::ffi::c_int,
18036            kernel: CUkernel,
18037            dev: CUdevice,
18038        ) -> CUresult,
18039        #[cfg(any(
18040            feature = "cuda-12000",
18041            feature = "cuda-12010",
18042            feature = "cuda-12020",
18043            feature = "cuda-12030",
18044            feature = "cuda-12040",
18045            feature = "cuda-12050",
18046            feature = "cuda-12060",
18047            feature = "cuda-12080",
18048            feature = "cuda-12090",
18049            feature = "cuda-13000"
18050        ))]
18051        pub cuKernelSetCacheConfig:
18052            unsafe extern "C" fn(kernel: CUkernel, config: CUfunc_cache, dev: CUdevice) -> CUresult,
18053        pub cuLaunch: unsafe extern "C" fn(f: CUfunction) -> CUresult,
18054        pub cuLaunchCooperativeKernel: unsafe extern "C" fn(
18055            f: CUfunction,
18056            gridDimX: ::core::ffi::c_uint,
18057            gridDimY: ::core::ffi::c_uint,
18058            gridDimZ: ::core::ffi::c_uint,
18059            blockDimX: ::core::ffi::c_uint,
18060            blockDimY: ::core::ffi::c_uint,
18061            blockDimZ: ::core::ffi::c_uint,
18062            sharedMemBytes: ::core::ffi::c_uint,
18063            hStream: CUstream,
18064            kernelParams: *mut *mut ::core::ffi::c_void,
18065        ) -> CUresult,
18066        pub cuLaunchCooperativeKernelMultiDevice: unsafe extern "C" fn(
18067            launchParamsList: *mut CUDA_LAUNCH_PARAMS,
18068            numDevices: ::core::ffi::c_uint,
18069            flags: ::core::ffi::c_uint,
18070        ) -> CUresult,
18071        pub cuLaunchGrid: unsafe extern "C" fn(
18072            f: CUfunction,
18073            grid_width: ::core::ffi::c_int,
18074            grid_height: ::core::ffi::c_int,
18075        ) -> CUresult,
18076        pub cuLaunchGridAsync: unsafe extern "C" fn(
18077            f: CUfunction,
18078            grid_width: ::core::ffi::c_int,
18079            grid_height: ::core::ffi::c_int,
18080            hStream: CUstream,
18081        ) -> CUresult,
18082        pub cuLaunchHostFunc: unsafe extern "C" fn(
18083            hStream: CUstream,
18084            fn_: CUhostFn,
18085            userData: *mut ::core::ffi::c_void,
18086        ) -> CUresult,
18087        pub cuLaunchKernel: unsafe extern "C" fn(
18088            f: CUfunction,
18089            gridDimX: ::core::ffi::c_uint,
18090            gridDimY: ::core::ffi::c_uint,
18091            gridDimZ: ::core::ffi::c_uint,
18092            blockDimX: ::core::ffi::c_uint,
18093            blockDimY: ::core::ffi::c_uint,
18094            blockDimZ: ::core::ffi::c_uint,
18095            sharedMemBytes: ::core::ffi::c_uint,
18096            hStream: CUstream,
18097            kernelParams: *mut *mut ::core::ffi::c_void,
18098            extra: *mut *mut ::core::ffi::c_void,
18099        ) -> CUresult,
18100        #[cfg(any(
18101            feature = "cuda-11080",
18102            feature = "cuda-12000",
18103            feature = "cuda-12010",
18104            feature = "cuda-12020",
18105            feature = "cuda-12030",
18106            feature = "cuda-12040",
18107            feature = "cuda-12050",
18108            feature = "cuda-12060",
18109            feature = "cuda-12080",
18110            feature = "cuda-12090",
18111            feature = "cuda-13000"
18112        ))]
18113        pub cuLaunchKernelEx: unsafe extern "C" fn(
18114            config: *const CUlaunchConfig,
18115            f: CUfunction,
18116            kernelParams: *mut *mut ::core::ffi::c_void,
18117            extra: *mut *mut ::core::ffi::c_void,
18118        ) -> CUresult,
18119        #[cfg(any(
18120            feature = "cuda-12040",
18121            feature = "cuda-12050",
18122            feature = "cuda-12060",
18123            feature = "cuda-12080",
18124            feature = "cuda-12090",
18125            feature = "cuda-13000"
18126        ))]
18127        pub cuLibraryEnumerateKernels: unsafe extern "C" fn(
18128            kernels: *mut CUkernel,
18129            numKernels: ::core::ffi::c_uint,
18130            lib: CUlibrary,
18131        ) -> CUresult,
18132        #[cfg(any(
18133            feature = "cuda-12000",
18134            feature = "cuda-12010",
18135            feature = "cuda-12020",
18136            feature = "cuda-12030",
18137            feature = "cuda-12040",
18138            feature = "cuda-12050",
18139            feature = "cuda-12060",
18140            feature = "cuda-12080",
18141            feature = "cuda-12090",
18142            feature = "cuda-13000"
18143        ))]
18144        pub cuLibraryGetGlobal: unsafe extern "C" fn(
18145            dptr: *mut CUdeviceptr,
18146            bytes: *mut usize,
18147            library: CUlibrary,
18148            name: *const ::core::ffi::c_char,
18149        ) -> CUresult,
18150        #[cfg(any(
18151            feature = "cuda-12000",
18152            feature = "cuda-12010",
18153            feature = "cuda-12020",
18154            feature = "cuda-12030",
18155            feature = "cuda-12040",
18156            feature = "cuda-12050",
18157            feature = "cuda-12060",
18158            feature = "cuda-12080",
18159            feature = "cuda-12090",
18160            feature = "cuda-13000"
18161        ))]
18162        pub cuLibraryGetKernel: unsafe extern "C" fn(
18163            pKernel: *mut CUkernel,
18164            library: CUlibrary,
18165            name: *const ::core::ffi::c_char,
18166        ) -> CUresult,
18167        #[cfg(any(
18168            feature = "cuda-12040",
18169            feature = "cuda-12050",
18170            feature = "cuda-12060",
18171            feature = "cuda-12080",
18172            feature = "cuda-12090",
18173            feature = "cuda-13000"
18174        ))]
18175        pub cuLibraryGetKernelCount:
18176            unsafe extern "C" fn(count: *mut ::core::ffi::c_uint, lib: CUlibrary) -> CUresult,
18177        #[cfg(any(
18178            feature = "cuda-12000",
18179            feature = "cuda-12010",
18180            feature = "cuda-12020",
18181            feature = "cuda-12030",
18182            feature = "cuda-12040",
18183            feature = "cuda-12050",
18184            feature = "cuda-12060",
18185            feature = "cuda-12080",
18186            feature = "cuda-12090",
18187            feature = "cuda-13000"
18188        ))]
18189        pub cuLibraryGetManaged: unsafe extern "C" fn(
18190            dptr: *mut CUdeviceptr,
18191            bytes: *mut usize,
18192            library: CUlibrary,
18193            name: *const ::core::ffi::c_char,
18194        ) -> CUresult,
18195        #[cfg(any(
18196            feature = "cuda-12000",
18197            feature = "cuda-12010",
18198            feature = "cuda-12020",
18199            feature = "cuda-12030",
18200            feature = "cuda-12040",
18201            feature = "cuda-12050",
18202            feature = "cuda-12060",
18203            feature = "cuda-12080",
18204            feature = "cuda-12090",
18205            feature = "cuda-13000"
18206        ))]
18207        pub cuLibraryGetModule:
18208            unsafe extern "C" fn(pMod: *mut CUmodule, library: CUlibrary) -> CUresult,
18209        #[cfg(any(
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        pub cuLibraryGetUnifiedFunction: unsafe extern "C" fn(
18222            fptr: *mut *mut ::core::ffi::c_void,
18223            library: CUlibrary,
18224            symbol: *const ::core::ffi::c_char,
18225        ) -> CUresult,
18226        #[cfg(any(
18227            feature = "cuda-12000",
18228            feature = "cuda-12010",
18229            feature = "cuda-12020",
18230            feature = "cuda-12030",
18231            feature = "cuda-12040",
18232            feature = "cuda-12050",
18233            feature = "cuda-12060",
18234            feature = "cuda-12080",
18235            feature = "cuda-12090",
18236            feature = "cuda-13000"
18237        ))]
18238        pub cuLibraryLoadData: unsafe extern "C" fn(
18239            library: *mut CUlibrary,
18240            code: *const ::core::ffi::c_void,
18241            jitOptions: *mut CUjit_option,
18242            jitOptionsValues: *mut *mut ::core::ffi::c_void,
18243            numJitOptions: ::core::ffi::c_uint,
18244            libraryOptions: *mut CUlibraryOption,
18245            libraryOptionValues: *mut *mut ::core::ffi::c_void,
18246            numLibraryOptions: ::core::ffi::c_uint,
18247        ) -> CUresult,
18248        #[cfg(any(
18249            feature = "cuda-12000",
18250            feature = "cuda-12010",
18251            feature = "cuda-12020",
18252            feature = "cuda-12030",
18253            feature = "cuda-12040",
18254            feature = "cuda-12050",
18255            feature = "cuda-12060",
18256            feature = "cuda-12080",
18257            feature = "cuda-12090",
18258            feature = "cuda-13000"
18259        ))]
18260        pub cuLibraryLoadFromFile: unsafe extern "C" fn(
18261            library: *mut CUlibrary,
18262            fileName: *const ::core::ffi::c_char,
18263            jitOptions: *mut CUjit_option,
18264            jitOptionsValues: *mut *mut ::core::ffi::c_void,
18265            numJitOptions: ::core::ffi::c_uint,
18266            libraryOptions: *mut CUlibraryOption,
18267            libraryOptionValues: *mut *mut ::core::ffi::c_void,
18268            numLibraryOptions: ::core::ffi::c_uint,
18269        ) -> CUresult,
18270        #[cfg(any(
18271            feature = "cuda-12000",
18272            feature = "cuda-12010",
18273            feature = "cuda-12020",
18274            feature = "cuda-12030",
18275            feature = "cuda-12040",
18276            feature = "cuda-12050",
18277            feature = "cuda-12060",
18278            feature = "cuda-12080",
18279            feature = "cuda-12090",
18280            feature = "cuda-13000"
18281        ))]
18282        pub cuLibraryUnload: unsafe extern "C" fn(library: CUlibrary) -> CUresult,
18283        pub cuLinkAddData_v2: unsafe extern "C" fn(
18284            state: CUlinkState,
18285            type_: CUjitInputType,
18286            data: *mut ::core::ffi::c_void,
18287            size: usize,
18288            name: *const ::core::ffi::c_char,
18289            numOptions: ::core::ffi::c_uint,
18290            options: *mut CUjit_option,
18291            optionValues: *mut *mut ::core::ffi::c_void,
18292        ) -> CUresult,
18293        pub cuLinkAddFile_v2: unsafe extern "C" fn(
18294            state: CUlinkState,
18295            type_: CUjitInputType,
18296            path: *const ::core::ffi::c_char,
18297            numOptions: ::core::ffi::c_uint,
18298            options: *mut CUjit_option,
18299            optionValues: *mut *mut ::core::ffi::c_void,
18300        ) -> CUresult,
18301        pub cuLinkComplete: unsafe extern "C" fn(
18302            state: CUlinkState,
18303            cubinOut: *mut *mut ::core::ffi::c_void,
18304            sizeOut: *mut usize,
18305        ) -> CUresult,
18306        pub cuLinkCreate_v2: unsafe extern "C" fn(
18307            numOptions: ::core::ffi::c_uint,
18308            options: *mut CUjit_option,
18309            optionValues: *mut *mut ::core::ffi::c_void,
18310            stateOut: *mut CUlinkState,
18311        ) -> CUresult,
18312        pub cuLinkDestroy: unsafe extern "C" fn(state: CUlinkState) -> CUresult,
18313        #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
18314        pub cuLogsCurrent: unsafe extern "C" fn(
18315            iterator_out: *mut CUlogIterator,
18316            flags: ::core::ffi::c_uint,
18317        ) -> CUresult,
18318        #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
18319        pub cuLogsDumpToFile: unsafe extern "C" fn(
18320            iterator: *mut CUlogIterator,
18321            pathToFile: *const ::core::ffi::c_char,
18322            flags: ::core::ffi::c_uint,
18323        ) -> CUresult,
18324        #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
18325        pub cuLogsDumpToMemory: unsafe extern "C" fn(
18326            iterator: *mut CUlogIterator,
18327            buffer: *mut ::core::ffi::c_char,
18328            size: *mut usize,
18329            flags: ::core::ffi::c_uint,
18330        ) -> CUresult,
18331        #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
18332        pub cuLogsRegisterCallback: unsafe extern "C" fn(
18333            callbackFunc: CUlogsCallback,
18334            userData: *mut ::core::ffi::c_void,
18335            callback_out: *mut CUlogsCallbackHandle,
18336        ) -> CUresult,
18337        #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
18338        pub cuLogsUnregisterCallback:
18339            unsafe extern "C" fn(callback: CUlogsCallbackHandle) -> CUresult,
18340        pub cuMemAddressFree: unsafe extern "C" fn(ptr: CUdeviceptr, size: usize) -> CUresult,
18341        pub cuMemAddressReserve: unsafe extern "C" fn(
18342            ptr: *mut CUdeviceptr,
18343            size: usize,
18344            alignment: usize,
18345            addr: CUdeviceptr,
18346            flags: ::core::ffi::c_ulonglong,
18347        ) -> CUresult,
18348        #[cfg(any(
18349            feature = "cuda-11040",
18350            feature = "cuda-11050",
18351            feature = "cuda-11060",
18352            feature = "cuda-11070",
18353            feature = "cuda-11080",
18354            feature = "cuda-12000",
18355            feature = "cuda-12010",
18356            feature = "cuda-12020",
18357            feature = "cuda-12030",
18358            feature = "cuda-12040",
18359            feature = "cuda-12050",
18360            feature = "cuda-12060",
18361            feature = "cuda-12080",
18362            feature = "cuda-12090"
18363        ))]
18364        pub cuMemAdvise: unsafe extern "C" fn(
18365            devPtr: CUdeviceptr,
18366            count: usize,
18367            advice: CUmem_advise,
18368            device: CUdevice,
18369        ) -> CUresult,
18370        #[cfg(any(
18371            feature = "cuda-12020",
18372            feature = "cuda-12030",
18373            feature = "cuda-12040",
18374            feature = "cuda-12050",
18375            feature = "cuda-12060",
18376            feature = "cuda-12080",
18377            feature = "cuda-12090",
18378            feature = "cuda-13000"
18379        ))]
18380        pub cuMemAdvise_v2: unsafe extern "C" fn(
18381            devPtr: CUdeviceptr,
18382            count: usize,
18383            advice: CUmem_advise,
18384            location: CUmemLocation,
18385        ) -> CUresult,
18386        pub cuMemAllocAsync: unsafe extern "C" fn(
18387            dptr: *mut CUdeviceptr,
18388            bytesize: usize,
18389            hStream: CUstream,
18390        ) -> CUresult,
18391        pub cuMemAllocFromPoolAsync: unsafe extern "C" fn(
18392            dptr: *mut CUdeviceptr,
18393            bytesize: usize,
18394            pool: CUmemoryPool,
18395            hStream: CUstream,
18396        ) -> CUresult,
18397        pub cuMemAllocHost_v2:
18398            unsafe extern "C" fn(pp: *mut *mut ::core::ffi::c_void, bytesize: usize) -> CUresult,
18399        pub cuMemAllocManaged: unsafe extern "C" fn(
18400            dptr: *mut CUdeviceptr,
18401            bytesize: usize,
18402            flags: ::core::ffi::c_uint,
18403        ) -> CUresult,
18404        pub cuMemAllocPitch_v2: unsafe extern "C" fn(
18405            dptr: *mut CUdeviceptr,
18406            pPitch: *mut usize,
18407            WidthInBytes: usize,
18408            Height: usize,
18409            ElementSizeBytes: ::core::ffi::c_uint,
18410        ) -> CUresult,
18411        pub cuMemAlloc_v2:
18412            unsafe extern "C" fn(dptr: *mut CUdeviceptr, bytesize: usize) -> CUresult,
18413        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
18414        pub cuMemBatchDecompressAsync: unsafe extern "C" fn(
18415            paramsArray: *mut CUmemDecompressParams,
18416            count: usize,
18417            flags: ::core::ffi::c_uint,
18418            errorIndex: *mut usize,
18419            stream: CUstream,
18420        ) -> CUresult,
18421        pub cuMemCreate: unsafe extern "C" fn(
18422            handle: *mut CUmemGenericAllocationHandle,
18423            size: usize,
18424            prop: *const CUmemAllocationProp,
18425            flags: ::core::ffi::c_ulonglong,
18426        ) -> CUresult,
18427        #[cfg(any(feature = "cuda-13000"))]
18428        pub cuMemDiscardAndPrefetchBatchAsync: unsafe extern "C" fn(
18429            dptrs: *mut CUdeviceptr,
18430            sizes: *mut usize,
18431            count: usize,
18432            prefetchLocs: *mut CUmemLocation,
18433            prefetchLocIdxs: *mut usize,
18434            numPrefetchLocs: usize,
18435            flags: ::core::ffi::c_ulonglong,
18436            hStream: CUstream,
18437        ) -> CUresult,
18438        #[cfg(any(feature = "cuda-13000"))]
18439        pub cuMemDiscardBatchAsync: unsafe extern "C" fn(
18440            dptrs: *mut CUdeviceptr,
18441            sizes: *mut usize,
18442            count: usize,
18443            flags: ::core::ffi::c_ulonglong,
18444            hStream: CUstream,
18445        ) -> CUresult,
18446        pub cuMemExportToShareableHandle: unsafe extern "C" fn(
18447            shareableHandle: *mut ::core::ffi::c_void,
18448            handle: CUmemGenericAllocationHandle,
18449            handleType: CUmemAllocationHandleType,
18450            flags: ::core::ffi::c_ulonglong,
18451        ) -> CUresult,
18452        pub cuMemFreeAsync: unsafe extern "C" fn(dptr: CUdeviceptr, hStream: CUstream) -> CUresult,
18453        pub cuMemFreeHost: unsafe extern "C" fn(p: *mut ::core::ffi::c_void) -> CUresult,
18454        pub cuMemFree_v2: unsafe extern "C" fn(dptr: CUdeviceptr) -> CUresult,
18455        pub cuMemGetAccess: unsafe extern "C" fn(
18456            flags: *mut ::core::ffi::c_ulonglong,
18457            location: *const CUmemLocation,
18458            ptr: CUdeviceptr,
18459        ) -> CUresult,
18460        pub cuMemGetAddressRange_v2: unsafe extern "C" fn(
18461            pbase: *mut CUdeviceptr,
18462            psize: *mut usize,
18463            dptr: CUdeviceptr,
18464        ) -> CUresult,
18465        pub cuMemGetAllocationGranularity: unsafe extern "C" fn(
18466            granularity: *mut usize,
18467            prop: *const CUmemAllocationProp,
18468            option: CUmemAllocationGranularity_flags,
18469        ) -> CUresult,
18470        pub cuMemGetAllocationPropertiesFromHandle: unsafe extern "C" fn(
18471            prop: *mut CUmemAllocationProp,
18472            handle: CUmemGenericAllocationHandle,
18473        ) -> CUresult,
18474        #[cfg(any(feature = "cuda-13000"))]
18475        pub cuMemGetDefaultMemPool: unsafe extern "C" fn(
18476            pool_out: *mut CUmemoryPool,
18477            location: *mut CUmemLocation,
18478            type_: CUmemAllocationType,
18479        ) -> CUresult,
18480        #[cfg(any(
18481            feature = "cuda-11070",
18482            feature = "cuda-11080",
18483            feature = "cuda-12000",
18484            feature = "cuda-12010",
18485            feature = "cuda-12020",
18486            feature = "cuda-12030",
18487            feature = "cuda-12040",
18488            feature = "cuda-12050",
18489            feature = "cuda-12060",
18490            feature = "cuda-12080",
18491            feature = "cuda-12090",
18492            feature = "cuda-13000"
18493        ))]
18494        pub cuMemGetHandleForAddressRange: unsafe extern "C" fn(
18495            handle: *mut ::core::ffi::c_void,
18496            dptr: CUdeviceptr,
18497            size: usize,
18498            handleType: CUmemRangeHandleType,
18499            flags: ::core::ffi::c_ulonglong,
18500        ) -> CUresult,
18501        pub cuMemGetInfo_v2: unsafe extern "C" fn(free: *mut usize, total: *mut usize) -> CUresult,
18502        #[cfg(any(feature = "cuda-13000"))]
18503        pub cuMemGetMemPool: unsafe extern "C" fn(
18504            pool: *mut CUmemoryPool,
18505            location: *mut CUmemLocation,
18506            type_: CUmemAllocationType,
18507        ) -> CUresult,
18508        pub cuMemHostAlloc: unsafe extern "C" fn(
18509            pp: *mut *mut ::core::ffi::c_void,
18510            bytesize: usize,
18511            Flags: ::core::ffi::c_uint,
18512        ) -> CUresult,
18513        pub cuMemHostGetDevicePointer_v2: unsafe extern "C" fn(
18514            pdptr: *mut CUdeviceptr,
18515            p: *mut ::core::ffi::c_void,
18516            Flags: ::core::ffi::c_uint,
18517        ) -> CUresult,
18518        pub cuMemHostGetFlags: unsafe extern "C" fn(
18519            pFlags: *mut ::core::ffi::c_uint,
18520            p: *mut ::core::ffi::c_void,
18521        ) -> CUresult,
18522        pub cuMemHostRegister_v2: unsafe extern "C" fn(
18523            p: *mut ::core::ffi::c_void,
18524            bytesize: usize,
18525            Flags: ::core::ffi::c_uint,
18526        ) -> CUresult,
18527        pub cuMemHostUnregister: unsafe extern "C" fn(p: *mut ::core::ffi::c_void) -> CUresult,
18528        pub cuMemImportFromShareableHandle: unsafe extern "C" fn(
18529            handle: *mut CUmemGenericAllocationHandle,
18530            osHandle: *mut ::core::ffi::c_void,
18531            shHandleType: CUmemAllocationHandleType,
18532        ) -> CUresult,
18533        pub cuMemMap: unsafe extern "C" fn(
18534            ptr: CUdeviceptr,
18535            size: usize,
18536            offset: usize,
18537            handle: CUmemGenericAllocationHandle,
18538            flags: ::core::ffi::c_ulonglong,
18539        ) -> CUresult,
18540        pub cuMemMapArrayAsync: unsafe extern "C" fn(
18541            mapInfoList: *mut CUarrayMapInfo,
18542            count: ::core::ffi::c_uint,
18543            hStream: CUstream,
18544        ) -> CUresult,
18545        pub cuMemPoolCreate: unsafe extern "C" fn(
18546            pool: *mut CUmemoryPool,
18547            poolProps: *const CUmemPoolProps,
18548        ) -> CUresult,
18549        pub cuMemPoolDestroy: unsafe extern "C" fn(pool: CUmemoryPool) -> CUresult,
18550        pub cuMemPoolExportPointer: unsafe extern "C" fn(
18551            shareData_out: *mut CUmemPoolPtrExportData,
18552            ptr: CUdeviceptr,
18553        ) -> CUresult,
18554        pub cuMemPoolExportToShareableHandle: unsafe extern "C" fn(
18555            handle_out: *mut ::core::ffi::c_void,
18556            pool: CUmemoryPool,
18557            handleType: CUmemAllocationHandleType,
18558            flags: ::core::ffi::c_ulonglong,
18559        ) -> CUresult,
18560        pub cuMemPoolGetAccess: unsafe extern "C" fn(
18561            flags: *mut CUmemAccess_flags,
18562            memPool: CUmemoryPool,
18563            location: *mut CUmemLocation,
18564        ) -> CUresult,
18565        pub cuMemPoolGetAttribute: unsafe extern "C" fn(
18566            pool: CUmemoryPool,
18567            attr: CUmemPool_attribute,
18568            value: *mut ::core::ffi::c_void,
18569        ) -> CUresult,
18570        pub cuMemPoolImportFromShareableHandle: unsafe extern "C" fn(
18571            pool_out: *mut CUmemoryPool,
18572            handle: *mut ::core::ffi::c_void,
18573            handleType: CUmemAllocationHandleType,
18574            flags: ::core::ffi::c_ulonglong,
18575        ) -> CUresult,
18576        pub cuMemPoolImportPointer: unsafe extern "C" fn(
18577            ptr_out: *mut CUdeviceptr,
18578            pool: CUmemoryPool,
18579            shareData: *mut CUmemPoolPtrExportData,
18580        ) -> CUresult,
18581        pub cuMemPoolSetAccess: unsafe extern "C" fn(
18582            pool: CUmemoryPool,
18583            map: *const CUmemAccessDesc,
18584            count: usize,
18585        ) -> CUresult,
18586        pub cuMemPoolSetAttribute: unsafe extern "C" fn(
18587            pool: CUmemoryPool,
18588            attr: CUmemPool_attribute,
18589            value: *mut ::core::ffi::c_void,
18590        ) -> CUresult,
18591        pub cuMemPoolTrimTo:
18592            unsafe extern "C" fn(pool: CUmemoryPool, minBytesToKeep: usize) -> CUresult,
18593        #[cfg(any(
18594            feature = "cuda-11040",
18595            feature = "cuda-11050",
18596            feature = "cuda-11060",
18597            feature = "cuda-11070",
18598            feature = "cuda-11080",
18599            feature = "cuda-12000",
18600            feature = "cuda-12010",
18601            feature = "cuda-12020",
18602            feature = "cuda-12030",
18603            feature = "cuda-12040",
18604            feature = "cuda-12050",
18605            feature = "cuda-12060",
18606            feature = "cuda-12080",
18607            feature = "cuda-12090"
18608        ))]
18609        pub cuMemPrefetchAsync: unsafe extern "C" fn(
18610            devPtr: CUdeviceptr,
18611            count: usize,
18612            dstDevice: CUdevice,
18613            hStream: CUstream,
18614        ) -> CUresult,
18615        #[cfg(any(
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        pub cuMemPrefetchAsync_v2: unsafe extern "C" fn(
18626            devPtr: CUdeviceptr,
18627            count: usize,
18628            location: CUmemLocation,
18629            flags: ::core::ffi::c_uint,
18630            hStream: CUstream,
18631        ) -> CUresult,
18632        #[cfg(any(feature = "cuda-13000"))]
18633        pub cuMemPrefetchBatchAsync: unsafe extern "C" fn(
18634            dptrs: *mut CUdeviceptr,
18635            sizes: *mut usize,
18636            count: usize,
18637            prefetchLocs: *mut CUmemLocation,
18638            prefetchLocIdxs: *mut usize,
18639            numPrefetchLocs: usize,
18640            flags: ::core::ffi::c_ulonglong,
18641            hStream: CUstream,
18642        ) -> CUresult,
18643        pub cuMemRangeGetAttribute: unsafe extern "C" fn(
18644            data: *mut ::core::ffi::c_void,
18645            dataSize: usize,
18646            attribute: CUmem_range_attribute,
18647            devPtr: CUdeviceptr,
18648            count: usize,
18649        ) -> CUresult,
18650        pub cuMemRangeGetAttributes: unsafe extern "C" fn(
18651            data: *mut *mut ::core::ffi::c_void,
18652            dataSizes: *mut usize,
18653            attributes: *mut CUmem_range_attribute,
18654            numAttributes: usize,
18655            devPtr: CUdeviceptr,
18656            count: usize,
18657        ) -> CUresult,
18658        pub cuMemRelease: unsafe extern "C" fn(handle: CUmemGenericAllocationHandle) -> CUresult,
18659        pub cuMemRetainAllocationHandle: unsafe extern "C" fn(
18660            handle: *mut CUmemGenericAllocationHandle,
18661            addr: *mut ::core::ffi::c_void,
18662        ) -> CUresult,
18663        pub cuMemSetAccess: unsafe extern "C" fn(
18664            ptr: CUdeviceptr,
18665            size: usize,
18666            desc: *const CUmemAccessDesc,
18667            count: usize,
18668        ) -> CUresult,
18669        #[cfg(any(feature = "cuda-13000"))]
18670        pub cuMemSetMemPool: unsafe extern "C" fn(
18671            location: *mut CUmemLocation,
18672            type_: CUmemAllocationType,
18673            pool: CUmemoryPool,
18674        ) -> CUresult,
18675        pub cuMemUnmap: unsafe extern "C" fn(ptr: CUdeviceptr, size: usize) -> CUresult,
18676        pub cuMemcpy:
18677            unsafe extern "C" fn(dst: CUdeviceptr, src: CUdeviceptr, ByteCount: usize) -> CUresult,
18678        pub cuMemcpy2DAsync_v2:
18679            unsafe extern "C" fn(pCopy: *const CUDA_MEMCPY2D, hStream: CUstream) -> CUresult,
18680        pub cuMemcpy2DUnaligned_v2: unsafe extern "C" fn(pCopy: *const CUDA_MEMCPY2D) -> CUresult,
18681        pub cuMemcpy2D_v2: unsafe extern "C" fn(pCopy: *const CUDA_MEMCPY2D) -> CUresult,
18682        pub cuMemcpy3DAsync_v2:
18683            unsafe extern "C" fn(pCopy: *const CUDA_MEMCPY3D, hStream: CUstream) -> CUresult,
18684        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
18685        pub cuMemcpy3DBatchAsync: unsafe extern "C" fn(
18686            numOps: usize,
18687            opList: *mut CUDA_MEMCPY3D_BATCH_OP,
18688            failIdx: *mut usize,
18689            flags: ::core::ffi::c_ulonglong,
18690            hStream: CUstream,
18691        ) -> CUresult,
18692        #[cfg(any(feature = "cuda-13000"))]
18693        pub cuMemcpy3DBatchAsync_v2: unsafe extern "C" fn(
18694            numOps: usize,
18695            opList: *mut CUDA_MEMCPY3D_BATCH_OP,
18696            flags: ::core::ffi::c_ulonglong,
18697            hStream: CUstream,
18698        ) -> CUresult,
18699        pub cuMemcpy3DPeer: unsafe extern "C" fn(pCopy: *const CUDA_MEMCPY3D_PEER) -> CUresult,
18700        pub cuMemcpy3DPeerAsync:
18701            unsafe extern "C" fn(pCopy: *const CUDA_MEMCPY3D_PEER, hStream: CUstream) -> CUresult,
18702        pub cuMemcpy3D_v2: unsafe extern "C" fn(pCopy: *const CUDA_MEMCPY3D) -> CUresult,
18703        pub cuMemcpyAsync: unsafe extern "C" fn(
18704            dst: CUdeviceptr,
18705            src: CUdeviceptr,
18706            ByteCount: usize,
18707            hStream: CUstream,
18708        ) -> CUresult,
18709        pub cuMemcpyAtoA_v2: unsafe extern "C" fn(
18710            dstArray: CUarray,
18711            dstOffset: usize,
18712            srcArray: CUarray,
18713            srcOffset: usize,
18714            ByteCount: usize,
18715        ) -> CUresult,
18716        pub cuMemcpyAtoD_v2: unsafe extern "C" fn(
18717            dstDevice: CUdeviceptr,
18718            srcArray: CUarray,
18719            srcOffset: usize,
18720            ByteCount: usize,
18721        ) -> CUresult,
18722        pub cuMemcpyAtoHAsync_v2: unsafe extern "C" fn(
18723            dstHost: *mut ::core::ffi::c_void,
18724            srcArray: CUarray,
18725            srcOffset: usize,
18726            ByteCount: usize,
18727            hStream: CUstream,
18728        ) -> CUresult,
18729        pub cuMemcpyAtoH_v2: unsafe extern "C" fn(
18730            dstHost: *mut ::core::ffi::c_void,
18731            srcArray: CUarray,
18732            srcOffset: usize,
18733            ByteCount: usize,
18734        ) -> CUresult,
18735        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
18736        pub cuMemcpyBatchAsync: unsafe extern "C" fn(
18737            dsts: *mut CUdeviceptr,
18738            srcs: *mut CUdeviceptr,
18739            sizes: *mut usize,
18740            count: usize,
18741            attrs: *mut CUmemcpyAttributes,
18742            attrsIdxs: *mut usize,
18743            numAttrs: usize,
18744            failIdx: *mut usize,
18745            hStream: CUstream,
18746        ) -> CUresult,
18747        #[cfg(any(feature = "cuda-13000"))]
18748        pub cuMemcpyBatchAsync_v2: unsafe extern "C" fn(
18749            dsts: *mut CUdeviceptr,
18750            srcs: *mut CUdeviceptr,
18751            sizes: *mut usize,
18752            count: usize,
18753            attrs: *mut CUmemcpyAttributes,
18754            attrsIdxs: *mut usize,
18755            numAttrs: usize,
18756            hStream: CUstream,
18757        ) -> CUresult,
18758        pub cuMemcpyDtoA_v2: unsafe extern "C" fn(
18759            dstArray: CUarray,
18760            dstOffset: usize,
18761            srcDevice: CUdeviceptr,
18762            ByteCount: usize,
18763        ) -> CUresult,
18764        pub cuMemcpyDtoDAsync_v2: unsafe extern "C" fn(
18765            dstDevice: CUdeviceptr,
18766            srcDevice: CUdeviceptr,
18767            ByteCount: usize,
18768            hStream: CUstream,
18769        ) -> CUresult,
18770        pub cuMemcpyDtoD_v2: unsafe extern "C" fn(
18771            dstDevice: CUdeviceptr,
18772            srcDevice: CUdeviceptr,
18773            ByteCount: usize,
18774        ) -> CUresult,
18775        pub cuMemcpyDtoHAsync_v2: unsafe extern "C" fn(
18776            dstHost: *mut ::core::ffi::c_void,
18777            srcDevice: CUdeviceptr,
18778            ByteCount: usize,
18779            hStream: CUstream,
18780        ) -> CUresult,
18781        pub cuMemcpyDtoH_v2: unsafe extern "C" fn(
18782            dstHost: *mut ::core::ffi::c_void,
18783            srcDevice: CUdeviceptr,
18784            ByteCount: usize,
18785        ) -> CUresult,
18786        pub cuMemcpyHtoAAsync_v2: unsafe extern "C" fn(
18787            dstArray: CUarray,
18788            dstOffset: usize,
18789            srcHost: *const ::core::ffi::c_void,
18790            ByteCount: usize,
18791            hStream: CUstream,
18792        ) -> CUresult,
18793        pub cuMemcpyHtoA_v2: unsafe extern "C" fn(
18794            dstArray: CUarray,
18795            dstOffset: usize,
18796            srcHost: *const ::core::ffi::c_void,
18797            ByteCount: usize,
18798        ) -> CUresult,
18799        pub cuMemcpyHtoDAsync_v2: unsafe extern "C" fn(
18800            dstDevice: CUdeviceptr,
18801            srcHost: *const ::core::ffi::c_void,
18802            ByteCount: usize,
18803            hStream: CUstream,
18804        ) -> CUresult,
18805        pub cuMemcpyHtoD_v2: unsafe extern "C" fn(
18806            dstDevice: CUdeviceptr,
18807            srcHost: *const ::core::ffi::c_void,
18808            ByteCount: usize,
18809        ) -> CUresult,
18810        pub cuMemcpyPeer: unsafe extern "C" fn(
18811            dstDevice: CUdeviceptr,
18812            dstContext: CUcontext,
18813            srcDevice: CUdeviceptr,
18814            srcContext: CUcontext,
18815            ByteCount: usize,
18816        ) -> CUresult,
18817        pub cuMemcpyPeerAsync: unsafe extern "C" fn(
18818            dstDevice: CUdeviceptr,
18819            dstContext: CUcontext,
18820            srcDevice: CUdeviceptr,
18821            srcContext: CUcontext,
18822            ByteCount: usize,
18823            hStream: CUstream,
18824        ) -> CUresult,
18825        pub cuMemsetD16Async: unsafe extern "C" fn(
18826            dstDevice: CUdeviceptr,
18827            us: ::core::ffi::c_ushort,
18828            N: usize,
18829            hStream: CUstream,
18830        ) -> CUresult,
18831        pub cuMemsetD16_v2: unsafe extern "C" fn(
18832            dstDevice: CUdeviceptr,
18833            us: ::core::ffi::c_ushort,
18834            N: usize,
18835        ) -> CUresult,
18836        pub cuMemsetD2D16Async: unsafe extern "C" fn(
18837            dstDevice: CUdeviceptr,
18838            dstPitch: usize,
18839            us: ::core::ffi::c_ushort,
18840            Width: usize,
18841            Height: usize,
18842            hStream: CUstream,
18843        ) -> CUresult,
18844        pub cuMemsetD2D16_v2: unsafe extern "C" fn(
18845            dstDevice: CUdeviceptr,
18846            dstPitch: usize,
18847            us: ::core::ffi::c_ushort,
18848            Width: usize,
18849            Height: usize,
18850        ) -> CUresult,
18851        pub cuMemsetD2D32Async: unsafe extern "C" fn(
18852            dstDevice: CUdeviceptr,
18853            dstPitch: usize,
18854            ui: ::core::ffi::c_uint,
18855            Width: usize,
18856            Height: usize,
18857            hStream: CUstream,
18858        ) -> CUresult,
18859        pub cuMemsetD2D32_v2: unsafe extern "C" fn(
18860            dstDevice: CUdeviceptr,
18861            dstPitch: usize,
18862            ui: ::core::ffi::c_uint,
18863            Width: usize,
18864            Height: usize,
18865        ) -> CUresult,
18866        pub cuMemsetD2D8Async: unsafe extern "C" fn(
18867            dstDevice: CUdeviceptr,
18868            dstPitch: usize,
18869            uc: ::core::ffi::c_uchar,
18870            Width: usize,
18871            Height: usize,
18872            hStream: CUstream,
18873        ) -> CUresult,
18874        pub cuMemsetD2D8_v2: unsafe extern "C" fn(
18875            dstDevice: CUdeviceptr,
18876            dstPitch: usize,
18877            uc: ::core::ffi::c_uchar,
18878            Width: usize,
18879            Height: usize,
18880        ) -> CUresult,
18881        pub cuMemsetD32Async: unsafe extern "C" fn(
18882            dstDevice: CUdeviceptr,
18883            ui: ::core::ffi::c_uint,
18884            N: usize,
18885            hStream: CUstream,
18886        ) -> CUresult,
18887        pub cuMemsetD32_v2: unsafe extern "C" fn(
18888            dstDevice: CUdeviceptr,
18889            ui: ::core::ffi::c_uint,
18890            N: usize,
18891        ) -> CUresult,
18892        pub cuMemsetD8Async: unsafe extern "C" fn(
18893            dstDevice: CUdeviceptr,
18894            uc: ::core::ffi::c_uchar,
18895            N: usize,
18896            hStream: CUstream,
18897        ) -> CUresult,
18898        pub cuMemsetD8_v2: unsafe extern "C" fn(
18899            dstDevice: CUdeviceptr,
18900            uc: ::core::ffi::c_uchar,
18901            N: usize,
18902        ) -> CUresult,
18903        pub cuMipmappedArrayCreate: unsafe extern "C" fn(
18904            pHandle: *mut CUmipmappedArray,
18905            pMipmappedArrayDesc: *const CUDA_ARRAY3D_DESCRIPTOR,
18906            numMipmapLevels: ::core::ffi::c_uint,
18907        ) -> CUresult,
18908        pub cuMipmappedArrayDestroy:
18909            unsafe extern "C" fn(hMipmappedArray: CUmipmappedArray) -> CUresult,
18910        pub cuMipmappedArrayGetLevel: unsafe extern "C" fn(
18911            pLevelArray: *mut CUarray,
18912            hMipmappedArray: CUmipmappedArray,
18913            level: ::core::ffi::c_uint,
18914        ) -> CUresult,
18915        #[cfg(any(
18916            feature = "cuda-11060",
18917            feature = "cuda-11070",
18918            feature = "cuda-11080",
18919            feature = "cuda-12000",
18920            feature = "cuda-12010",
18921            feature = "cuda-12020",
18922            feature = "cuda-12030",
18923            feature = "cuda-12040",
18924            feature = "cuda-12050",
18925            feature = "cuda-12060",
18926            feature = "cuda-12080",
18927            feature = "cuda-12090",
18928            feature = "cuda-13000"
18929        ))]
18930        pub cuMipmappedArrayGetMemoryRequirements: unsafe extern "C" fn(
18931            memoryRequirements: *mut CUDA_ARRAY_MEMORY_REQUIREMENTS,
18932            mipmap: CUmipmappedArray,
18933            device: CUdevice,
18934        ) -> CUresult,
18935        pub cuMipmappedArrayGetSparseProperties: unsafe extern "C" fn(
18936            sparseProperties: *mut CUDA_ARRAY_SPARSE_PROPERTIES,
18937            mipmap: CUmipmappedArray,
18938        ) -> CUresult,
18939        #[cfg(any(
18940            feature = "cuda-12040",
18941            feature = "cuda-12050",
18942            feature = "cuda-12060",
18943            feature = "cuda-12080",
18944            feature = "cuda-12090",
18945            feature = "cuda-13000"
18946        ))]
18947        pub cuModuleEnumerateFunctions: unsafe extern "C" fn(
18948            functions: *mut CUfunction,
18949            numFunctions: ::core::ffi::c_uint,
18950            mod_: CUmodule,
18951        ) -> CUresult,
18952        pub cuModuleGetFunction: unsafe extern "C" fn(
18953            hfunc: *mut CUfunction,
18954            hmod: CUmodule,
18955            name: *const ::core::ffi::c_char,
18956        ) -> CUresult,
18957        #[cfg(any(
18958            feature = "cuda-12040",
18959            feature = "cuda-12050",
18960            feature = "cuda-12060",
18961            feature = "cuda-12080",
18962            feature = "cuda-12090",
18963            feature = "cuda-13000"
18964        ))]
18965        pub cuModuleGetFunctionCount:
18966            unsafe extern "C" fn(count: *mut ::core::ffi::c_uint, mod_: CUmodule) -> CUresult,
18967        pub cuModuleGetGlobal_v2: unsafe extern "C" fn(
18968            dptr: *mut CUdeviceptr,
18969            bytes: *mut usize,
18970            hmod: CUmodule,
18971            name: *const ::core::ffi::c_char,
18972        ) -> CUresult,
18973        #[cfg(any(
18974            feature = "cuda-11070",
18975            feature = "cuda-11080",
18976            feature = "cuda-12000",
18977            feature = "cuda-12010",
18978            feature = "cuda-12020",
18979            feature = "cuda-12030",
18980            feature = "cuda-12040",
18981            feature = "cuda-12050",
18982            feature = "cuda-12060",
18983            feature = "cuda-12080",
18984            feature = "cuda-12090",
18985            feature = "cuda-13000"
18986        ))]
18987        pub cuModuleGetLoadingMode:
18988            unsafe extern "C" fn(mode: *mut CUmoduleLoadingMode) -> CUresult,
18989        pub cuModuleGetSurfRef: unsafe extern "C" fn(
18990            pSurfRef: *mut CUsurfref,
18991            hmod: CUmodule,
18992            name: *const ::core::ffi::c_char,
18993        ) -> CUresult,
18994        pub cuModuleGetTexRef: unsafe extern "C" fn(
18995            pTexRef: *mut CUtexref,
18996            hmod: CUmodule,
18997            name: *const ::core::ffi::c_char,
18998        ) -> CUresult,
18999        pub cuModuleLoad: unsafe extern "C" fn(
19000            module: *mut CUmodule,
19001            fname: *const ::core::ffi::c_char,
19002        ) -> CUresult,
19003        pub cuModuleLoadData: unsafe extern "C" fn(
19004            module: *mut CUmodule,
19005            image: *const ::core::ffi::c_void,
19006        ) -> CUresult,
19007        pub cuModuleLoadDataEx: unsafe extern "C" fn(
19008            module: *mut CUmodule,
19009            image: *const ::core::ffi::c_void,
19010            numOptions: ::core::ffi::c_uint,
19011            options: *mut CUjit_option,
19012            optionValues: *mut *mut ::core::ffi::c_void,
19013        ) -> CUresult,
19014        pub cuModuleLoadFatBinary: unsafe extern "C" fn(
19015            module: *mut CUmodule,
19016            fatCubin: *const ::core::ffi::c_void,
19017        ) -> CUresult,
19018        pub cuModuleUnload: unsafe extern "C" fn(hmod: CUmodule) -> CUresult,
19019        #[cfg(any(
19020            feature = "cuda-12010",
19021            feature = "cuda-12020",
19022            feature = "cuda-12030",
19023            feature = "cuda-12040",
19024            feature = "cuda-12050",
19025            feature = "cuda-12060",
19026            feature = "cuda-12080",
19027            feature = "cuda-12090",
19028            feature = "cuda-13000"
19029        ))]
19030        pub cuMulticastAddDevice:
19031            unsafe extern "C" fn(mcHandle: CUmemGenericAllocationHandle, dev: CUdevice) -> CUresult,
19032        #[cfg(any(
19033            feature = "cuda-12010",
19034            feature = "cuda-12020",
19035            feature = "cuda-12030",
19036            feature = "cuda-12040",
19037            feature = "cuda-12050",
19038            feature = "cuda-12060",
19039            feature = "cuda-12080",
19040            feature = "cuda-12090",
19041            feature = "cuda-13000"
19042        ))]
19043        pub cuMulticastBindAddr: unsafe extern "C" fn(
19044            mcHandle: CUmemGenericAllocationHandle,
19045            mcOffset: usize,
19046            memptr: CUdeviceptr,
19047            size: usize,
19048            flags: ::core::ffi::c_ulonglong,
19049        ) -> CUresult,
19050        #[cfg(any(
19051            feature = "cuda-12010",
19052            feature = "cuda-12020",
19053            feature = "cuda-12030",
19054            feature = "cuda-12040",
19055            feature = "cuda-12050",
19056            feature = "cuda-12060",
19057            feature = "cuda-12080",
19058            feature = "cuda-12090",
19059            feature = "cuda-13000"
19060        ))]
19061        pub cuMulticastBindMem: unsafe extern "C" fn(
19062            mcHandle: CUmemGenericAllocationHandle,
19063            mcOffset: usize,
19064            memHandle: CUmemGenericAllocationHandle,
19065            memOffset: usize,
19066            size: usize,
19067            flags: ::core::ffi::c_ulonglong,
19068        ) -> CUresult,
19069        #[cfg(any(
19070            feature = "cuda-12010",
19071            feature = "cuda-12020",
19072            feature = "cuda-12030",
19073            feature = "cuda-12040",
19074            feature = "cuda-12050",
19075            feature = "cuda-12060",
19076            feature = "cuda-12080",
19077            feature = "cuda-12090",
19078            feature = "cuda-13000"
19079        ))]
19080        pub cuMulticastCreate: unsafe extern "C" fn(
19081            mcHandle: *mut CUmemGenericAllocationHandle,
19082            prop: *const CUmulticastObjectProp,
19083        ) -> CUresult,
19084        #[cfg(any(
19085            feature = "cuda-12010",
19086            feature = "cuda-12020",
19087            feature = "cuda-12030",
19088            feature = "cuda-12040",
19089            feature = "cuda-12050",
19090            feature = "cuda-12060",
19091            feature = "cuda-12080",
19092            feature = "cuda-12090",
19093            feature = "cuda-13000"
19094        ))]
19095        pub cuMulticastGetGranularity: unsafe extern "C" fn(
19096            granularity: *mut usize,
19097            prop: *const CUmulticastObjectProp,
19098            option: CUmulticastGranularity_flags,
19099        ) -> CUresult,
19100        #[cfg(any(
19101            feature = "cuda-12010",
19102            feature = "cuda-12020",
19103            feature = "cuda-12030",
19104            feature = "cuda-12040",
19105            feature = "cuda-12050",
19106            feature = "cuda-12060",
19107            feature = "cuda-12080",
19108            feature = "cuda-12090",
19109            feature = "cuda-13000"
19110        ))]
19111        pub cuMulticastUnbind: unsafe extern "C" fn(
19112            mcHandle: CUmemGenericAllocationHandle,
19113            dev: CUdevice,
19114            mcOffset: usize,
19115            size: usize,
19116        ) -> CUresult,
19117        pub cuOccupancyAvailableDynamicSMemPerBlock: unsafe extern "C" fn(
19118            dynamicSmemSize: *mut usize,
19119            func: CUfunction,
19120            numBlocks: ::core::ffi::c_int,
19121            blockSize: ::core::ffi::c_int,
19122        ) -> CUresult,
19123        pub cuOccupancyMaxActiveBlocksPerMultiprocessor: unsafe extern "C" fn(
19124            numBlocks: *mut ::core::ffi::c_int,
19125            func: CUfunction,
19126            blockSize: ::core::ffi::c_int,
19127            dynamicSMemSize: usize,
19128        ) -> CUresult,
19129        pub cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags: unsafe extern "C" fn(
19130            numBlocks: *mut ::core::ffi::c_int,
19131            func: CUfunction,
19132            blockSize: ::core::ffi::c_int,
19133            dynamicSMemSize: usize,
19134            flags: ::core::ffi::c_uint,
19135        )
19136            -> CUresult,
19137        #[cfg(any(
19138            feature = "cuda-11080",
19139            feature = "cuda-12000",
19140            feature = "cuda-12010",
19141            feature = "cuda-12020",
19142            feature = "cuda-12030",
19143            feature = "cuda-12040",
19144            feature = "cuda-12050",
19145            feature = "cuda-12060",
19146            feature = "cuda-12080",
19147            feature = "cuda-12090",
19148            feature = "cuda-13000"
19149        ))]
19150        pub cuOccupancyMaxActiveClusters: unsafe extern "C" fn(
19151            numClusters: *mut ::core::ffi::c_int,
19152            func: CUfunction,
19153            config: *const CUlaunchConfig,
19154        ) -> CUresult,
19155        pub cuOccupancyMaxPotentialBlockSize: unsafe extern "C" fn(
19156            minGridSize: *mut ::core::ffi::c_int,
19157            blockSize: *mut ::core::ffi::c_int,
19158            func: CUfunction,
19159            blockSizeToDynamicSMemSize: CUoccupancyB2DSize,
19160            dynamicSMemSize: usize,
19161            blockSizeLimit: ::core::ffi::c_int,
19162        ) -> CUresult,
19163        pub cuOccupancyMaxPotentialBlockSizeWithFlags: unsafe extern "C" fn(
19164            minGridSize: *mut ::core::ffi::c_int,
19165            blockSize: *mut ::core::ffi::c_int,
19166            func: CUfunction,
19167            blockSizeToDynamicSMemSize: CUoccupancyB2DSize,
19168            dynamicSMemSize: usize,
19169            blockSizeLimit: ::core::ffi::c_int,
19170            flags: ::core::ffi::c_uint,
19171        ) -> CUresult,
19172        #[cfg(any(
19173            feature = "cuda-11080",
19174            feature = "cuda-12000",
19175            feature = "cuda-12010",
19176            feature = "cuda-12020",
19177            feature = "cuda-12030",
19178            feature = "cuda-12040",
19179            feature = "cuda-12050",
19180            feature = "cuda-12060",
19181            feature = "cuda-12080",
19182            feature = "cuda-12090",
19183            feature = "cuda-13000"
19184        ))]
19185        pub cuOccupancyMaxPotentialClusterSize: unsafe extern "C" fn(
19186            clusterSize: *mut ::core::ffi::c_int,
19187            func: CUfunction,
19188            config: *const CUlaunchConfig,
19189        ) -> CUresult,
19190        pub cuParamSetSize:
19191            unsafe extern "C" fn(hfunc: CUfunction, numbytes: ::core::ffi::c_uint) -> CUresult,
19192        pub cuParamSetTexRef: unsafe extern "C" fn(
19193            hfunc: CUfunction,
19194            texunit: ::core::ffi::c_int,
19195            hTexRef: CUtexref,
19196        ) -> CUresult,
19197        pub cuParamSetf: unsafe extern "C" fn(
19198            hfunc: CUfunction,
19199            offset: ::core::ffi::c_int,
19200            value: f32,
19201        ) -> CUresult,
19202        pub cuParamSeti: unsafe extern "C" fn(
19203            hfunc: CUfunction,
19204            offset: ::core::ffi::c_int,
19205            value: ::core::ffi::c_uint,
19206        ) -> CUresult,
19207        pub cuParamSetv: unsafe extern "C" fn(
19208            hfunc: CUfunction,
19209            offset: ::core::ffi::c_int,
19210            ptr: *mut ::core::ffi::c_void,
19211            numbytes: ::core::ffi::c_uint,
19212        ) -> CUresult,
19213        pub cuPointerGetAttribute: unsafe extern "C" fn(
19214            data: *mut ::core::ffi::c_void,
19215            attribute: CUpointer_attribute,
19216            ptr: CUdeviceptr,
19217        ) -> CUresult,
19218        pub cuPointerGetAttributes: unsafe extern "C" fn(
19219            numAttributes: ::core::ffi::c_uint,
19220            attributes: *mut CUpointer_attribute,
19221            data: *mut *mut ::core::ffi::c_void,
19222            ptr: CUdeviceptr,
19223        ) -> CUresult,
19224        pub cuPointerSetAttribute: unsafe extern "C" fn(
19225            value: *const ::core::ffi::c_void,
19226            attribute: CUpointer_attribute,
19227            ptr: CUdeviceptr,
19228        ) -> CUresult,
19229        pub cuProfilerInitialize: unsafe extern "C" fn(
19230            configFile: *const ::core::ffi::c_char,
19231            outputFile: *const ::core::ffi::c_char,
19232            outputMode: CUoutput_mode,
19233        ) -> CUresult,
19234        pub cuProfilerStart: unsafe extern "C" fn() -> CUresult,
19235        pub cuProfilerStop: unsafe extern "C" fn() -> CUresult,
19236        pub cuSignalExternalSemaphoresAsync: unsafe extern "C" fn(
19237            extSemArray: *const CUexternalSemaphore,
19238            paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,
19239            numExtSems: ::core::ffi::c_uint,
19240            stream: CUstream,
19241        ) -> CUresult,
19242        pub cuStreamAddCallback: unsafe extern "C" fn(
19243            hStream: CUstream,
19244            callback: CUstreamCallback,
19245            userData: *mut ::core::ffi::c_void,
19246            flags: ::core::ffi::c_uint,
19247        ) -> CUresult,
19248        pub cuStreamAttachMemAsync: unsafe extern "C" fn(
19249            hStream: CUstream,
19250            dptr: CUdeviceptr,
19251            length: usize,
19252            flags: ::core::ffi::c_uint,
19253        ) -> CUresult,
19254        #[cfg(any(
19255            feature = "cuda-11040",
19256            feature = "cuda-11050",
19257            feature = "cuda-11060",
19258            feature = "cuda-11070",
19259            feature = "cuda-11080"
19260        ))]
19261        pub cuStreamBatchMemOp: unsafe extern "C" fn(
19262            stream: CUstream,
19263            count: ::core::ffi::c_uint,
19264            paramArray: *mut CUstreamBatchMemOpParams,
19265            flags: ::core::ffi::c_uint,
19266        ) -> CUresult,
19267        #[cfg(any(
19268            feature = "cuda-11070",
19269            feature = "cuda-11080",
19270            feature = "cuda-12000",
19271            feature = "cuda-12010",
19272            feature = "cuda-12020",
19273            feature = "cuda-12030",
19274            feature = "cuda-12040",
19275            feature = "cuda-12050",
19276            feature = "cuda-12060",
19277            feature = "cuda-12080",
19278            feature = "cuda-12090",
19279            feature = "cuda-13000"
19280        ))]
19281        pub cuStreamBatchMemOp_v2: unsafe extern "C" fn(
19282            stream: CUstream,
19283            count: ::core::ffi::c_uint,
19284            paramArray: *mut CUstreamBatchMemOpParams,
19285            flags: ::core::ffi::c_uint,
19286        ) -> CUresult,
19287        #[cfg(any(
19288            feature = "cuda-12030",
19289            feature = "cuda-12040",
19290            feature = "cuda-12050",
19291            feature = "cuda-12060",
19292            feature = "cuda-12080",
19293            feature = "cuda-12090",
19294            feature = "cuda-13000"
19295        ))]
19296        pub cuStreamBeginCaptureToGraph: unsafe extern "C" fn(
19297            hStream: CUstream,
19298            hGraph: CUgraph,
19299            dependencies: *const CUgraphNode,
19300            dependencyData: *const CUgraphEdgeData,
19301            numDependencies: usize,
19302            mode: CUstreamCaptureMode,
19303        ) -> CUresult,
19304        pub cuStreamBeginCapture_v2:
19305            unsafe extern "C" fn(hStream: CUstream, mode: CUstreamCaptureMode) -> CUresult,
19306        pub cuStreamCopyAttributes: unsafe extern "C" fn(dst: CUstream, src: CUstream) -> CUresult,
19307        pub cuStreamCreate:
19308            unsafe extern "C" fn(phStream: *mut CUstream, Flags: ::core::ffi::c_uint) -> CUresult,
19309        pub cuStreamCreateWithPriority: unsafe extern "C" fn(
19310            phStream: *mut CUstream,
19311            flags: ::core::ffi::c_uint,
19312            priority: ::core::ffi::c_int,
19313        ) -> CUresult,
19314        pub cuStreamDestroy_v2: unsafe extern "C" fn(hStream: CUstream) -> CUresult,
19315        pub cuStreamEndCapture:
19316            unsafe extern "C" fn(hStream: CUstream, phGraph: *mut CUgraph) -> CUresult,
19317        pub cuStreamGetAttribute: unsafe extern "C" fn(
19318            hStream: CUstream,
19319            attr: CUstreamAttrID,
19320            value_out: *mut CUstreamAttrValue,
19321        ) -> CUresult,
19322        #[cfg(any(
19323            feature = "cuda-11040",
19324            feature = "cuda-11050",
19325            feature = "cuda-11060",
19326            feature = "cuda-11070",
19327            feature = "cuda-11080"
19328        ))]
19329        pub cuStreamGetCaptureInfo: unsafe extern "C" fn(
19330            hStream: CUstream,
19331            captureStatus_out: *mut CUstreamCaptureStatus,
19332            id_out: *mut cuuint64_t,
19333        ) -> CUresult,
19334        #[cfg(any(
19335            feature = "cuda-11040",
19336            feature = "cuda-11050",
19337            feature = "cuda-11060",
19338            feature = "cuda-11070",
19339            feature = "cuda-11080",
19340            feature = "cuda-12000",
19341            feature = "cuda-12010",
19342            feature = "cuda-12020",
19343            feature = "cuda-12030",
19344            feature = "cuda-12040",
19345            feature = "cuda-12050",
19346            feature = "cuda-12060",
19347            feature = "cuda-12080",
19348            feature = "cuda-12090"
19349        ))]
19350        pub cuStreamGetCaptureInfo_v2: unsafe extern "C" fn(
19351            hStream: CUstream,
19352            captureStatus_out: *mut CUstreamCaptureStatus,
19353            id_out: *mut cuuint64_t,
19354            graph_out: *mut CUgraph,
19355            dependencies_out: *mut *const CUgraphNode,
19356            numDependencies_out: *mut usize,
19357        ) -> CUresult,
19358        #[cfg(any(
19359            feature = "cuda-12030",
19360            feature = "cuda-12040",
19361            feature = "cuda-12050",
19362            feature = "cuda-12060",
19363            feature = "cuda-12080",
19364            feature = "cuda-12090",
19365            feature = "cuda-13000"
19366        ))]
19367        pub cuStreamGetCaptureInfo_v3: unsafe extern "C" fn(
19368            hStream: CUstream,
19369            captureStatus_out: *mut CUstreamCaptureStatus,
19370            id_out: *mut cuuint64_t,
19371            graph_out: *mut CUgraph,
19372            dependencies_out: *mut *const CUgraphNode,
19373            edgeData_out: *mut *const CUgraphEdgeData,
19374            numDependencies_out: *mut usize,
19375        ) -> CUresult,
19376        pub cuStreamGetCtx:
19377            unsafe extern "C" fn(hStream: CUstream, pctx: *mut CUcontext) -> CUresult,
19378        #[cfg(any(
19379            feature = "cuda-12050",
19380            feature = "cuda-12060",
19381            feature = "cuda-12080",
19382            feature = "cuda-12090",
19383            feature = "cuda-13000"
19384        ))]
19385        pub cuStreamGetCtx_v2: unsafe extern "C" fn(
19386            hStream: CUstream,
19387            pCtx: *mut CUcontext,
19388            pGreenCtx: *mut CUgreenCtx,
19389        ) -> CUresult,
19390        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
19391        pub cuStreamGetDevice:
19392            unsafe extern "C" fn(hStream: CUstream, device: *mut CUdevice) -> CUresult,
19393        pub cuStreamGetFlags:
19394            unsafe extern "C" fn(hStream: CUstream, flags: *mut ::core::ffi::c_uint) -> CUresult,
19395        #[cfg(any(
19396            feature = "cuda-12040",
19397            feature = "cuda-12050",
19398            feature = "cuda-12060",
19399            feature = "cuda-12080",
19400            feature = "cuda-12090",
19401            feature = "cuda-13000"
19402        ))]
19403        pub cuStreamGetGreenCtx:
19404            unsafe extern "C" fn(hStream: CUstream, phCtx: *mut CUgreenCtx) -> CUresult,
19405        #[cfg(any(
19406            feature = "cuda-12000",
19407            feature = "cuda-12010",
19408            feature = "cuda-12020",
19409            feature = "cuda-12030",
19410            feature = "cuda-12040",
19411            feature = "cuda-12050",
19412            feature = "cuda-12060",
19413            feature = "cuda-12080",
19414            feature = "cuda-12090",
19415            feature = "cuda-13000"
19416        ))]
19417        pub cuStreamGetId: unsafe extern "C" fn(
19418            hStream: CUstream,
19419            streamId: *mut ::core::ffi::c_ulonglong,
19420        ) -> CUresult,
19421        pub cuStreamGetPriority:
19422            unsafe extern "C" fn(hStream: CUstream, priority: *mut ::core::ffi::c_int) -> CUresult,
19423        pub cuStreamIsCapturing: unsafe extern "C" fn(
19424            hStream: CUstream,
19425            captureStatus: *mut CUstreamCaptureStatus,
19426        ) -> CUresult,
19427        pub cuStreamQuery: unsafe extern "C" fn(hStream: CUstream) -> CUresult,
19428        pub cuStreamSetAttribute: unsafe extern "C" fn(
19429            hStream: CUstream,
19430            attr: CUstreamAttrID,
19431            value: *const CUstreamAttrValue,
19432        ) -> CUresult,
19433        pub cuStreamSynchronize: unsafe extern "C" fn(hStream: CUstream) -> CUresult,
19434        #[cfg(any(
19435            feature = "cuda-11040",
19436            feature = "cuda-11050",
19437            feature = "cuda-11060",
19438            feature = "cuda-11070",
19439            feature = "cuda-11080",
19440            feature = "cuda-12000",
19441            feature = "cuda-12010",
19442            feature = "cuda-12020",
19443            feature = "cuda-12030",
19444            feature = "cuda-12040",
19445            feature = "cuda-12050",
19446            feature = "cuda-12060",
19447            feature = "cuda-12080",
19448            feature = "cuda-12090"
19449        ))]
19450        pub cuStreamUpdateCaptureDependencies: unsafe extern "C" fn(
19451            hStream: CUstream,
19452            dependencies: *mut CUgraphNode,
19453            numDependencies: usize,
19454            flags: ::core::ffi::c_uint,
19455        ) -> CUresult,
19456        #[cfg(any(
19457            feature = "cuda-12030",
19458            feature = "cuda-12040",
19459            feature = "cuda-12050",
19460            feature = "cuda-12060",
19461            feature = "cuda-12080",
19462            feature = "cuda-12090",
19463            feature = "cuda-13000"
19464        ))]
19465        pub cuStreamUpdateCaptureDependencies_v2: unsafe extern "C" fn(
19466            hStream: CUstream,
19467            dependencies: *mut CUgraphNode,
19468            dependencyData: *const CUgraphEdgeData,
19469            numDependencies: usize,
19470            flags: ::core::ffi::c_uint,
19471        ) -> CUresult,
19472        pub cuStreamWaitEvent: unsafe extern "C" fn(
19473            hStream: CUstream,
19474            hEvent: CUevent,
19475            Flags: ::core::ffi::c_uint,
19476        ) -> CUresult,
19477        #[cfg(any(
19478            feature = "cuda-11040",
19479            feature = "cuda-11050",
19480            feature = "cuda-11060",
19481            feature = "cuda-11070",
19482            feature = "cuda-11080"
19483        ))]
19484        pub cuStreamWaitValue32: unsafe extern "C" fn(
19485            stream: CUstream,
19486            addr: CUdeviceptr,
19487            value: cuuint32_t,
19488            flags: ::core::ffi::c_uint,
19489        ) -> CUresult,
19490        #[cfg(any(
19491            feature = "cuda-11070",
19492            feature = "cuda-11080",
19493            feature = "cuda-12000",
19494            feature = "cuda-12010",
19495            feature = "cuda-12020",
19496            feature = "cuda-12030",
19497            feature = "cuda-12040",
19498            feature = "cuda-12050",
19499            feature = "cuda-12060",
19500            feature = "cuda-12080",
19501            feature = "cuda-12090",
19502            feature = "cuda-13000"
19503        ))]
19504        pub cuStreamWaitValue32_v2: unsafe extern "C" fn(
19505            stream: CUstream,
19506            addr: CUdeviceptr,
19507            value: cuuint32_t,
19508            flags: ::core::ffi::c_uint,
19509        ) -> CUresult,
19510        #[cfg(any(
19511            feature = "cuda-11040",
19512            feature = "cuda-11050",
19513            feature = "cuda-11060",
19514            feature = "cuda-11070",
19515            feature = "cuda-11080"
19516        ))]
19517        pub cuStreamWaitValue64: unsafe extern "C" fn(
19518            stream: CUstream,
19519            addr: CUdeviceptr,
19520            value: cuuint64_t,
19521            flags: ::core::ffi::c_uint,
19522        ) -> CUresult,
19523        #[cfg(any(
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            feature = "cuda-13000"
19536        ))]
19537        pub cuStreamWaitValue64_v2: unsafe extern "C" fn(
19538            stream: CUstream,
19539            addr: CUdeviceptr,
19540            value: cuuint64_t,
19541            flags: ::core::ffi::c_uint,
19542        ) -> CUresult,
19543        #[cfg(any(
19544            feature = "cuda-11040",
19545            feature = "cuda-11050",
19546            feature = "cuda-11060",
19547            feature = "cuda-11070",
19548            feature = "cuda-11080"
19549        ))]
19550        pub cuStreamWriteValue32: unsafe extern "C" fn(
19551            stream: CUstream,
19552            addr: CUdeviceptr,
19553            value: cuuint32_t,
19554            flags: ::core::ffi::c_uint,
19555        ) -> CUresult,
19556        #[cfg(any(
19557            feature = "cuda-11070",
19558            feature = "cuda-11080",
19559            feature = "cuda-12000",
19560            feature = "cuda-12010",
19561            feature = "cuda-12020",
19562            feature = "cuda-12030",
19563            feature = "cuda-12040",
19564            feature = "cuda-12050",
19565            feature = "cuda-12060",
19566            feature = "cuda-12080",
19567            feature = "cuda-12090",
19568            feature = "cuda-13000"
19569        ))]
19570        pub cuStreamWriteValue32_v2: unsafe extern "C" fn(
19571            stream: CUstream,
19572            addr: CUdeviceptr,
19573            value: cuuint32_t,
19574            flags: ::core::ffi::c_uint,
19575        ) -> CUresult,
19576        #[cfg(any(
19577            feature = "cuda-11040",
19578            feature = "cuda-11050",
19579            feature = "cuda-11060",
19580            feature = "cuda-11070",
19581            feature = "cuda-11080"
19582        ))]
19583        pub cuStreamWriteValue64: unsafe extern "C" fn(
19584            stream: CUstream,
19585            addr: CUdeviceptr,
19586            value: cuuint64_t,
19587            flags: ::core::ffi::c_uint,
19588        ) -> CUresult,
19589        #[cfg(any(
19590            feature = "cuda-11070",
19591            feature = "cuda-11080",
19592            feature = "cuda-12000",
19593            feature = "cuda-12010",
19594            feature = "cuda-12020",
19595            feature = "cuda-12030",
19596            feature = "cuda-12040",
19597            feature = "cuda-12050",
19598            feature = "cuda-12060",
19599            feature = "cuda-12080",
19600            feature = "cuda-12090",
19601            feature = "cuda-13000"
19602        ))]
19603        pub cuStreamWriteValue64_v2: unsafe extern "C" fn(
19604            stream: CUstream,
19605            addr: CUdeviceptr,
19606            value: cuuint64_t,
19607            flags: ::core::ffi::c_uint,
19608        ) -> CUresult,
19609        pub cuSurfObjectCreate: unsafe extern "C" fn(
19610            pSurfObject: *mut CUsurfObject,
19611            pResDesc: *const CUDA_RESOURCE_DESC,
19612        ) -> CUresult,
19613        pub cuSurfObjectDestroy: unsafe extern "C" fn(surfObject: CUsurfObject) -> CUresult,
19614        pub cuSurfObjectGetResourceDesc: unsafe extern "C" fn(
19615            pResDesc: *mut CUDA_RESOURCE_DESC,
19616            surfObject: CUsurfObject,
19617        ) -> CUresult,
19618        pub cuSurfRefGetArray:
19619            unsafe extern "C" fn(phArray: *mut CUarray, hSurfRef: CUsurfref) -> CUresult,
19620        pub cuSurfRefSetArray: unsafe extern "C" fn(
19621            hSurfRef: CUsurfref,
19622            hArray: CUarray,
19623            Flags: ::core::ffi::c_uint,
19624        ) -> CUresult,
19625        #[cfg(any(
19626            feature = "cuda-12000",
19627            feature = "cuda-12010",
19628            feature = "cuda-12020",
19629            feature = "cuda-12030",
19630            feature = "cuda-12040",
19631            feature = "cuda-12050",
19632            feature = "cuda-12060",
19633            feature = "cuda-12080",
19634            feature = "cuda-12090",
19635            feature = "cuda-13000"
19636        ))]
19637        pub cuTensorMapEncodeIm2col: unsafe extern "C" fn(
19638            tensorMap: *mut CUtensorMap,
19639            tensorDataType: CUtensorMapDataType,
19640            tensorRank: cuuint32_t,
19641            globalAddress: *mut ::core::ffi::c_void,
19642            globalDim: *const cuuint64_t,
19643            globalStrides: *const cuuint64_t,
19644            pixelBoxLowerCorner: *const ::core::ffi::c_int,
19645            pixelBoxUpperCorner: *const ::core::ffi::c_int,
19646            channelsPerPixel: cuuint32_t,
19647            pixelsPerColumn: cuuint32_t,
19648            elementStrides: *const cuuint32_t,
19649            interleave: CUtensorMapInterleave,
19650            swizzle: CUtensorMapSwizzle,
19651            l2Promotion: CUtensorMapL2promotion,
19652            oobFill: CUtensorMapFloatOOBfill,
19653        ) -> CUresult,
19654        #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
19655        pub cuTensorMapEncodeIm2colWide: unsafe extern "C" fn(
19656            tensorMap: *mut CUtensorMap,
19657            tensorDataType: CUtensorMapDataType,
19658            tensorRank: cuuint32_t,
19659            globalAddress: *mut ::core::ffi::c_void,
19660            globalDim: *const cuuint64_t,
19661            globalStrides: *const cuuint64_t,
19662            pixelBoxLowerCornerWidth: ::core::ffi::c_int,
19663            pixelBoxUpperCornerWidth: ::core::ffi::c_int,
19664            channelsPerPixel: cuuint32_t,
19665            pixelsPerColumn: cuuint32_t,
19666            elementStrides: *const cuuint32_t,
19667            interleave: CUtensorMapInterleave,
19668            mode: CUtensorMapIm2ColWideMode,
19669            swizzle: CUtensorMapSwizzle,
19670            l2Promotion: CUtensorMapL2promotion,
19671            oobFill: CUtensorMapFloatOOBfill,
19672        ) -> CUresult,
19673        #[cfg(any(
19674            feature = "cuda-12000",
19675            feature = "cuda-12010",
19676            feature = "cuda-12020",
19677            feature = "cuda-12030",
19678            feature = "cuda-12040",
19679            feature = "cuda-12050",
19680            feature = "cuda-12060",
19681            feature = "cuda-12080",
19682            feature = "cuda-12090",
19683            feature = "cuda-13000"
19684        ))]
19685        pub cuTensorMapEncodeTiled: unsafe extern "C" fn(
19686            tensorMap: *mut CUtensorMap,
19687            tensorDataType: CUtensorMapDataType,
19688            tensorRank: cuuint32_t,
19689            globalAddress: *mut ::core::ffi::c_void,
19690            globalDim: *const cuuint64_t,
19691            globalStrides: *const cuuint64_t,
19692            boxDim: *const cuuint32_t,
19693            elementStrides: *const cuuint32_t,
19694            interleave: CUtensorMapInterleave,
19695            swizzle: CUtensorMapSwizzle,
19696            l2Promotion: CUtensorMapL2promotion,
19697            oobFill: CUtensorMapFloatOOBfill,
19698        ) -> CUresult,
19699        #[cfg(any(
19700            feature = "cuda-12000",
19701            feature = "cuda-12010",
19702            feature = "cuda-12020",
19703            feature = "cuda-12030",
19704            feature = "cuda-12040",
19705            feature = "cuda-12050",
19706            feature = "cuda-12060",
19707            feature = "cuda-12080",
19708            feature = "cuda-12090",
19709            feature = "cuda-13000"
19710        ))]
19711        pub cuTensorMapReplaceAddress: unsafe extern "C" fn(
19712            tensorMap: *mut CUtensorMap,
19713            globalAddress: *mut ::core::ffi::c_void,
19714        ) -> CUresult,
19715        pub cuTexObjectCreate: unsafe extern "C" fn(
19716            pTexObject: *mut CUtexObject,
19717            pResDesc: *const CUDA_RESOURCE_DESC,
19718            pTexDesc: *const CUDA_TEXTURE_DESC,
19719            pResViewDesc: *const CUDA_RESOURCE_VIEW_DESC,
19720        ) -> CUresult,
19721        pub cuTexObjectDestroy: unsafe extern "C" fn(texObject: CUtexObject) -> CUresult,
19722        pub cuTexObjectGetResourceDesc: unsafe extern "C" fn(
19723            pResDesc: *mut CUDA_RESOURCE_DESC,
19724            texObject: CUtexObject,
19725        ) -> CUresult,
19726        pub cuTexObjectGetResourceViewDesc: unsafe extern "C" fn(
19727            pResViewDesc: *mut CUDA_RESOURCE_VIEW_DESC,
19728            texObject: CUtexObject,
19729        ) -> CUresult,
19730        pub cuTexObjectGetTextureDesc: unsafe extern "C" fn(
19731            pTexDesc: *mut CUDA_TEXTURE_DESC,
19732            texObject: CUtexObject,
19733        ) -> CUresult,
19734        pub cuTexRefCreate: unsafe extern "C" fn(pTexRef: *mut CUtexref) -> CUresult,
19735        pub cuTexRefDestroy: unsafe extern "C" fn(hTexRef: CUtexref) -> CUresult,
19736        pub cuTexRefGetAddressMode: unsafe extern "C" fn(
19737            pam: *mut CUaddress_mode,
19738            hTexRef: CUtexref,
19739            dim: ::core::ffi::c_int,
19740        ) -> CUresult,
19741        pub cuTexRefGetAddress_v2:
19742            unsafe extern "C" fn(pdptr: *mut CUdeviceptr, hTexRef: CUtexref) -> CUresult,
19743        pub cuTexRefGetArray:
19744            unsafe extern "C" fn(phArray: *mut CUarray, hTexRef: CUtexref) -> CUresult,
19745        pub cuTexRefGetBorderColor:
19746            unsafe extern "C" fn(pBorderColor: *mut f32, hTexRef: CUtexref) -> CUresult,
19747        pub cuTexRefGetFilterMode:
19748            unsafe extern "C" fn(pfm: *mut CUfilter_mode, hTexRef: CUtexref) -> CUresult,
19749        pub cuTexRefGetFlags:
19750            unsafe extern "C" fn(pFlags: *mut ::core::ffi::c_uint, hTexRef: CUtexref) -> CUresult,
19751        pub cuTexRefGetFormat: unsafe extern "C" fn(
19752            pFormat: *mut CUarray_format,
19753            pNumChannels: *mut ::core::ffi::c_int,
19754            hTexRef: CUtexref,
19755        ) -> CUresult,
19756        pub cuTexRefGetMaxAnisotropy:
19757            unsafe extern "C" fn(pmaxAniso: *mut ::core::ffi::c_int, hTexRef: CUtexref) -> CUresult,
19758        pub cuTexRefGetMipmapFilterMode:
19759            unsafe extern "C" fn(pfm: *mut CUfilter_mode, hTexRef: CUtexref) -> CUresult,
19760        pub cuTexRefGetMipmapLevelBias:
19761            unsafe extern "C" fn(pbias: *mut f32, hTexRef: CUtexref) -> CUresult,
19762        pub cuTexRefGetMipmapLevelClamp: unsafe extern "C" fn(
19763            pminMipmapLevelClamp: *mut f32,
19764            pmaxMipmapLevelClamp: *mut f32,
19765            hTexRef: CUtexref,
19766        ) -> CUresult,
19767        pub cuTexRefGetMipmappedArray: unsafe extern "C" fn(
19768            phMipmappedArray: *mut CUmipmappedArray,
19769            hTexRef: CUtexref,
19770        ) -> CUresult,
19771        pub cuTexRefSetAddress2D_v3: unsafe extern "C" fn(
19772            hTexRef: CUtexref,
19773            desc: *const CUDA_ARRAY_DESCRIPTOR,
19774            dptr: CUdeviceptr,
19775            Pitch: usize,
19776        ) -> CUresult,
19777        pub cuTexRefSetAddressMode: unsafe extern "C" fn(
19778            hTexRef: CUtexref,
19779            dim: ::core::ffi::c_int,
19780            am: CUaddress_mode,
19781        ) -> CUresult,
19782        pub cuTexRefSetAddress_v2: unsafe extern "C" fn(
19783            ByteOffset: *mut usize,
19784            hTexRef: CUtexref,
19785            dptr: CUdeviceptr,
19786            bytes: usize,
19787        ) -> CUresult,
19788        pub cuTexRefSetArray: unsafe extern "C" fn(
19789            hTexRef: CUtexref,
19790            hArray: CUarray,
19791            Flags: ::core::ffi::c_uint,
19792        ) -> CUresult,
19793        pub cuTexRefSetBorderColor:
19794            unsafe extern "C" fn(hTexRef: CUtexref, pBorderColor: *mut f32) -> CUresult,
19795        pub cuTexRefSetFilterMode:
19796            unsafe extern "C" fn(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult,
19797        pub cuTexRefSetFlags:
19798            unsafe extern "C" fn(hTexRef: CUtexref, Flags: ::core::ffi::c_uint) -> CUresult,
19799        pub cuTexRefSetFormat: unsafe extern "C" fn(
19800            hTexRef: CUtexref,
19801            fmt: CUarray_format,
19802            NumPackedComponents: ::core::ffi::c_int,
19803        ) -> CUresult,
19804        pub cuTexRefSetMaxAnisotropy:
19805            unsafe extern "C" fn(hTexRef: CUtexref, maxAniso: ::core::ffi::c_uint) -> CUresult,
19806        pub cuTexRefSetMipmapFilterMode:
19807            unsafe extern "C" fn(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult,
19808        pub cuTexRefSetMipmapLevelBias:
19809            unsafe extern "C" fn(hTexRef: CUtexref, bias: f32) -> CUresult,
19810        pub cuTexRefSetMipmapLevelClamp: unsafe extern "C" fn(
19811            hTexRef: CUtexref,
19812            minMipmapLevelClamp: f32,
19813            maxMipmapLevelClamp: f32,
19814        ) -> CUresult,
19815        pub cuTexRefSetMipmappedArray: unsafe extern "C" fn(
19816            hTexRef: CUtexref,
19817            hMipmappedArray: CUmipmappedArray,
19818            Flags: ::core::ffi::c_uint,
19819        ) -> CUresult,
19820        pub cuThreadExchangeStreamCaptureMode:
19821            unsafe extern "C" fn(mode: *mut CUstreamCaptureMode) -> CUresult,
19822        pub cuUserObjectCreate: unsafe extern "C" fn(
19823            object_out: *mut CUuserObject,
19824            ptr: *mut ::core::ffi::c_void,
19825            destroy: CUhostFn,
19826            initialRefcount: ::core::ffi::c_uint,
19827            flags: ::core::ffi::c_uint,
19828        ) -> CUresult,
19829        pub cuUserObjectRelease:
19830            unsafe extern "C" fn(object: CUuserObject, count: ::core::ffi::c_uint) -> CUresult,
19831        pub cuUserObjectRetain:
19832            unsafe extern "C" fn(object: CUuserObject, count: ::core::ffi::c_uint) -> CUresult,
19833        pub cuWaitExternalSemaphoresAsync: unsafe extern "C" fn(
19834            extSemArray: *const CUexternalSemaphore,
19835            paramsArray: *const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,
19836            numExtSems: ::core::ffi::c_uint,
19837            stream: CUstream,
19838        ) -> CUresult,
19839    }
19840    impl Lib {
19841        pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
19842        where
19843            P: AsRef<::std::ffi::OsStr>,
19844        {
19845            let library = ::libloading::Library::new(path)?;
19846            Self::from_library(library)
19847        }
19848        pub unsafe fn from_library<L>(library: L) -> Result<Self, ::libloading::Error>
19849        where
19850            L: Into<::libloading::Library>,
19851        {
19852            let __library = library.into();
19853            let cuArray3DCreate_v2 = __library
19854                .get(b"cuArray3DCreate_v2\0")
19855                .map(|sym| *sym)
19856                .expect("Expected symbol in library");
19857            let cuArray3DGetDescriptor_v2 = __library
19858                .get(b"cuArray3DGetDescriptor_v2\0")
19859                .map(|sym| *sym)
19860                .expect("Expected symbol in library");
19861            let cuArrayCreate_v2 = __library
19862                .get(b"cuArrayCreate_v2\0")
19863                .map(|sym| *sym)
19864                .expect("Expected symbol in library");
19865            let cuArrayDestroy = __library
19866                .get(b"cuArrayDestroy\0")
19867                .map(|sym| *sym)
19868                .expect("Expected symbol in library");
19869            let cuArrayGetDescriptor_v2 = __library
19870                .get(b"cuArrayGetDescriptor_v2\0")
19871                .map(|sym| *sym)
19872                .expect("Expected symbol in library");
19873            #[cfg(any(
19874                feature = "cuda-11060",
19875                feature = "cuda-11070",
19876                feature = "cuda-11080",
19877                feature = "cuda-12000",
19878                feature = "cuda-12010",
19879                feature = "cuda-12020",
19880                feature = "cuda-12030",
19881                feature = "cuda-12040",
19882                feature = "cuda-12050",
19883                feature = "cuda-12060",
19884                feature = "cuda-12080",
19885                feature = "cuda-12090",
19886                feature = "cuda-13000"
19887            ))]
19888            let cuArrayGetMemoryRequirements = __library
19889                .get(b"cuArrayGetMemoryRequirements\0")
19890                .map(|sym| *sym)
19891                .expect("Expected symbol in library");
19892            let cuArrayGetPlane = __library
19893                .get(b"cuArrayGetPlane\0")
19894                .map(|sym| *sym)
19895                .expect("Expected symbol in library");
19896            let cuArrayGetSparseProperties = __library
19897                .get(b"cuArrayGetSparseProperties\0")
19898                .map(|sym| *sym)
19899                .expect("Expected symbol in library");
19900            #[cfg(any(
19901                feature = "cuda-12010",
19902                feature = "cuda-12020",
19903                feature = "cuda-12030",
19904                feature = "cuda-12040",
19905                feature = "cuda-12050",
19906                feature = "cuda-12060",
19907                feature = "cuda-12080",
19908                feature = "cuda-12090",
19909                feature = "cuda-13000"
19910            ))]
19911            let cuCoredumpGetAttribute = __library
19912                .get(b"cuCoredumpGetAttribute\0")
19913                .map(|sym| *sym)
19914                .expect("Expected symbol in library");
19915            #[cfg(any(
19916                feature = "cuda-12010",
19917                feature = "cuda-12020",
19918                feature = "cuda-12030",
19919                feature = "cuda-12040",
19920                feature = "cuda-12050",
19921                feature = "cuda-12060",
19922                feature = "cuda-12080",
19923                feature = "cuda-12090",
19924                feature = "cuda-13000"
19925            ))]
19926            let cuCoredumpGetAttributeGlobal = __library
19927                .get(b"cuCoredumpGetAttributeGlobal\0")
19928                .map(|sym| *sym)
19929                .expect("Expected symbol in library");
19930            #[cfg(any(
19931                feature = "cuda-12010",
19932                feature = "cuda-12020",
19933                feature = "cuda-12030",
19934                feature = "cuda-12040",
19935                feature = "cuda-12050",
19936                feature = "cuda-12060",
19937                feature = "cuda-12080",
19938                feature = "cuda-12090",
19939                feature = "cuda-13000"
19940            ))]
19941            let cuCoredumpSetAttribute = __library
19942                .get(b"cuCoredumpSetAttribute\0")
19943                .map(|sym| *sym)
19944                .expect("Expected symbol in library");
19945            #[cfg(any(
19946                feature = "cuda-12010",
19947                feature = "cuda-12020",
19948                feature = "cuda-12030",
19949                feature = "cuda-12040",
19950                feature = "cuda-12050",
19951                feature = "cuda-12060",
19952                feature = "cuda-12080",
19953                feature = "cuda-12090",
19954                feature = "cuda-13000"
19955            ))]
19956            let cuCoredumpSetAttributeGlobal = __library
19957                .get(b"cuCoredumpSetAttributeGlobal\0")
19958                .map(|sym| *sym)
19959                .expect("Expected symbol in library");
19960            let cuCtxAttach = __library
19961                .get(b"cuCtxAttach\0")
19962                .map(|sym| *sym)
19963                .expect("Expected symbol in library");
19964            #[cfg(any(
19965                feature = "cuda-11040",
19966                feature = "cuda-11050",
19967                feature = "cuda-11060",
19968                feature = "cuda-11070",
19969                feature = "cuda-11080",
19970                feature = "cuda-12000",
19971                feature = "cuda-12010",
19972                feature = "cuda-12020",
19973                feature = "cuda-12030",
19974                feature = "cuda-12040",
19975                feature = "cuda-12050",
19976                feature = "cuda-12060",
19977                feature = "cuda-12080",
19978                feature = "cuda-12090"
19979            ))]
19980            let cuCtxCreate_v2 = __library
19981                .get(b"cuCtxCreate_v2\0")
19982                .map(|sym| *sym)
19983                .expect("Expected symbol in library");
19984            #[cfg(any(
19985                feature = "cuda-11040",
19986                feature = "cuda-11050",
19987                feature = "cuda-11060",
19988                feature = "cuda-11070",
19989                feature = "cuda-11080",
19990                feature = "cuda-12000",
19991                feature = "cuda-12010",
19992                feature = "cuda-12020",
19993                feature = "cuda-12030",
19994                feature = "cuda-12040",
19995                feature = "cuda-12050",
19996                feature = "cuda-12060",
19997                feature = "cuda-12080",
19998                feature = "cuda-12090"
19999            ))]
20000            let cuCtxCreate_v3 = __library
20001                .get(b"cuCtxCreate_v3\0")
20002                .map(|sym| *sym)
20003                .expect("Expected symbol in library");
20004            #[cfg(any(
20005                feature = "cuda-12050",
20006                feature = "cuda-12060",
20007                feature = "cuda-12080",
20008                feature = "cuda-12090",
20009                feature = "cuda-13000"
20010            ))]
20011            let cuCtxCreate_v4 = __library
20012                .get(b"cuCtxCreate_v4\0")
20013                .map(|sym| *sym)
20014                .expect("Expected symbol in library");
20015            let cuCtxDestroy_v2 = __library
20016                .get(b"cuCtxDestroy_v2\0")
20017                .map(|sym| *sym)
20018                .expect("Expected symbol in library");
20019            let cuCtxDetach = __library
20020                .get(b"cuCtxDetach\0")
20021                .map(|sym| *sym)
20022                .expect("Expected symbol in library");
20023            let cuCtxDisablePeerAccess = __library
20024                .get(b"cuCtxDisablePeerAccess\0")
20025                .map(|sym| *sym)
20026                .expect("Expected symbol in library");
20027            let cuCtxEnablePeerAccess = __library
20028                .get(b"cuCtxEnablePeerAccess\0")
20029                .map(|sym| *sym)
20030                .expect("Expected symbol in library");
20031            #[cfg(any(
20032                feature = "cuda-12040",
20033                feature = "cuda-12050",
20034                feature = "cuda-12060",
20035                feature = "cuda-12080",
20036                feature = "cuda-12090",
20037                feature = "cuda-13000"
20038            ))]
20039            let cuCtxFromGreenCtx = __library
20040                .get(b"cuCtxFromGreenCtx\0")
20041                .map(|sym| *sym)
20042                .expect("Expected symbol in library");
20043            let cuCtxGetApiVersion = __library
20044                .get(b"cuCtxGetApiVersion\0")
20045                .map(|sym| *sym)
20046                .expect("Expected symbol in library");
20047            let cuCtxGetCacheConfig = __library
20048                .get(b"cuCtxGetCacheConfig\0")
20049                .map(|sym| *sym)
20050                .expect("Expected symbol in library");
20051            let cuCtxGetCurrent = __library
20052                .get(b"cuCtxGetCurrent\0")
20053                .map(|sym| *sym)
20054                .expect("Expected symbol in library");
20055            #[cfg(any(
20056                feature = "cuda-12040",
20057                feature = "cuda-12050",
20058                feature = "cuda-12060",
20059                feature = "cuda-12080",
20060                feature = "cuda-12090",
20061                feature = "cuda-13000"
20062            ))]
20063            let cuCtxGetDevResource = __library
20064                .get(b"cuCtxGetDevResource\0")
20065                .map(|sym| *sym)
20066                .expect("Expected symbol in library");
20067            let cuCtxGetDevice = __library
20068                .get(b"cuCtxGetDevice\0")
20069                .map(|sym| *sym)
20070                .expect("Expected symbol in library");
20071            #[cfg(any(feature = "cuda-13000"))]
20072            let cuCtxGetDevice_v2 = __library
20073                .get(b"cuCtxGetDevice_v2\0")
20074                .map(|sym| *sym)
20075                .expect("Expected symbol in library");
20076            let cuCtxGetExecAffinity = __library
20077                .get(b"cuCtxGetExecAffinity\0")
20078                .map(|sym| *sym)
20079                .expect("Expected symbol in library");
20080            let cuCtxGetFlags = __library
20081                .get(b"cuCtxGetFlags\0")
20082                .map(|sym| *sym)
20083                .expect("Expected symbol in library");
20084            #[cfg(any(
20085                feature = "cuda-12000",
20086                feature = "cuda-12010",
20087                feature = "cuda-12020",
20088                feature = "cuda-12030",
20089                feature = "cuda-12040",
20090                feature = "cuda-12050",
20091                feature = "cuda-12060",
20092                feature = "cuda-12080",
20093                feature = "cuda-12090",
20094                feature = "cuda-13000"
20095            ))]
20096            let cuCtxGetId = __library
20097                .get(b"cuCtxGetId\0")
20098                .map(|sym| *sym)
20099                .expect("Expected symbol in library");
20100            let cuCtxGetLimit = __library
20101                .get(b"cuCtxGetLimit\0")
20102                .map(|sym| *sym)
20103                .expect("Expected symbol in library");
20104            let cuCtxGetSharedMemConfig = __library
20105                .get(b"cuCtxGetSharedMemConfig\0")
20106                .map(|sym| *sym)
20107                .expect("Expected symbol in library");
20108            let cuCtxGetStreamPriorityRange = __library
20109                .get(b"cuCtxGetStreamPriorityRange\0")
20110                .map(|sym| *sym)
20111                .expect("Expected symbol in library");
20112            let cuCtxPopCurrent_v2 = __library
20113                .get(b"cuCtxPopCurrent_v2\0")
20114                .map(|sym| *sym)
20115                .expect("Expected symbol in library");
20116            let cuCtxPushCurrent_v2 = __library
20117                .get(b"cuCtxPushCurrent_v2\0")
20118                .map(|sym| *sym)
20119                .expect("Expected symbol in library");
20120            #[cfg(any(
20121                feature = "cuda-12050",
20122                feature = "cuda-12060",
20123                feature = "cuda-12080",
20124                feature = "cuda-12090",
20125                feature = "cuda-13000"
20126            ))]
20127            let cuCtxRecordEvent = __library
20128                .get(b"cuCtxRecordEvent\0")
20129                .map(|sym| *sym)
20130                .expect("Expected symbol in library");
20131            let cuCtxResetPersistingL2Cache = __library
20132                .get(b"cuCtxResetPersistingL2Cache\0")
20133                .map(|sym| *sym)
20134                .expect("Expected symbol in library");
20135            let cuCtxSetCacheConfig = __library
20136                .get(b"cuCtxSetCacheConfig\0")
20137                .map(|sym| *sym)
20138                .expect("Expected symbol in library");
20139            let cuCtxSetCurrent = __library
20140                .get(b"cuCtxSetCurrent\0")
20141                .map(|sym| *sym)
20142                .expect("Expected symbol in library");
20143            #[cfg(any(
20144                feature = "cuda-12010",
20145                feature = "cuda-12020",
20146                feature = "cuda-12030",
20147                feature = "cuda-12040",
20148                feature = "cuda-12050",
20149                feature = "cuda-12060",
20150                feature = "cuda-12080",
20151                feature = "cuda-12090",
20152                feature = "cuda-13000"
20153            ))]
20154            let cuCtxSetFlags = __library
20155                .get(b"cuCtxSetFlags\0")
20156                .map(|sym| *sym)
20157                .expect("Expected symbol in library");
20158            let cuCtxSetLimit = __library
20159                .get(b"cuCtxSetLimit\0")
20160                .map(|sym| *sym)
20161                .expect("Expected symbol in library");
20162            let cuCtxSetSharedMemConfig = __library
20163                .get(b"cuCtxSetSharedMemConfig\0")
20164                .map(|sym| *sym)
20165                .expect("Expected symbol in library");
20166            let cuCtxSynchronize = __library
20167                .get(b"cuCtxSynchronize\0")
20168                .map(|sym| *sym)
20169                .expect("Expected symbol in library");
20170            #[cfg(any(feature = "cuda-13000"))]
20171            let cuCtxSynchronize_v2 = __library
20172                .get(b"cuCtxSynchronize_v2\0")
20173                .map(|sym| *sym)
20174                .expect("Expected symbol in library");
20175            #[cfg(any(
20176                feature = "cuda-12050",
20177                feature = "cuda-12060",
20178                feature = "cuda-12080",
20179                feature = "cuda-12090",
20180                feature = "cuda-13000"
20181            ))]
20182            let cuCtxWaitEvent = __library
20183                .get(b"cuCtxWaitEvent\0")
20184                .map(|sym| *sym)
20185                .expect("Expected symbol in library");
20186            let cuDestroyExternalMemory = __library
20187                .get(b"cuDestroyExternalMemory\0")
20188                .map(|sym| *sym)
20189                .expect("Expected symbol in library");
20190            let cuDestroyExternalSemaphore = __library
20191                .get(b"cuDestroyExternalSemaphore\0")
20192                .map(|sym| *sym)
20193                .expect("Expected symbol in library");
20194            #[cfg(any(
20195                feature = "cuda-12040",
20196                feature = "cuda-12050",
20197                feature = "cuda-12060",
20198                feature = "cuda-12080",
20199                feature = "cuda-12090",
20200                feature = "cuda-13000"
20201            ))]
20202            let cuDevResourceGenerateDesc = __library
20203                .get(b"cuDevResourceGenerateDesc\0")
20204                .map(|sym| *sym)
20205                .expect("Expected symbol in library");
20206            #[cfg(any(
20207                feature = "cuda-12040",
20208                feature = "cuda-12050",
20209                feature = "cuda-12060",
20210                feature = "cuda-12080",
20211                feature = "cuda-12090",
20212                feature = "cuda-13000"
20213            ))]
20214            let cuDevSmResourceSplitByCount = __library
20215                .get(b"cuDevSmResourceSplitByCount\0")
20216                .map(|sym| *sym)
20217                .expect("Expected symbol in library");
20218            let cuDeviceCanAccessPeer = __library
20219                .get(b"cuDeviceCanAccessPeer\0")
20220                .map(|sym| *sym)
20221                .expect("Expected symbol in library");
20222            let cuDeviceComputeCapability = __library
20223                .get(b"cuDeviceComputeCapability\0")
20224                .map(|sym| *sym)
20225                .expect("Expected symbol in library");
20226            let cuDeviceGet = __library
20227                .get(b"cuDeviceGet\0")
20228                .map(|sym| *sym)
20229                .expect("Expected symbol in library");
20230            let cuDeviceGetAttribute = __library
20231                .get(b"cuDeviceGetAttribute\0")
20232                .map(|sym| *sym)
20233                .expect("Expected symbol in library");
20234            let cuDeviceGetByPCIBusId = __library
20235                .get(b"cuDeviceGetByPCIBusId\0")
20236                .map(|sym| *sym)
20237                .expect("Expected symbol in library");
20238            let cuDeviceGetCount = __library
20239                .get(b"cuDeviceGetCount\0")
20240                .map(|sym| *sym)
20241                .expect("Expected symbol in library");
20242            let cuDeviceGetDefaultMemPool = __library
20243                .get(b"cuDeviceGetDefaultMemPool\0")
20244                .map(|sym| *sym)
20245                .expect("Expected symbol in library");
20246            #[cfg(any(
20247                feature = "cuda-12040",
20248                feature = "cuda-12050",
20249                feature = "cuda-12060",
20250                feature = "cuda-12080",
20251                feature = "cuda-12090",
20252                feature = "cuda-13000"
20253            ))]
20254            let cuDeviceGetDevResource = __library
20255                .get(b"cuDeviceGetDevResource\0")
20256                .map(|sym| *sym)
20257                .expect("Expected symbol in library");
20258            let cuDeviceGetExecAffinitySupport = __library
20259                .get(b"cuDeviceGetExecAffinitySupport\0")
20260                .map(|sym| *sym)
20261                .expect("Expected symbol in library");
20262            let cuDeviceGetGraphMemAttribute = __library
20263                .get(b"cuDeviceGetGraphMemAttribute\0")
20264                .map(|sym| *sym)
20265                .expect("Expected symbol in library");
20266            #[cfg(any(feature = "cuda-13000"))]
20267            let cuDeviceGetHostAtomicCapabilities = __library
20268                .get(b"cuDeviceGetHostAtomicCapabilities\0")
20269                .map(|sym| *sym)
20270                .expect("Expected symbol in library");
20271            let cuDeviceGetLuid = __library
20272                .get(b"cuDeviceGetLuid\0")
20273                .map(|sym| *sym)
20274                .expect("Expected symbol in library");
20275            let cuDeviceGetMemPool = __library
20276                .get(b"cuDeviceGetMemPool\0")
20277                .map(|sym| *sym)
20278                .expect("Expected symbol in library");
20279            let cuDeviceGetName = __library
20280                .get(b"cuDeviceGetName\0")
20281                .map(|sym| *sym)
20282                .expect("Expected symbol in library");
20283            #[cfg(any(feature = "cuda-13000"))]
20284            let cuDeviceGetP2PAtomicCapabilities = __library
20285                .get(b"cuDeviceGetP2PAtomicCapabilities\0")
20286                .map(|sym| *sym)
20287                .expect("Expected symbol in library");
20288            let cuDeviceGetP2PAttribute = __library
20289                .get(b"cuDeviceGetP2PAttribute\0")
20290                .map(|sym| *sym)
20291                .expect("Expected symbol in library");
20292            let cuDeviceGetPCIBusId = __library
20293                .get(b"cuDeviceGetPCIBusId\0")
20294                .map(|sym| *sym)
20295                .expect("Expected symbol in library");
20296            let cuDeviceGetProperties = __library
20297                .get(b"cuDeviceGetProperties\0")
20298                .map(|sym| *sym)
20299                .expect("Expected symbol in library");
20300            let cuDeviceGetTexture1DLinearMaxWidth = __library
20301                .get(b"cuDeviceGetTexture1DLinearMaxWidth\0")
20302                .map(|sym| *sym)
20303                .expect("Expected symbol in library");
20304            #[cfg(any(
20305                feature = "cuda-11040",
20306                feature = "cuda-11050",
20307                feature = "cuda-11060",
20308                feature = "cuda-11070",
20309                feature = "cuda-11080",
20310                feature = "cuda-12000",
20311                feature = "cuda-12010",
20312                feature = "cuda-12020",
20313                feature = "cuda-12030",
20314                feature = "cuda-12040",
20315                feature = "cuda-12050",
20316                feature = "cuda-12060",
20317                feature = "cuda-12080",
20318                feature = "cuda-12090"
20319            ))]
20320            let cuDeviceGetUuid = __library
20321                .get(b"cuDeviceGetUuid\0")
20322                .map(|sym| *sym)
20323                .expect("Expected symbol in library");
20324            let cuDeviceGetUuid_v2 = __library
20325                .get(b"cuDeviceGetUuid_v2\0")
20326                .map(|sym| *sym)
20327                .expect("Expected symbol in library");
20328            let cuDeviceGraphMemTrim = __library
20329                .get(b"cuDeviceGraphMemTrim\0")
20330                .map(|sym| *sym)
20331                .expect("Expected symbol in library");
20332            let cuDevicePrimaryCtxGetState = __library
20333                .get(b"cuDevicePrimaryCtxGetState\0")
20334                .map(|sym| *sym)
20335                .expect("Expected symbol in library");
20336            let cuDevicePrimaryCtxRelease_v2 = __library
20337                .get(b"cuDevicePrimaryCtxRelease_v2\0")
20338                .map(|sym| *sym)
20339                .expect("Expected symbol in library");
20340            let cuDevicePrimaryCtxReset_v2 = __library
20341                .get(b"cuDevicePrimaryCtxReset_v2\0")
20342                .map(|sym| *sym)
20343                .expect("Expected symbol in library");
20344            let cuDevicePrimaryCtxRetain = __library
20345                .get(b"cuDevicePrimaryCtxRetain\0")
20346                .map(|sym| *sym)
20347                .expect("Expected symbol in library");
20348            let cuDevicePrimaryCtxSetFlags_v2 = __library
20349                .get(b"cuDevicePrimaryCtxSetFlags_v2\0")
20350                .map(|sym| *sym)
20351                .expect("Expected symbol in library");
20352            #[cfg(any(
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            let cuDeviceRegisterAsyncNotification = __library
20361                .get(b"cuDeviceRegisterAsyncNotification\0")
20362                .map(|sym| *sym)
20363                .expect("Expected symbol in library");
20364            let cuDeviceSetGraphMemAttribute = __library
20365                .get(b"cuDeviceSetGraphMemAttribute\0")
20366                .map(|sym| *sym)
20367                .expect("Expected symbol in library");
20368            let cuDeviceSetMemPool = __library
20369                .get(b"cuDeviceSetMemPool\0")
20370                .map(|sym| *sym)
20371                .expect("Expected symbol in library");
20372            let cuDeviceTotalMem_v2 = __library
20373                .get(b"cuDeviceTotalMem_v2\0")
20374                .map(|sym| *sym)
20375                .expect("Expected symbol in library");
20376            #[cfg(any(
20377                feature = "cuda-12040",
20378                feature = "cuda-12050",
20379                feature = "cuda-12060",
20380                feature = "cuda-12080",
20381                feature = "cuda-12090",
20382                feature = "cuda-13000"
20383            ))]
20384            let cuDeviceUnregisterAsyncNotification = __library
20385                .get(b"cuDeviceUnregisterAsyncNotification\0")
20386                .map(|sym| *sym)
20387                .expect("Expected symbol in library");
20388            let cuDriverGetVersion = __library
20389                .get(b"cuDriverGetVersion\0")
20390                .map(|sym| *sym)
20391                .expect("Expected symbol in library");
20392            let cuEventCreate = __library
20393                .get(b"cuEventCreate\0")
20394                .map(|sym| *sym)
20395                .expect("Expected symbol in library");
20396            let cuEventDestroy_v2 = __library
20397                .get(b"cuEventDestroy_v2\0")
20398                .map(|sym| *sym)
20399                .expect("Expected symbol in library");
20400            #[cfg(any(
20401                feature = "cuda-11040",
20402                feature = "cuda-11050",
20403                feature = "cuda-11060",
20404                feature = "cuda-11070",
20405                feature = "cuda-11080",
20406                feature = "cuda-12000",
20407                feature = "cuda-12010",
20408                feature = "cuda-12020",
20409                feature = "cuda-12030",
20410                feature = "cuda-12040",
20411                feature = "cuda-12050",
20412                feature = "cuda-12060",
20413                feature = "cuda-12080",
20414                feature = "cuda-12090"
20415            ))]
20416            let cuEventElapsedTime = __library
20417                .get(b"cuEventElapsedTime\0")
20418                .map(|sym| *sym)
20419                .expect("Expected symbol in library");
20420            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
20421            let cuEventElapsedTime_v2 = __library
20422                .get(b"cuEventElapsedTime_v2\0")
20423                .map(|sym| *sym)
20424                .expect("Expected symbol in library");
20425            let cuEventQuery = __library
20426                .get(b"cuEventQuery\0")
20427                .map(|sym| *sym)
20428                .expect("Expected symbol in library");
20429            let cuEventRecord = __library
20430                .get(b"cuEventRecord\0")
20431                .map(|sym| *sym)
20432                .expect("Expected symbol in library");
20433            let cuEventRecordWithFlags = __library
20434                .get(b"cuEventRecordWithFlags\0")
20435                .map(|sym| *sym)
20436                .expect("Expected symbol in library");
20437            let cuEventSynchronize = __library
20438                .get(b"cuEventSynchronize\0")
20439                .map(|sym| *sym)
20440                .expect("Expected symbol in library");
20441            let cuExternalMemoryGetMappedBuffer = __library
20442                .get(b"cuExternalMemoryGetMappedBuffer\0")
20443                .map(|sym| *sym)
20444                .expect("Expected symbol in library");
20445            let cuExternalMemoryGetMappedMipmappedArray = __library
20446                .get(b"cuExternalMemoryGetMappedMipmappedArray\0")
20447                .map(|sym| *sym)
20448                .expect("Expected symbol in library");
20449            let cuFlushGPUDirectRDMAWrites = __library
20450                .get(b"cuFlushGPUDirectRDMAWrites\0")
20451                .map(|sym| *sym)
20452                .expect("Expected symbol in library");
20453            let cuFuncGetAttribute = __library
20454                .get(b"cuFuncGetAttribute\0")
20455                .map(|sym| *sym)
20456                .expect("Expected symbol in library");
20457            let cuFuncGetModule = __library
20458                .get(b"cuFuncGetModule\0")
20459                .map(|sym| *sym)
20460                .expect("Expected symbol in library");
20461            #[cfg(any(
20462                feature = "cuda-12030",
20463                feature = "cuda-12040",
20464                feature = "cuda-12050",
20465                feature = "cuda-12060",
20466                feature = "cuda-12080",
20467                feature = "cuda-12090",
20468                feature = "cuda-13000"
20469            ))]
20470            let cuFuncGetName = __library
20471                .get(b"cuFuncGetName\0")
20472                .map(|sym| *sym)
20473                .expect("Expected symbol in library");
20474            #[cfg(any(
20475                feature = "cuda-12040",
20476                feature = "cuda-12050",
20477                feature = "cuda-12060",
20478                feature = "cuda-12080",
20479                feature = "cuda-12090",
20480                feature = "cuda-13000"
20481            ))]
20482            let cuFuncGetParamInfo = __library
20483                .get(b"cuFuncGetParamInfo\0")
20484                .map(|sym| *sym)
20485                .expect("Expected symbol in library");
20486            #[cfg(any(
20487                feature = "cuda-12040",
20488                feature = "cuda-12050",
20489                feature = "cuda-12060",
20490                feature = "cuda-12080",
20491                feature = "cuda-12090",
20492                feature = "cuda-13000"
20493            ))]
20494            let cuFuncIsLoaded = __library
20495                .get(b"cuFuncIsLoaded\0")
20496                .map(|sym| *sym)
20497                .expect("Expected symbol in library");
20498            #[cfg(any(
20499                feature = "cuda-12040",
20500                feature = "cuda-12050",
20501                feature = "cuda-12060",
20502                feature = "cuda-12080",
20503                feature = "cuda-12090",
20504                feature = "cuda-13000"
20505            ))]
20506            let cuFuncLoad = __library
20507                .get(b"cuFuncLoad\0")
20508                .map(|sym| *sym)
20509                .expect("Expected symbol in library");
20510            let cuFuncSetAttribute = __library
20511                .get(b"cuFuncSetAttribute\0")
20512                .map(|sym| *sym)
20513                .expect("Expected symbol in library");
20514            let cuFuncSetBlockShape = __library
20515                .get(b"cuFuncSetBlockShape\0")
20516                .map(|sym| *sym)
20517                .expect("Expected symbol in library");
20518            let cuFuncSetCacheConfig = __library
20519                .get(b"cuFuncSetCacheConfig\0")
20520                .map(|sym| *sym)
20521                .expect("Expected symbol in library");
20522            let cuFuncSetSharedMemConfig = __library
20523                .get(b"cuFuncSetSharedMemConfig\0")
20524                .map(|sym| *sym)
20525                .expect("Expected symbol in library");
20526            let cuFuncSetSharedSize = __library
20527                .get(b"cuFuncSetSharedSize\0")
20528                .map(|sym| *sym)
20529                .expect("Expected symbol in library");
20530            let cuGetErrorName = __library
20531                .get(b"cuGetErrorName\0")
20532                .map(|sym| *sym)
20533                .expect("Expected symbol in library");
20534            let cuGetErrorString = __library
20535                .get(b"cuGetErrorString\0")
20536                .map(|sym| *sym)
20537                .expect("Expected symbol in library");
20538            let cuGetExportTable = __library
20539                .get(b"cuGetExportTable\0")
20540                .map(|sym| *sym)
20541                .expect("Expected symbol in library");
20542            #[cfg(any(
20543                feature = "cuda-11040",
20544                feature = "cuda-11050",
20545                feature = "cuda-11060",
20546                feature = "cuda-11070",
20547                feature = "cuda-11080"
20548            ))]
20549            let cuGetProcAddress = __library
20550                .get(b"cuGetProcAddress\0")
20551                .map(|sym| *sym)
20552                .expect("Expected symbol in library");
20553            #[cfg(any(
20554                feature = "cuda-12000",
20555                feature = "cuda-12010",
20556                feature = "cuda-12020",
20557                feature = "cuda-12030",
20558                feature = "cuda-12040",
20559                feature = "cuda-12050",
20560                feature = "cuda-12060",
20561                feature = "cuda-12080",
20562                feature = "cuda-12090",
20563                feature = "cuda-13000"
20564            ))]
20565            let cuGetProcAddress_v2 = __library
20566                .get(b"cuGetProcAddress_v2\0")
20567                .map(|sym| *sym)
20568                .expect("Expected symbol in library");
20569            #[cfg(any(
20570                feature = "cuda-11070",
20571                feature = "cuda-11080",
20572                feature = "cuda-12000",
20573                feature = "cuda-12010",
20574                feature = "cuda-12020",
20575                feature = "cuda-12030",
20576                feature = "cuda-12040",
20577                feature = "cuda-12050",
20578                feature = "cuda-12060",
20579                feature = "cuda-12080",
20580                feature = "cuda-12090",
20581                feature = "cuda-13000"
20582            ))]
20583            let cuGraphAddBatchMemOpNode = __library
20584                .get(b"cuGraphAddBatchMemOpNode\0")
20585                .map(|sym| *sym)
20586                .expect("Expected symbol in library");
20587            let cuGraphAddChildGraphNode = __library
20588                .get(b"cuGraphAddChildGraphNode\0")
20589                .map(|sym| *sym)
20590                .expect("Expected symbol in library");
20591            #[cfg(any(
20592                feature = "cuda-11040",
20593                feature = "cuda-11050",
20594                feature = "cuda-11060",
20595                feature = "cuda-11070",
20596                feature = "cuda-11080",
20597                feature = "cuda-12000",
20598                feature = "cuda-12010",
20599                feature = "cuda-12020",
20600                feature = "cuda-12030",
20601                feature = "cuda-12040",
20602                feature = "cuda-12050",
20603                feature = "cuda-12060",
20604                feature = "cuda-12080",
20605                feature = "cuda-12090"
20606            ))]
20607            let cuGraphAddDependencies = __library
20608                .get(b"cuGraphAddDependencies\0")
20609                .map(|sym| *sym)
20610                .expect("Expected symbol in library");
20611            #[cfg(any(
20612                feature = "cuda-12030",
20613                feature = "cuda-12040",
20614                feature = "cuda-12050",
20615                feature = "cuda-12060",
20616                feature = "cuda-12080",
20617                feature = "cuda-12090",
20618                feature = "cuda-13000"
20619            ))]
20620            let cuGraphAddDependencies_v2 = __library
20621                .get(b"cuGraphAddDependencies_v2\0")
20622                .map(|sym| *sym)
20623                .expect("Expected symbol in library");
20624            let cuGraphAddEmptyNode = __library
20625                .get(b"cuGraphAddEmptyNode\0")
20626                .map(|sym| *sym)
20627                .expect("Expected symbol in library");
20628            let cuGraphAddEventRecordNode = __library
20629                .get(b"cuGraphAddEventRecordNode\0")
20630                .map(|sym| *sym)
20631                .expect("Expected symbol in library");
20632            let cuGraphAddEventWaitNode = __library
20633                .get(b"cuGraphAddEventWaitNode\0")
20634                .map(|sym| *sym)
20635                .expect("Expected symbol in library");
20636            let cuGraphAddExternalSemaphoresSignalNode = __library
20637                .get(b"cuGraphAddExternalSemaphoresSignalNode\0")
20638                .map(|sym| *sym)
20639                .expect("Expected symbol in library");
20640            let cuGraphAddExternalSemaphoresWaitNode = __library
20641                .get(b"cuGraphAddExternalSemaphoresWaitNode\0")
20642                .map(|sym| *sym)
20643                .expect("Expected symbol in library");
20644            let cuGraphAddHostNode = __library
20645                .get(b"cuGraphAddHostNode\0")
20646                .map(|sym| *sym)
20647                .expect("Expected symbol in library");
20648            #[cfg(any(
20649                feature = "cuda-11040",
20650                feature = "cuda-11050",
20651                feature = "cuda-11060",
20652                feature = "cuda-11070",
20653                feature = "cuda-11080"
20654            ))]
20655            let cuGraphAddKernelNode = __library
20656                .get(b"cuGraphAddKernelNode\0")
20657                .map(|sym| *sym)
20658                .expect("Expected symbol in library");
20659            #[cfg(any(
20660                feature = "cuda-12000",
20661                feature = "cuda-12010",
20662                feature = "cuda-12020",
20663                feature = "cuda-12030",
20664                feature = "cuda-12040",
20665                feature = "cuda-12050",
20666                feature = "cuda-12060",
20667                feature = "cuda-12080",
20668                feature = "cuda-12090",
20669                feature = "cuda-13000"
20670            ))]
20671            let cuGraphAddKernelNode_v2 = __library
20672                .get(b"cuGraphAddKernelNode_v2\0")
20673                .map(|sym| *sym)
20674                .expect("Expected symbol in library");
20675            let cuGraphAddMemAllocNode = __library
20676                .get(b"cuGraphAddMemAllocNode\0")
20677                .map(|sym| *sym)
20678                .expect("Expected symbol in library");
20679            let cuGraphAddMemFreeNode = __library
20680                .get(b"cuGraphAddMemFreeNode\0")
20681                .map(|sym| *sym)
20682                .expect("Expected symbol in library");
20683            let cuGraphAddMemcpyNode = __library
20684                .get(b"cuGraphAddMemcpyNode\0")
20685                .map(|sym| *sym)
20686                .expect("Expected symbol in library");
20687            let cuGraphAddMemsetNode = __library
20688                .get(b"cuGraphAddMemsetNode\0")
20689                .map(|sym| *sym)
20690                .expect("Expected symbol in library");
20691            #[cfg(any(
20692                feature = "cuda-12020",
20693                feature = "cuda-12030",
20694                feature = "cuda-12040",
20695                feature = "cuda-12050",
20696                feature = "cuda-12060",
20697                feature = "cuda-12080",
20698                feature = "cuda-12090"
20699            ))]
20700            let cuGraphAddNode = __library
20701                .get(b"cuGraphAddNode\0")
20702                .map(|sym| *sym)
20703                .expect("Expected symbol in library");
20704            #[cfg(any(
20705                feature = "cuda-12030",
20706                feature = "cuda-12040",
20707                feature = "cuda-12050",
20708                feature = "cuda-12060",
20709                feature = "cuda-12080",
20710                feature = "cuda-12090",
20711                feature = "cuda-13000"
20712            ))]
20713            let cuGraphAddNode_v2 = __library
20714                .get(b"cuGraphAddNode_v2\0")
20715                .map(|sym| *sym)
20716                .expect("Expected symbol in library");
20717            #[cfg(any(
20718                feature = "cuda-11070",
20719                feature = "cuda-11080",
20720                feature = "cuda-12000",
20721                feature = "cuda-12010",
20722                feature = "cuda-12020",
20723                feature = "cuda-12030",
20724                feature = "cuda-12040",
20725                feature = "cuda-12050",
20726                feature = "cuda-12060",
20727                feature = "cuda-12080",
20728                feature = "cuda-12090",
20729                feature = "cuda-13000"
20730            ))]
20731            let cuGraphBatchMemOpNodeGetParams = __library
20732                .get(b"cuGraphBatchMemOpNodeGetParams\0")
20733                .map(|sym| *sym)
20734                .expect("Expected symbol in library");
20735            #[cfg(any(
20736                feature = "cuda-11070",
20737                feature = "cuda-11080",
20738                feature = "cuda-12000",
20739                feature = "cuda-12010",
20740                feature = "cuda-12020",
20741                feature = "cuda-12030",
20742                feature = "cuda-12040",
20743                feature = "cuda-12050",
20744                feature = "cuda-12060",
20745                feature = "cuda-12080",
20746                feature = "cuda-12090",
20747                feature = "cuda-13000"
20748            ))]
20749            let cuGraphBatchMemOpNodeSetParams = __library
20750                .get(b"cuGraphBatchMemOpNodeSetParams\0")
20751                .map(|sym| *sym)
20752                .expect("Expected symbol in library");
20753            let cuGraphChildGraphNodeGetGraph = __library
20754                .get(b"cuGraphChildGraphNodeGetGraph\0")
20755                .map(|sym| *sym)
20756                .expect("Expected symbol in library");
20757            let cuGraphClone = __library
20758                .get(b"cuGraphClone\0")
20759                .map(|sym| *sym)
20760                .expect("Expected symbol in library");
20761            #[cfg(any(
20762                feature = "cuda-12030",
20763                feature = "cuda-12040",
20764                feature = "cuda-12050",
20765                feature = "cuda-12060",
20766                feature = "cuda-12080",
20767                feature = "cuda-12090",
20768                feature = "cuda-13000"
20769            ))]
20770            let cuGraphConditionalHandleCreate = __library
20771                .get(b"cuGraphConditionalHandleCreate\0")
20772                .map(|sym| *sym)
20773                .expect("Expected symbol in library");
20774            let cuGraphCreate = __library
20775                .get(b"cuGraphCreate\0")
20776                .map(|sym| *sym)
20777                .expect("Expected symbol in library");
20778            let cuGraphDebugDotPrint = __library
20779                .get(b"cuGraphDebugDotPrint\0")
20780                .map(|sym| *sym)
20781                .expect("Expected symbol in library");
20782            let cuGraphDestroy = __library
20783                .get(b"cuGraphDestroy\0")
20784                .map(|sym| *sym)
20785                .expect("Expected symbol in library");
20786            let cuGraphDestroyNode = __library
20787                .get(b"cuGraphDestroyNode\0")
20788                .map(|sym| *sym)
20789                .expect("Expected symbol in library");
20790            let cuGraphEventRecordNodeGetEvent = __library
20791                .get(b"cuGraphEventRecordNodeGetEvent\0")
20792                .map(|sym| *sym)
20793                .expect("Expected symbol in library");
20794            let cuGraphEventRecordNodeSetEvent = __library
20795                .get(b"cuGraphEventRecordNodeSetEvent\0")
20796                .map(|sym| *sym)
20797                .expect("Expected symbol in library");
20798            let cuGraphEventWaitNodeGetEvent = __library
20799                .get(b"cuGraphEventWaitNodeGetEvent\0")
20800                .map(|sym| *sym)
20801                .expect("Expected symbol in library");
20802            let cuGraphEventWaitNodeSetEvent = __library
20803                .get(b"cuGraphEventWaitNodeSetEvent\0")
20804                .map(|sym| *sym)
20805                .expect("Expected symbol in library");
20806            #[cfg(any(
20807                feature = "cuda-11070",
20808                feature = "cuda-11080",
20809                feature = "cuda-12000",
20810                feature = "cuda-12010",
20811                feature = "cuda-12020",
20812                feature = "cuda-12030",
20813                feature = "cuda-12040",
20814                feature = "cuda-12050",
20815                feature = "cuda-12060",
20816                feature = "cuda-12080",
20817                feature = "cuda-12090",
20818                feature = "cuda-13000"
20819            ))]
20820            let cuGraphExecBatchMemOpNodeSetParams = __library
20821                .get(b"cuGraphExecBatchMemOpNodeSetParams\0")
20822                .map(|sym| *sym)
20823                .expect("Expected symbol in library");
20824            let cuGraphExecChildGraphNodeSetParams = __library
20825                .get(b"cuGraphExecChildGraphNodeSetParams\0")
20826                .map(|sym| *sym)
20827                .expect("Expected symbol in library");
20828            let cuGraphExecDestroy = __library
20829                .get(b"cuGraphExecDestroy\0")
20830                .map(|sym| *sym)
20831                .expect("Expected symbol in library");
20832            let cuGraphExecEventRecordNodeSetEvent = __library
20833                .get(b"cuGraphExecEventRecordNodeSetEvent\0")
20834                .map(|sym| *sym)
20835                .expect("Expected symbol in library");
20836            let cuGraphExecEventWaitNodeSetEvent = __library
20837                .get(b"cuGraphExecEventWaitNodeSetEvent\0")
20838                .map(|sym| *sym)
20839                .expect("Expected symbol in library");
20840            let cuGraphExecExternalSemaphoresSignalNodeSetParams = __library
20841                .get(b"cuGraphExecExternalSemaphoresSignalNodeSetParams\0")
20842                .map(|sym| *sym)
20843                .expect("Expected symbol in library");
20844            let cuGraphExecExternalSemaphoresWaitNodeSetParams = __library
20845                .get(b"cuGraphExecExternalSemaphoresWaitNodeSetParams\0")
20846                .map(|sym| *sym)
20847                .expect("Expected symbol in library");
20848            #[cfg(any(
20849                feature = "cuda-12000",
20850                feature = "cuda-12010",
20851                feature = "cuda-12020",
20852                feature = "cuda-12030",
20853                feature = "cuda-12040",
20854                feature = "cuda-12050",
20855                feature = "cuda-12060",
20856                feature = "cuda-12080",
20857                feature = "cuda-12090",
20858                feature = "cuda-13000"
20859            ))]
20860            let cuGraphExecGetFlags = __library
20861                .get(b"cuGraphExecGetFlags\0")
20862                .map(|sym| *sym)
20863                .expect("Expected symbol in library");
20864            let cuGraphExecHostNodeSetParams = __library
20865                .get(b"cuGraphExecHostNodeSetParams\0")
20866                .map(|sym| *sym)
20867                .expect("Expected symbol in library");
20868            #[cfg(any(
20869                feature = "cuda-11040",
20870                feature = "cuda-11050",
20871                feature = "cuda-11060",
20872                feature = "cuda-11070",
20873                feature = "cuda-11080"
20874            ))]
20875            let cuGraphExecKernelNodeSetParams = __library
20876                .get(b"cuGraphExecKernelNodeSetParams\0")
20877                .map(|sym| *sym)
20878                .expect("Expected symbol in library");
20879            #[cfg(any(
20880                feature = "cuda-12000",
20881                feature = "cuda-12010",
20882                feature = "cuda-12020",
20883                feature = "cuda-12030",
20884                feature = "cuda-12040",
20885                feature = "cuda-12050",
20886                feature = "cuda-12060",
20887                feature = "cuda-12080",
20888                feature = "cuda-12090",
20889                feature = "cuda-13000"
20890            ))]
20891            let cuGraphExecKernelNodeSetParams_v2 = __library
20892                .get(b"cuGraphExecKernelNodeSetParams_v2\0")
20893                .map(|sym| *sym)
20894                .expect("Expected symbol in library");
20895            let cuGraphExecMemcpyNodeSetParams = __library
20896                .get(b"cuGraphExecMemcpyNodeSetParams\0")
20897                .map(|sym| *sym)
20898                .expect("Expected symbol in library");
20899            let cuGraphExecMemsetNodeSetParams = __library
20900                .get(b"cuGraphExecMemsetNodeSetParams\0")
20901                .map(|sym| *sym)
20902                .expect("Expected symbol in library");
20903            #[cfg(any(
20904                feature = "cuda-12020",
20905                feature = "cuda-12030",
20906                feature = "cuda-12040",
20907                feature = "cuda-12050",
20908                feature = "cuda-12060",
20909                feature = "cuda-12080",
20910                feature = "cuda-12090",
20911                feature = "cuda-13000"
20912            ))]
20913            let cuGraphExecNodeSetParams = __library
20914                .get(b"cuGraphExecNodeSetParams\0")
20915                .map(|sym| *sym)
20916                .expect("Expected symbol in library");
20917            #[cfg(any(
20918                feature = "cuda-11040",
20919                feature = "cuda-11050",
20920                feature = "cuda-11060",
20921                feature = "cuda-11070",
20922                feature = "cuda-11080"
20923            ))]
20924            let cuGraphExecUpdate = __library
20925                .get(b"cuGraphExecUpdate\0")
20926                .map(|sym| *sym)
20927                .expect("Expected symbol in library");
20928            #[cfg(any(
20929                feature = "cuda-12000",
20930                feature = "cuda-12010",
20931                feature = "cuda-12020",
20932                feature = "cuda-12030",
20933                feature = "cuda-12040",
20934                feature = "cuda-12050",
20935                feature = "cuda-12060",
20936                feature = "cuda-12080",
20937                feature = "cuda-12090",
20938                feature = "cuda-13000"
20939            ))]
20940            let cuGraphExecUpdate_v2 = __library
20941                .get(b"cuGraphExecUpdate_v2\0")
20942                .map(|sym| *sym)
20943                .expect("Expected symbol in library");
20944            let cuGraphExternalSemaphoresSignalNodeGetParams = __library
20945                .get(b"cuGraphExternalSemaphoresSignalNodeGetParams\0")
20946                .map(|sym| *sym)
20947                .expect("Expected symbol in library");
20948            let cuGraphExternalSemaphoresSignalNodeSetParams = __library
20949                .get(b"cuGraphExternalSemaphoresSignalNodeSetParams\0")
20950                .map(|sym| *sym)
20951                .expect("Expected symbol in library");
20952            let cuGraphExternalSemaphoresWaitNodeGetParams = __library
20953                .get(b"cuGraphExternalSemaphoresWaitNodeGetParams\0")
20954                .map(|sym| *sym)
20955                .expect("Expected symbol in library");
20956            let cuGraphExternalSemaphoresWaitNodeSetParams = __library
20957                .get(b"cuGraphExternalSemaphoresWaitNodeSetParams\0")
20958                .map(|sym| *sym)
20959                .expect("Expected symbol in library");
20960            #[cfg(any(
20961                feature = "cuda-11040",
20962                feature = "cuda-11050",
20963                feature = "cuda-11060",
20964                feature = "cuda-11070",
20965                feature = "cuda-11080",
20966                feature = "cuda-12000",
20967                feature = "cuda-12010",
20968                feature = "cuda-12020",
20969                feature = "cuda-12030",
20970                feature = "cuda-12040",
20971                feature = "cuda-12050",
20972                feature = "cuda-12060",
20973                feature = "cuda-12080",
20974                feature = "cuda-12090"
20975            ))]
20976            let cuGraphGetEdges = __library
20977                .get(b"cuGraphGetEdges\0")
20978                .map(|sym| *sym)
20979                .expect("Expected symbol in library");
20980            #[cfg(any(
20981                feature = "cuda-12030",
20982                feature = "cuda-12040",
20983                feature = "cuda-12050",
20984                feature = "cuda-12060",
20985                feature = "cuda-12080",
20986                feature = "cuda-12090",
20987                feature = "cuda-13000"
20988            ))]
20989            let cuGraphGetEdges_v2 = __library
20990                .get(b"cuGraphGetEdges_v2\0")
20991                .map(|sym| *sym)
20992                .expect("Expected symbol in library");
20993            let cuGraphGetNodes = __library
20994                .get(b"cuGraphGetNodes\0")
20995                .map(|sym| *sym)
20996                .expect("Expected symbol in library");
20997            let cuGraphGetRootNodes = __library
20998                .get(b"cuGraphGetRootNodes\0")
20999                .map(|sym| *sym)
21000                .expect("Expected symbol in library");
21001            let cuGraphHostNodeGetParams = __library
21002                .get(b"cuGraphHostNodeGetParams\0")
21003                .map(|sym| *sym)
21004                .expect("Expected symbol in library");
21005            let cuGraphHostNodeSetParams = __library
21006                .get(b"cuGraphHostNodeSetParams\0")
21007                .map(|sym| *sym)
21008                .expect("Expected symbol in library");
21009            let cuGraphInstantiateWithFlags = __library
21010                .get(b"cuGraphInstantiateWithFlags\0")
21011                .map(|sym| *sym)
21012                .expect("Expected symbol in library");
21013            #[cfg(any(
21014                feature = "cuda-12000",
21015                feature = "cuda-12010",
21016                feature = "cuda-12020",
21017                feature = "cuda-12030",
21018                feature = "cuda-12040",
21019                feature = "cuda-12050",
21020                feature = "cuda-12060",
21021                feature = "cuda-12080",
21022                feature = "cuda-12090",
21023                feature = "cuda-13000"
21024            ))]
21025            let cuGraphInstantiateWithParams = __library
21026                .get(b"cuGraphInstantiateWithParams\0")
21027                .map(|sym| *sym)
21028                .expect("Expected symbol in library");
21029            #[cfg(any(
21030                feature = "cuda-11040",
21031                feature = "cuda-11050",
21032                feature = "cuda-11060",
21033                feature = "cuda-11070",
21034                feature = "cuda-11080"
21035            ))]
21036            let cuGraphInstantiate_v2 = __library
21037                .get(b"cuGraphInstantiate_v2\0")
21038                .map(|sym| *sym)
21039                .expect("Expected symbol in library");
21040            let cuGraphKernelNodeCopyAttributes = __library
21041                .get(b"cuGraphKernelNodeCopyAttributes\0")
21042                .map(|sym| *sym)
21043                .expect("Expected symbol in library");
21044            let cuGraphKernelNodeGetAttribute = __library
21045                .get(b"cuGraphKernelNodeGetAttribute\0")
21046                .map(|sym| *sym)
21047                .expect("Expected symbol in library");
21048            #[cfg(any(
21049                feature = "cuda-11040",
21050                feature = "cuda-11050",
21051                feature = "cuda-11060",
21052                feature = "cuda-11070",
21053                feature = "cuda-11080"
21054            ))]
21055            let cuGraphKernelNodeGetParams = __library
21056                .get(b"cuGraphKernelNodeGetParams\0")
21057                .map(|sym| *sym)
21058                .expect("Expected symbol in library");
21059            #[cfg(any(
21060                feature = "cuda-12000",
21061                feature = "cuda-12010",
21062                feature = "cuda-12020",
21063                feature = "cuda-12030",
21064                feature = "cuda-12040",
21065                feature = "cuda-12050",
21066                feature = "cuda-12060",
21067                feature = "cuda-12080",
21068                feature = "cuda-12090",
21069                feature = "cuda-13000"
21070            ))]
21071            let cuGraphKernelNodeGetParams_v2 = __library
21072                .get(b"cuGraphKernelNodeGetParams_v2\0")
21073                .map(|sym| *sym)
21074                .expect("Expected symbol in library");
21075            let cuGraphKernelNodeSetAttribute = __library
21076                .get(b"cuGraphKernelNodeSetAttribute\0")
21077                .map(|sym| *sym)
21078                .expect("Expected symbol in library");
21079            #[cfg(any(
21080                feature = "cuda-11040",
21081                feature = "cuda-11050",
21082                feature = "cuda-11060",
21083                feature = "cuda-11070",
21084                feature = "cuda-11080"
21085            ))]
21086            let cuGraphKernelNodeSetParams = __library
21087                .get(b"cuGraphKernelNodeSetParams\0")
21088                .map(|sym| *sym)
21089                .expect("Expected symbol in library");
21090            #[cfg(any(
21091                feature = "cuda-12000",
21092                feature = "cuda-12010",
21093                feature = "cuda-12020",
21094                feature = "cuda-12030",
21095                feature = "cuda-12040",
21096                feature = "cuda-12050",
21097                feature = "cuda-12060",
21098                feature = "cuda-12080",
21099                feature = "cuda-12090",
21100                feature = "cuda-13000"
21101            ))]
21102            let cuGraphKernelNodeSetParams_v2 = __library
21103                .get(b"cuGraphKernelNodeSetParams_v2\0")
21104                .map(|sym| *sym)
21105                .expect("Expected symbol in library");
21106            let cuGraphLaunch = __library
21107                .get(b"cuGraphLaunch\0")
21108                .map(|sym| *sym)
21109                .expect("Expected symbol in library");
21110            let cuGraphMemAllocNodeGetParams = __library
21111                .get(b"cuGraphMemAllocNodeGetParams\0")
21112                .map(|sym| *sym)
21113                .expect("Expected symbol in library");
21114            let cuGraphMemFreeNodeGetParams = __library
21115                .get(b"cuGraphMemFreeNodeGetParams\0")
21116                .map(|sym| *sym)
21117                .expect("Expected symbol in library");
21118            let cuGraphMemcpyNodeGetParams = __library
21119                .get(b"cuGraphMemcpyNodeGetParams\0")
21120                .map(|sym| *sym)
21121                .expect("Expected symbol in library");
21122            let cuGraphMemcpyNodeSetParams = __library
21123                .get(b"cuGraphMemcpyNodeSetParams\0")
21124                .map(|sym| *sym)
21125                .expect("Expected symbol in library");
21126            let cuGraphMemsetNodeGetParams = __library
21127                .get(b"cuGraphMemsetNodeGetParams\0")
21128                .map(|sym| *sym)
21129                .expect("Expected symbol in library");
21130            let cuGraphMemsetNodeSetParams = __library
21131                .get(b"cuGraphMemsetNodeSetParams\0")
21132                .map(|sym| *sym)
21133                .expect("Expected symbol in library");
21134            let cuGraphNodeFindInClone = __library
21135                .get(b"cuGraphNodeFindInClone\0")
21136                .map(|sym| *sym)
21137                .expect("Expected symbol in library");
21138            #[cfg(any(
21139                feature = "cuda-11040",
21140                feature = "cuda-11050",
21141                feature = "cuda-11060",
21142                feature = "cuda-11070",
21143                feature = "cuda-11080",
21144                feature = "cuda-12000",
21145                feature = "cuda-12010",
21146                feature = "cuda-12020",
21147                feature = "cuda-12030",
21148                feature = "cuda-12040",
21149                feature = "cuda-12050",
21150                feature = "cuda-12060",
21151                feature = "cuda-12080",
21152                feature = "cuda-12090"
21153            ))]
21154            let cuGraphNodeGetDependencies = __library
21155                .get(b"cuGraphNodeGetDependencies\0")
21156                .map(|sym| *sym)
21157                .expect("Expected symbol in library");
21158            #[cfg(any(
21159                feature = "cuda-12030",
21160                feature = "cuda-12040",
21161                feature = "cuda-12050",
21162                feature = "cuda-12060",
21163                feature = "cuda-12080",
21164                feature = "cuda-12090",
21165                feature = "cuda-13000"
21166            ))]
21167            let cuGraphNodeGetDependencies_v2 = __library
21168                .get(b"cuGraphNodeGetDependencies_v2\0")
21169                .map(|sym| *sym)
21170                .expect("Expected symbol in library");
21171            #[cfg(any(
21172                feature = "cuda-11040",
21173                feature = "cuda-11050",
21174                feature = "cuda-11060",
21175                feature = "cuda-11070",
21176                feature = "cuda-11080",
21177                feature = "cuda-12000",
21178                feature = "cuda-12010",
21179                feature = "cuda-12020",
21180                feature = "cuda-12030",
21181                feature = "cuda-12040",
21182                feature = "cuda-12050",
21183                feature = "cuda-12060",
21184                feature = "cuda-12080",
21185                feature = "cuda-12090"
21186            ))]
21187            let cuGraphNodeGetDependentNodes = __library
21188                .get(b"cuGraphNodeGetDependentNodes\0")
21189                .map(|sym| *sym)
21190                .expect("Expected symbol in library");
21191            #[cfg(any(
21192                feature = "cuda-12030",
21193                feature = "cuda-12040",
21194                feature = "cuda-12050",
21195                feature = "cuda-12060",
21196                feature = "cuda-12080",
21197                feature = "cuda-12090",
21198                feature = "cuda-13000"
21199            ))]
21200            let cuGraphNodeGetDependentNodes_v2 = __library
21201                .get(b"cuGraphNodeGetDependentNodes_v2\0")
21202                .map(|sym| *sym)
21203                .expect("Expected symbol in library");
21204            #[cfg(any(
21205                feature = "cuda-11060",
21206                feature = "cuda-11070",
21207                feature = "cuda-11080",
21208                feature = "cuda-12000",
21209                feature = "cuda-12010",
21210                feature = "cuda-12020",
21211                feature = "cuda-12030",
21212                feature = "cuda-12040",
21213                feature = "cuda-12050",
21214                feature = "cuda-12060",
21215                feature = "cuda-12080",
21216                feature = "cuda-12090",
21217                feature = "cuda-13000"
21218            ))]
21219            let cuGraphNodeGetEnabled = __library
21220                .get(b"cuGraphNodeGetEnabled\0")
21221                .map(|sym| *sym)
21222                .expect("Expected symbol in library");
21223            let cuGraphNodeGetType = __library
21224                .get(b"cuGraphNodeGetType\0")
21225                .map(|sym| *sym)
21226                .expect("Expected symbol in library");
21227            #[cfg(any(
21228                feature = "cuda-11060",
21229                feature = "cuda-11070",
21230                feature = "cuda-11080",
21231                feature = "cuda-12000",
21232                feature = "cuda-12010",
21233                feature = "cuda-12020",
21234                feature = "cuda-12030",
21235                feature = "cuda-12040",
21236                feature = "cuda-12050",
21237                feature = "cuda-12060",
21238                feature = "cuda-12080",
21239                feature = "cuda-12090",
21240                feature = "cuda-13000"
21241            ))]
21242            let cuGraphNodeSetEnabled = __library
21243                .get(b"cuGraphNodeSetEnabled\0")
21244                .map(|sym| *sym)
21245                .expect("Expected symbol in library");
21246            #[cfg(any(
21247                feature = "cuda-12020",
21248                feature = "cuda-12030",
21249                feature = "cuda-12040",
21250                feature = "cuda-12050",
21251                feature = "cuda-12060",
21252                feature = "cuda-12080",
21253                feature = "cuda-12090",
21254                feature = "cuda-13000"
21255            ))]
21256            let cuGraphNodeSetParams = __library
21257                .get(b"cuGraphNodeSetParams\0")
21258                .map(|sym| *sym)
21259                .expect("Expected symbol in library");
21260            let cuGraphReleaseUserObject = __library
21261                .get(b"cuGraphReleaseUserObject\0")
21262                .map(|sym| *sym)
21263                .expect("Expected symbol in library");
21264            #[cfg(any(
21265                feature = "cuda-11040",
21266                feature = "cuda-11050",
21267                feature = "cuda-11060",
21268                feature = "cuda-11070",
21269                feature = "cuda-11080",
21270                feature = "cuda-12000",
21271                feature = "cuda-12010",
21272                feature = "cuda-12020",
21273                feature = "cuda-12030",
21274                feature = "cuda-12040",
21275                feature = "cuda-12050",
21276                feature = "cuda-12060",
21277                feature = "cuda-12080",
21278                feature = "cuda-12090"
21279            ))]
21280            let cuGraphRemoveDependencies = __library
21281                .get(b"cuGraphRemoveDependencies\0")
21282                .map(|sym| *sym)
21283                .expect("Expected symbol in library");
21284            #[cfg(any(
21285                feature = "cuda-12030",
21286                feature = "cuda-12040",
21287                feature = "cuda-12050",
21288                feature = "cuda-12060",
21289                feature = "cuda-12080",
21290                feature = "cuda-12090",
21291                feature = "cuda-13000"
21292            ))]
21293            let cuGraphRemoveDependencies_v2 = __library
21294                .get(b"cuGraphRemoveDependencies_v2\0")
21295                .map(|sym| *sym)
21296                .expect("Expected symbol in library");
21297            let cuGraphRetainUserObject = __library
21298                .get(b"cuGraphRetainUserObject\0")
21299                .map(|sym| *sym)
21300                .expect("Expected symbol in library");
21301            let cuGraphUpload = __library
21302                .get(b"cuGraphUpload\0")
21303                .map(|sym| *sym)
21304                .expect("Expected symbol in library");
21305            let cuGraphicsMapResources = __library
21306                .get(b"cuGraphicsMapResources\0")
21307                .map(|sym| *sym)
21308                .expect("Expected symbol in library");
21309            let cuGraphicsResourceGetMappedMipmappedArray = __library
21310                .get(b"cuGraphicsResourceGetMappedMipmappedArray\0")
21311                .map(|sym| *sym)
21312                .expect("Expected symbol in library");
21313            let cuGraphicsResourceGetMappedPointer_v2 = __library
21314                .get(b"cuGraphicsResourceGetMappedPointer_v2\0")
21315                .map(|sym| *sym)
21316                .expect("Expected symbol in library");
21317            let cuGraphicsResourceSetMapFlags_v2 = __library
21318                .get(b"cuGraphicsResourceSetMapFlags_v2\0")
21319                .map(|sym| *sym)
21320                .expect("Expected symbol in library");
21321            let cuGraphicsSubResourceGetMappedArray = __library
21322                .get(b"cuGraphicsSubResourceGetMappedArray\0")
21323                .map(|sym| *sym)
21324                .expect("Expected symbol in library");
21325            let cuGraphicsUnmapResources = __library
21326                .get(b"cuGraphicsUnmapResources\0")
21327                .map(|sym| *sym)
21328                .expect("Expected symbol in library");
21329            let cuGraphicsUnregisterResource = __library
21330                .get(b"cuGraphicsUnregisterResource\0")
21331                .map(|sym| *sym)
21332                .expect("Expected symbol in library");
21333            #[cfg(any(
21334                feature = "cuda-12040",
21335                feature = "cuda-12050",
21336                feature = "cuda-12060",
21337                feature = "cuda-12080",
21338                feature = "cuda-12090",
21339                feature = "cuda-13000"
21340            ))]
21341            let cuGreenCtxCreate = __library
21342                .get(b"cuGreenCtxCreate\0")
21343                .map(|sym| *sym)
21344                .expect("Expected symbol in library");
21345            #[cfg(any(
21346                feature = "cuda-12040",
21347                feature = "cuda-12050",
21348                feature = "cuda-12060",
21349                feature = "cuda-12080",
21350                feature = "cuda-12090",
21351                feature = "cuda-13000"
21352            ))]
21353            let cuGreenCtxDestroy = __library
21354                .get(b"cuGreenCtxDestroy\0")
21355                .map(|sym| *sym)
21356                .expect("Expected symbol in library");
21357            #[cfg(any(
21358                feature = "cuda-12040",
21359                feature = "cuda-12050",
21360                feature = "cuda-12060",
21361                feature = "cuda-12080",
21362                feature = "cuda-12090",
21363                feature = "cuda-13000"
21364            ))]
21365            let cuGreenCtxGetDevResource = __library
21366                .get(b"cuGreenCtxGetDevResource\0")
21367                .map(|sym| *sym)
21368                .expect("Expected symbol in library");
21369            #[cfg(any(feature = "cuda-13000"))]
21370            let cuGreenCtxGetId = __library
21371                .get(b"cuGreenCtxGetId\0")
21372                .map(|sym| *sym)
21373                .expect("Expected symbol in library");
21374            #[cfg(any(
21375                feature = "cuda-12040",
21376                feature = "cuda-12050",
21377                feature = "cuda-12060",
21378                feature = "cuda-12080",
21379                feature = "cuda-12090",
21380                feature = "cuda-13000"
21381            ))]
21382            let cuGreenCtxRecordEvent = __library
21383                .get(b"cuGreenCtxRecordEvent\0")
21384                .map(|sym| *sym)
21385                .expect("Expected symbol in library");
21386            #[cfg(any(
21387                feature = "cuda-12050",
21388                feature = "cuda-12060",
21389                feature = "cuda-12080",
21390                feature = "cuda-12090",
21391                feature = "cuda-13000"
21392            ))]
21393            let cuGreenCtxStreamCreate = __library
21394                .get(b"cuGreenCtxStreamCreate\0")
21395                .map(|sym| *sym)
21396                .expect("Expected symbol in library");
21397            #[cfg(any(
21398                feature = "cuda-12040",
21399                feature = "cuda-12050",
21400                feature = "cuda-12060",
21401                feature = "cuda-12080",
21402                feature = "cuda-12090",
21403                feature = "cuda-13000"
21404            ))]
21405            let cuGreenCtxWaitEvent = __library
21406                .get(b"cuGreenCtxWaitEvent\0")
21407                .map(|sym| *sym)
21408                .expect("Expected symbol in library");
21409            let cuImportExternalMemory = __library
21410                .get(b"cuImportExternalMemory\0")
21411                .map(|sym| *sym)
21412                .expect("Expected symbol in library");
21413            let cuImportExternalSemaphore = __library
21414                .get(b"cuImportExternalSemaphore\0")
21415                .map(|sym| *sym)
21416                .expect("Expected symbol in library");
21417            let cuInit = __library
21418                .get(b"cuInit\0")
21419                .map(|sym| *sym)
21420                .expect("Expected symbol in library");
21421            let cuIpcCloseMemHandle = __library
21422                .get(b"cuIpcCloseMemHandle\0")
21423                .map(|sym| *sym)
21424                .expect("Expected symbol in library");
21425            let cuIpcGetEventHandle = __library
21426                .get(b"cuIpcGetEventHandle\0")
21427                .map(|sym| *sym)
21428                .expect("Expected symbol in library");
21429            let cuIpcGetMemHandle = __library
21430                .get(b"cuIpcGetMemHandle\0")
21431                .map(|sym| *sym)
21432                .expect("Expected symbol in library");
21433            let cuIpcOpenEventHandle = __library
21434                .get(b"cuIpcOpenEventHandle\0")
21435                .map(|sym| *sym)
21436                .expect("Expected symbol in library");
21437            let cuIpcOpenMemHandle_v2 = __library
21438                .get(b"cuIpcOpenMemHandle_v2\0")
21439                .map(|sym| *sym)
21440                .expect("Expected symbol in library");
21441            #[cfg(any(
21442                feature = "cuda-12000",
21443                feature = "cuda-12010",
21444                feature = "cuda-12020",
21445                feature = "cuda-12030",
21446                feature = "cuda-12040",
21447                feature = "cuda-12050",
21448                feature = "cuda-12060",
21449                feature = "cuda-12080",
21450                feature = "cuda-12090",
21451                feature = "cuda-13000"
21452            ))]
21453            let cuKernelGetAttribute = __library
21454                .get(b"cuKernelGetAttribute\0")
21455                .map(|sym| *sym)
21456                .expect("Expected symbol in library");
21457            #[cfg(any(
21458                feature = "cuda-12000",
21459                feature = "cuda-12010",
21460                feature = "cuda-12020",
21461                feature = "cuda-12030",
21462                feature = "cuda-12040",
21463                feature = "cuda-12050",
21464                feature = "cuda-12060",
21465                feature = "cuda-12080",
21466                feature = "cuda-12090",
21467                feature = "cuda-13000"
21468            ))]
21469            let cuKernelGetFunction = __library
21470                .get(b"cuKernelGetFunction\0")
21471                .map(|sym| *sym)
21472                .expect("Expected symbol in library");
21473            #[cfg(any(
21474                feature = "cuda-12050",
21475                feature = "cuda-12060",
21476                feature = "cuda-12080",
21477                feature = "cuda-12090",
21478                feature = "cuda-13000"
21479            ))]
21480            let cuKernelGetLibrary = __library
21481                .get(b"cuKernelGetLibrary\0")
21482                .map(|sym| *sym)
21483                .expect("Expected symbol in library");
21484            #[cfg(any(
21485                feature = "cuda-12030",
21486                feature = "cuda-12040",
21487                feature = "cuda-12050",
21488                feature = "cuda-12060",
21489                feature = "cuda-12080",
21490                feature = "cuda-12090",
21491                feature = "cuda-13000"
21492            ))]
21493            let cuKernelGetName = __library
21494                .get(b"cuKernelGetName\0")
21495                .map(|sym| *sym)
21496                .expect("Expected symbol in library");
21497            #[cfg(any(
21498                feature = "cuda-12040",
21499                feature = "cuda-12050",
21500                feature = "cuda-12060",
21501                feature = "cuda-12080",
21502                feature = "cuda-12090",
21503                feature = "cuda-13000"
21504            ))]
21505            let cuKernelGetParamInfo = __library
21506                .get(b"cuKernelGetParamInfo\0")
21507                .map(|sym| *sym)
21508                .expect("Expected symbol in library");
21509            #[cfg(any(
21510                feature = "cuda-12000",
21511                feature = "cuda-12010",
21512                feature = "cuda-12020",
21513                feature = "cuda-12030",
21514                feature = "cuda-12040",
21515                feature = "cuda-12050",
21516                feature = "cuda-12060",
21517                feature = "cuda-12080",
21518                feature = "cuda-12090",
21519                feature = "cuda-13000"
21520            ))]
21521            let cuKernelSetAttribute = __library
21522                .get(b"cuKernelSetAttribute\0")
21523                .map(|sym| *sym)
21524                .expect("Expected symbol in library");
21525            #[cfg(any(
21526                feature = "cuda-12000",
21527                feature = "cuda-12010",
21528                feature = "cuda-12020",
21529                feature = "cuda-12030",
21530                feature = "cuda-12040",
21531                feature = "cuda-12050",
21532                feature = "cuda-12060",
21533                feature = "cuda-12080",
21534                feature = "cuda-12090",
21535                feature = "cuda-13000"
21536            ))]
21537            let cuKernelSetCacheConfig = __library
21538                .get(b"cuKernelSetCacheConfig\0")
21539                .map(|sym| *sym)
21540                .expect("Expected symbol in library");
21541            let cuLaunch = __library
21542                .get(b"cuLaunch\0")
21543                .map(|sym| *sym)
21544                .expect("Expected symbol in library");
21545            let cuLaunchCooperativeKernel = __library
21546                .get(b"cuLaunchCooperativeKernel\0")
21547                .map(|sym| *sym)
21548                .expect("Expected symbol in library");
21549            let cuLaunchCooperativeKernelMultiDevice = __library
21550                .get(b"cuLaunchCooperativeKernelMultiDevice\0")
21551                .map(|sym| *sym)
21552                .expect("Expected symbol in library");
21553            let cuLaunchGrid = __library
21554                .get(b"cuLaunchGrid\0")
21555                .map(|sym| *sym)
21556                .expect("Expected symbol in library");
21557            let cuLaunchGridAsync = __library
21558                .get(b"cuLaunchGridAsync\0")
21559                .map(|sym| *sym)
21560                .expect("Expected symbol in library");
21561            let cuLaunchHostFunc = __library
21562                .get(b"cuLaunchHostFunc\0")
21563                .map(|sym| *sym)
21564                .expect("Expected symbol in library");
21565            let cuLaunchKernel = __library
21566                .get(b"cuLaunchKernel\0")
21567                .map(|sym| *sym)
21568                .expect("Expected symbol in library");
21569            #[cfg(any(
21570                feature = "cuda-11080",
21571                feature = "cuda-12000",
21572                feature = "cuda-12010",
21573                feature = "cuda-12020",
21574                feature = "cuda-12030",
21575                feature = "cuda-12040",
21576                feature = "cuda-12050",
21577                feature = "cuda-12060",
21578                feature = "cuda-12080",
21579                feature = "cuda-12090",
21580                feature = "cuda-13000"
21581            ))]
21582            let cuLaunchKernelEx = __library
21583                .get(b"cuLaunchKernelEx\0")
21584                .map(|sym| *sym)
21585                .expect("Expected symbol in library");
21586            #[cfg(any(
21587                feature = "cuda-12040",
21588                feature = "cuda-12050",
21589                feature = "cuda-12060",
21590                feature = "cuda-12080",
21591                feature = "cuda-12090",
21592                feature = "cuda-13000"
21593            ))]
21594            let cuLibraryEnumerateKernels = __library
21595                .get(b"cuLibraryEnumerateKernels\0")
21596                .map(|sym| *sym)
21597                .expect("Expected symbol in library");
21598            #[cfg(any(
21599                feature = "cuda-12000",
21600                feature = "cuda-12010",
21601                feature = "cuda-12020",
21602                feature = "cuda-12030",
21603                feature = "cuda-12040",
21604                feature = "cuda-12050",
21605                feature = "cuda-12060",
21606                feature = "cuda-12080",
21607                feature = "cuda-12090",
21608                feature = "cuda-13000"
21609            ))]
21610            let cuLibraryGetGlobal = __library
21611                .get(b"cuLibraryGetGlobal\0")
21612                .map(|sym| *sym)
21613                .expect("Expected symbol in library");
21614            #[cfg(any(
21615                feature = "cuda-12000",
21616                feature = "cuda-12010",
21617                feature = "cuda-12020",
21618                feature = "cuda-12030",
21619                feature = "cuda-12040",
21620                feature = "cuda-12050",
21621                feature = "cuda-12060",
21622                feature = "cuda-12080",
21623                feature = "cuda-12090",
21624                feature = "cuda-13000"
21625            ))]
21626            let cuLibraryGetKernel = __library
21627                .get(b"cuLibraryGetKernel\0")
21628                .map(|sym| *sym)
21629                .expect("Expected symbol in library");
21630            #[cfg(any(
21631                feature = "cuda-12040",
21632                feature = "cuda-12050",
21633                feature = "cuda-12060",
21634                feature = "cuda-12080",
21635                feature = "cuda-12090",
21636                feature = "cuda-13000"
21637            ))]
21638            let cuLibraryGetKernelCount = __library
21639                .get(b"cuLibraryGetKernelCount\0")
21640                .map(|sym| *sym)
21641                .expect("Expected symbol in library");
21642            #[cfg(any(
21643                feature = "cuda-12000",
21644                feature = "cuda-12010",
21645                feature = "cuda-12020",
21646                feature = "cuda-12030",
21647                feature = "cuda-12040",
21648                feature = "cuda-12050",
21649                feature = "cuda-12060",
21650                feature = "cuda-12080",
21651                feature = "cuda-12090",
21652                feature = "cuda-13000"
21653            ))]
21654            let cuLibraryGetManaged = __library
21655                .get(b"cuLibraryGetManaged\0")
21656                .map(|sym| *sym)
21657                .expect("Expected symbol in library");
21658            #[cfg(any(
21659                feature = "cuda-12000",
21660                feature = "cuda-12010",
21661                feature = "cuda-12020",
21662                feature = "cuda-12030",
21663                feature = "cuda-12040",
21664                feature = "cuda-12050",
21665                feature = "cuda-12060",
21666                feature = "cuda-12080",
21667                feature = "cuda-12090",
21668                feature = "cuda-13000"
21669            ))]
21670            let cuLibraryGetModule = __library
21671                .get(b"cuLibraryGetModule\0")
21672                .map(|sym| *sym)
21673                .expect("Expected symbol in library");
21674            #[cfg(any(
21675                feature = "cuda-12000",
21676                feature = "cuda-12010",
21677                feature = "cuda-12020",
21678                feature = "cuda-12030",
21679                feature = "cuda-12040",
21680                feature = "cuda-12050",
21681                feature = "cuda-12060",
21682                feature = "cuda-12080",
21683                feature = "cuda-12090",
21684                feature = "cuda-13000"
21685            ))]
21686            let cuLibraryGetUnifiedFunction = __library
21687                .get(b"cuLibraryGetUnifiedFunction\0")
21688                .map(|sym| *sym)
21689                .expect("Expected symbol in library");
21690            #[cfg(any(
21691                feature = "cuda-12000",
21692                feature = "cuda-12010",
21693                feature = "cuda-12020",
21694                feature = "cuda-12030",
21695                feature = "cuda-12040",
21696                feature = "cuda-12050",
21697                feature = "cuda-12060",
21698                feature = "cuda-12080",
21699                feature = "cuda-12090",
21700                feature = "cuda-13000"
21701            ))]
21702            let cuLibraryLoadData = __library
21703                .get(b"cuLibraryLoadData\0")
21704                .map(|sym| *sym)
21705                .expect("Expected symbol in library");
21706            #[cfg(any(
21707                feature = "cuda-12000",
21708                feature = "cuda-12010",
21709                feature = "cuda-12020",
21710                feature = "cuda-12030",
21711                feature = "cuda-12040",
21712                feature = "cuda-12050",
21713                feature = "cuda-12060",
21714                feature = "cuda-12080",
21715                feature = "cuda-12090",
21716                feature = "cuda-13000"
21717            ))]
21718            let cuLibraryLoadFromFile = __library
21719                .get(b"cuLibraryLoadFromFile\0")
21720                .map(|sym| *sym)
21721                .expect("Expected symbol in library");
21722            #[cfg(any(
21723                feature = "cuda-12000",
21724                feature = "cuda-12010",
21725                feature = "cuda-12020",
21726                feature = "cuda-12030",
21727                feature = "cuda-12040",
21728                feature = "cuda-12050",
21729                feature = "cuda-12060",
21730                feature = "cuda-12080",
21731                feature = "cuda-12090",
21732                feature = "cuda-13000"
21733            ))]
21734            let cuLibraryUnload = __library
21735                .get(b"cuLibraryUnload\0")
21736                .map(|sym| *sym)
21737                .expect("Expected symbol in library");
21738            let cuLinkAddData_v2 = __library
21739                .get(b"cuLinkAddData_v2\0")
21740                .map(|sym| *sym)
21741                .expect("Expected symbol in library");
21742            let cuLinkAddFile_v2 = __library
21743                .get(b"cuLinkAddFile_v2\0")
21744                .map(|sym| *sym)
21745                .expect("Expected symbol in library");
21746            let cuLinkComplete = __library
21747                .get(b"cuLinkComplete\0")
21748                .map(|sym| *sym)
21749                .expect("Expected symbol in library");
21750            let cuLinkCreate_v2 = __library
21751                .get(b"cuLinkCreate_v2\0")
21752                .map(|sym| *sym)
21753                .expect("Expected symbol in library");
21754            let cuLinkDestroy = __library
21755                .get(b"cuLinkDestroy\0")
21756                .map(|sym| *sym)
21757                .expect("Expected symbol in library");
21758            #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
21759            let cuLogsCurrent = __library
21760                .get(b"cuLogsCurrent\0")
21761                .map(|sym| *sym)
21762                .expect("Expected symbol in library");
21763            #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
21764            let cuLogsDumpToFile = __library
21765                .get(b"cuLogsDumpToFile\0")
21766                .map(|sym| *sym)
21767                .expect("Expected symbol in library");
21768            #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
21769            let cuLogsDumpToMemory = __library
21770                .get(b"cuLogsDumpToMemory\0")
21771                .map(|sym| *sym)
21772                .expect("Expected symbol in library");
21773            #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
21774            let cuLogsRegisterCallback = __library
21775                .get(b"cuLogsRegisterCallback\0")
21776                .map(|sym| *sym)
21777                .expect("Expected symbol in library");
21778            #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
21779            let cuLogsUnregisterCallback = __library
21780                .get(b"cuLogsUnregisterCallback\0")
21781                .map(|sym| *sym)
21782                .expect("Expected symbol in library");
21783            let cuMemAddressFree = __library
21784                .get(b"cuMemAddressFree\0")
21785                .map(|sym| *sym)
21786                .expect("Expected symbol in library");
21787            let cuMemAddressReserve = __library
21788                .get(b"cuMemAddressReserve\0")
21789                .map(|sym| *sym)
21790                .expect("Expected symbol in library");
21791            #[cfg(any(
21792                feature = "cuda-11040",
21793                feature = "cuda-11050",
21794                feature = "cuda-11060",
21795                feature = "cuda-11070",
21796                feature = "cuda-11080",
21797                feature = "cuda-12000",
21798                feature = "cuda-12010",
21799                feature = "cuda-12020",
21800                feature = "cuda-12030",
21801                feature = "cuda-12040",
21802                feature = "cuda-12050",
21803                feature = "cuda-12060",
21804                feature = "cuda-12080",
21805                feature = "cuda-12090"
21806            ))]
21807            let cuMemAdvise = __library
21808                .get(b"cuMemAdvise\0")
21809                .map(|sym| *sym)
21810                .expect("Expected symbol in library");
21811            #[cfg(any(
21812                feature = "cuda-12020",
21813                feature = "cuda-12030",
21814                feature = "cuda-12040",
21815                feature = "cuda-12050",
21816                feature = "cuda-12060",
21817                feature = "cuda-12080",
21818                feature = "cuda-12090",
21819                feature = "cuda-13000"
21820            ))]
21821            let cuMemAdvise_v2 = __library
21822                .get(b"cuMemAdvise_v2\0")
21823                .map(|sym| *sym)
21824                .expect("Expected symbol in library");
21825            let cuMemAllocAsync = __library
21826                .get(b"cuMemAllocAsync\0")
21827                .map(|sym| *sym)
21828                .expect("Expected symbol in library");
21829            let cuMemAllocFromPoolAsync = __library
21830                .get(b"cuMemAllocFromPoolAsync\0")
21831                .map(|sym| *sym)
21832                .expect("Expected symbol in library");
21833            let cuMemAllocHost_v2 = __library
21834                .get(b"cuMemAllocHost_v2\0")
21835                .map(|sym| *sym)
21836                .expect("Expected symbol in library");
21837            let cuMemAllocManaged = __library
21838                .get(b"cuMemAllocManaged\0")
21839                .map(|sym| *sym)
21840                .expect("Expected symbol in library");
21841            let cuMemAllocPitch_v2 = __library
21842                .get(b"cuMemAllocPitch_v2\0")
21843                .map(|sym| *sym)
21844                .expect("Expected symbol in library");
21845            let cuMemAlloc_v2 = __library
21846                .get(b"cuMemAlloc_v2\0")
21847                .map(|sym| *sym)
21848                .expect("Expected symbol in library");
21849            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
21850            let cuMemBatchDecompressAsync = __library
21851                .get(b"cuMemBatchDecompressAsync\0")
21852                .map(|sym| *sym)
21853                .expect("Expected symbol in library");
21854            let cuMemCreate = __library
21855                .get(b"cuMemCreate\0")
21856                .map(|sym| *sym)
21857                .expect("Expected symbol in library");
21858            #[cfg(any(feature = "cuda-13000"))]
21859            let cuMemDiscardAndPrefetchBatchAsync = __library
21860                .get(b"cuMemDiscardAndPrefetchBatchAsync\0")
21861                .map(|sym| *sym)
21862                .expect("Expected symbol in library");
21863            #[cfg(any(feature = "cuda-13000"))]
21864            let cuMemDiscardBatchAsync = __library
21865                .get(b"cuMemDiscardBatchAsync\0")
21866                .map(|sym| *sym)
21867                .expect("Expected symbol in library");
21868            let cuMemExportToShareableHandle = __library
21869                .get(b"cuMemExportToShareableHandle\0")
21870                .map(|sym| *sym)
21871                .expect("Expected symbol in library");
21872            let cuMemFreeAsync = __library
21873                .get(b"cuMemFreeAsync\0")
21874                .map(|sym| *sym)
21875                .expect("Expected symbol in library");
21876            let cuMemFreeHost = __library
21877                .get(b"cuMemFreeHost\0")
21878                .map(|sym| *sym)
21879                .expect("Expected symbol in library");
21880            let cuMemFree_v2 = __library
21881                .get(b"cuMemFree_v2\0")
21882                .map(|sym| *sym)
21883                .expect("Expected symbol in library");
21884            let cuMemGetAccess = __library
21885                .get(b"cuMemGetAccess\0")
21886                .map(|sym| *sym)
21887                .expect("Expected symbol in library");
21888            let cuMemGetAddressRange_v2 = __library
21889                .get(b"cuMemGetAddressRange_v2\0")
21890                .map(|sym| *sym)
21891                .expect("Expected symbol in library");
21892            let cuMemGetAllocationGranularity = __library
21893                .get(b"cuMemGetAllocationGranularity\0")
21894                .map(|sym| *sym)
21895                .expect("Expected symbol in library");
21896            let cuMemGetAllocationPropertiesFromHandle = __library
21897                .get(b"cuMemGetAllocationPropertiesFromHandle\0")
21898                .map(|sym| *sym)
21899                .expect("Expected symbol in library");
21900            #[cfg(any(feature = "cuda-13000"))]
21901            let cuMemGetDefaultMemPool = __library
21902                .get(b"cuMemGetDefaultMemPool\0")
21903                .map(|sym| *sym)
21904                .expect("Expected symbol in library");
21905            #[cfg(any(
21906                feature = "cuda-11070",
21907                feature = "cuda-11080",
21908                feature = "cuda-12000",
21909                feature = "cuda-12010",
21910                feature = "cuda-12020",
21911                feature = "cuda-12030",
21912                feature = "cuda-12040",
21913                feature = "cuda-12050",
21914                feature = "cuda-12060",
21915                feature = "cuda-12080",
21916                feature = "cuda-12090",
21917                feature = "cuda-13000"
21918            ))]
21919            let cuMemGetHandleForAddressRange = __library
21920                .get(b"cuMemGetHandleForAddressRange\0")
21921                .map(|sym| *sym)
21922                .expect("Expected symbol in library");
21923            let cuMemGetInfo_v2 = __library
21924                .get(b"cuMemGetInfo_v2\0")
21925                .map(|sym| *sym)
21926                .expect("Expected symbol in library");
21927            #[cfg(any(feature = "cuda-13000"))]
21928            let cuMemGetMemPool = __library
21929                .get(b"cuMemGetMemPool\0")
21930                .map(|sym| *sym)
21931                .expect("Expected symbol in library");
21932            let cuMemHostAlloc = __library
21933                .get(b"cuMemHostAlloc\0")
21934                .map(|sym| *sym)
21935                .expect("Expected symbol in library");
21936            let cuMemHostGetDevicePointer_v2 = __library
21937                .get(b"cuMemHostGetDevicePointer_v2\0")
21938                .map(|sym| *sym)
21939                .expect("Expected symbol in library");
21940            let cuMemHostGetFlags = __library
21941                .get(b"cuMemHostGetFlags\0")
21942                .map(|sym| *sym)
21943                .expect("Expected symbol in library");
21944            let cuMemHostRegister_v2 = __library
21945                .get(b"cuMemHostRegister_v2\0")
21946                .map(|sym| *sym)
21947                .expect("Expected symbol in library");
21948            let cuMemHostUnregister = __library
21949                .get(b"cuMemHostUnregister\0")
21950                .map(|sym| *sym)
21951                .expect("Expected symbol in library");
21952            let cuMemImportFromShareableHandle = __library
21953                .get(b"cuMemImportFromShareableHandle\0")
21954                .map(|sym| *sym)
21955                .expect("Expected symbol in library");
21956            let cuMemMap = __library
21957                .get(b"cuMemMap\0")
21958                .map(|sym| *sym)
21959                .expect("Expected symbol in library");
21960            let cuMemMapArrayAsync = __library
21961                .get(b"cuMemMapArrayAsync\0")
21962                .map(|sym| *sym)
21963                .expect("Expected symbol in library");
21964            let cuMemPoolCreate = __library
21965                .get(b"cuMemPoolCreate\0")
21966                .map(|sym| *sym)
21967                .expect("Expected symbol in library");
21968            let cuMemPoolDestroy = __library
21969                .get(b"cuMemPoolDestroy\0")
21970                .map(|sym| *sym)
21971                .expect("Expected symbol in library");
21972            let cuMemPoolExportPointer = __library
21973                .get(b"cuMemPoolExportPointer\0")
21974                .map(|sym| *sym)
21975                .expect("Expected symbol in library");
21976            let cuMemPoolExportToShareableHandle = __library
21977                .get(b"cuMemPoolExportToShareableHandle\0")
21978                .map(|sym| *sym)
21979                .expect("Expected symbol in library");
21980            let cuMemPoolGetAccess = __library
21981                .get(b"cuMemPoolGetAccess\0")
21982                .map(|sym| *sym)
21983                .expect("Expected symbol in library");
21984            let cuMemPoolGetAttribute = __library
21985                .get(b"cuMemPoolGetAttribute\0")
21986                .map(|sym| *sym)
21987                .expect("Expected symbol in library");
21988            let cuMemPoolImportFromShareableHandle = __library
21989                .get(b"cuMemPoolImportFromShareableHandle\0")
21990                .map(|sym| *sym)
21991                .expect("Expected symbol in library");
21992            let cuMemPoolImportPointer = __library
21993                .get(b"cuMemPoolImportPointer\0")
21994                .map(|sym| *sym)
21995                .expect("Expected symbol in library");
21996            let cuMemPoolSetAccess = __library
21997                .get(b"cuMemPoolSetAccess\0")
21998                .map(|sym| *sym)
21999                .expect("Expected symbol in library");
22000            let cuMemPoolSetAttribute = __library
22001                .get(b"cuMemPoolSetAttribute\0")
22002                .map(|sym| *sym)
22003                .expect("Expected symbol in library");
22004            let cuMemPoolTrimTo = __library
22005                .get(b"cuMemPoolTrimTo\0")
22006                .map(|sym| *sym)
22007                .expect("Expected symbol in library");
22008            #[cfg(any(
22009                feature = "cuda-11040",
22010                feature = "cuda-11050",
22011                feature = "cuda-11060",
22012                feature = "cuda-11070",
22013                feature = "cuda-11080",
22014                feature = "cuda-12000",
22015                feature = "cuda-12010",
22016                feature = "cuda-12020",
22017                feature = "cuda-12030",
22018                feature = "cuda-12040",
22019                feature = "cuda-12050",
22020                feature = "cuda-12060",
22021                feature = "cuda-12080",
22022                feature = "cuda-12090"
22023            ))]
22024            let cuMemPrefetchAsync = __library
22025                .get(b"cuMemPrefetchAsync\0")
22026                .map(|sym| *sym)
22027                .expect("Expected symbol in library");
22028            #[cfg(any(
22029                feature = "cuda-12020",
22030                feature = "cuda-12030",
22031                feature = "cuda-12040",
22032                feature = "cuda-12050",
22033                feature = "cuda-12060",
22034                feature = "cuda-12080",
22035                feature = "cuda-12090",
22036                feature = "cuda-13000"
22037            ))]
22038            let cuMemPrefetchAsync_v2 = __library
22039                .get(b"cuMemPrefetchAsync_v2\0")
22040                .map(|sym| *sym)
22041                .expect("Expected symbol in library");
22042            #[cfg(any(feature = "cuda-13000"))]
22043            let cuMemPrefetchBatchAsync = __library
22044                .get(b"cuMemPrefetchBatchAsync\0")
22045                .map(|sym| *sym)
22046                .expect("Expected symbol in library");
22047            let cuMemRangeGetAttribute = __library
22048                .get(b"cuMemRangeGetAttribute\0")
22049                .map(|sym| *sym)
22050                .expect("Expected symbol in library");
22051            let cuMemRangeGetAttributes = __library
22052                .get(b"cuMemRangeGetAttributes\0")
22053                .map(|sym| *sym)
22054                .expect("Expected symbol in library");
22055            let cuMemRelease = __library
22056                .get(b"cuMemRelease\0")
22057                .map(|sym| *sym)
22058                .expect("Expected symbol in library");
22059            let cuMemRetainAllocationHandle = __library
22060                .get(b"cuMemRetainAllocationHandle\0")
22061                .map(|sym| *sym)
22062                .expect("Expected symbol in library");
22063            let cuMemSetAccess = __library
22064                .get(b"cuMemSetAccess\0")
22065                .map(|sym| *sym)
22066                .expect("Expected symbol in library");
22067            #[cfg(any(feature = "cuda-13000"))]
22068            let cuMemSetMemPool = __library
22069                .get(b"cuMemSetMemPool\0")
22070                .map(|sym| *sym)
22071                .expect("Expected symbol in library");
22072            let cuMemUnmap = __library
22073                .get(b"cuMemUnmap\0")
22074                .map(|sym| *sym)
22075                .expect("Expected symbol in library");
22076            let cuMemcpy = __library
22077                .get(b"cuMemcpy\0")
22078                .map(|sym| *sym)
22079                .expect("Expected symbol in library");
22080            let cuMemcpy2DAsync_v2 = __library
22081                .get(b"cuMemcpy2DAsync_v2\0")
22082                .map(|sym| *sym)
22083                .expect("Expected symbol in library");
22084            let cuMemcpy2DUnaligned_v2 = __library
22085                .get(b"cuMemcpy2DUnaligned_v2\0")
22086                .map(|sym| *sym)
22087                .expect("Expected symbol in library");
22088            let cuMemcpy2D_v2 = __library
22089                .get(b"cuMemcpy2D_v2\0")
22090                .map(|sym| *sym)
22091                .expect("Expected symbol in library");
22092            let cuMemcpy3DAsync_v2 = __library
22093                .get(b"cuMemcpy3DAsync_v2\0")
22094                .map(|sym| *sym)
22095                .expect("Expected symbol in library");
22096            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
22097            let cuMemcpy3DBatchAsync = __library
22098                .get(b"cuMemcpy3DBatchAsync\0")
22099                .map(|sym| *sym)
22100                .expect("Expected symbol in library");
22101            #[cfg(any(feature = "cuda-13000"))]
22102            let cuMemcpy3DBatchAsync_v2 = __library
22103                .get(b"cuMemcpy3DBatchAsync_v2\0")
22104                .map(|sym| *sym)
22105                .expect("Expected symbol in library");
22106            let cuMemcpy3DPeer = __library
22107                .get(b"cuMemcpy3DPeer\0")
22108                .map(|sym| *sym)
22109                .expect("Expected symbol in library");
22110            let cuMemcpy3DPeerAsync = __library
22111                .get(b"cuMemcpy3DPeerAsync\0")
22112                .map(|sym| *sym)
22113                .expect("Expected symbol in library");
22114            let cuMemcpy3D_v2 = __library
22115                .get(b"cuMemcpy3D_v2\0")
22116                .map(|sym| *sym)
22117                .expect("Expected symbol in library");
22118            let cuMemcpyAsync = __library
22119                .get(b"cuMemcpyAsync\0")
22120                .map(|sym| *sym)
22121                .expect("Expected symbol in library");
22122            let cuMemcpyAtoA_v2 = __library
22123                .get(b"cuMemcpyAtoA_v2\0")
22124                .map(|sym| *sym)
22125                .expect("Expected symbol in library");
22126            let cuMemcpyAtoD_v2 = __library
22127                .get(b"cuMemcpyAtoD_v2\0")
22128                .map(|sym| *sym)
22129                .expect("Expected symbol in library");
22130            let cuMemcpyAtoHAsync_v2 = __library
22131                .get(b"cuMemcpyAtoHAsync_v2\0")
22132                .map(|sym| *sym)
22133                .expect("Expected symbol in library");
22134            let cuMemcpyAtoH_v2 = __library
22135                .get(b"cuMemcpyAtoH_v2\0")
22136                .map(|sym| *sym)
22137                .expect("Expected symbol in library");
22138            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
22139            let cuMemcpyBatchAsync = __library
22140                .get(b"cuMemcpyBatchAsync\0")
22141                .map(|sym| *sym)
22142                .expect("Expected symbol in library");
22143            #[cfg(any(feature = "cuda-13000"))]
22144            let cuMemcpyBatchAsync_v2 = __library
22145                .get(b"cuMemcpyBatchAsync_v2\0")
22146                .map(|sym| *sym)
22147                .expect("Expected symbol in library");
22148            let cuMemcpyDtoA_v2 = __library
22149                .get(b"cuMemcpyDtoA_v2\0")
22150                .map(|sym| *sym)
22151                .expect("Expected symbol in library");
22152            let cuMemcpyDtoDAsync_v2 = __library
22153                .get(b"cuMemcpyDtoDAsync_v2\0")
22154                .map(|sym| *sym)
22155                .expect("Expected symbol in library");
22156            let cuMemcpyDtoD_v2 = __library
22157                .get(b"cuMemcpyDtoD_v2\0")
22158                .map(|sym| *sym)
22159                .expect("Expected symbol in library");
22160            let cuMemcpyDtoHAsync_v2 = __library
22161                .get(b"cuMemcpyDtoHAsync_v2\0")
22162                .map(|sym| *sym)
22163                .expect("Expected symbol in library");
22164            let cuMemcpyDtoH_v2 = __library
22165                .get(b"cuMemcpyDtoH_v2\0")
22166                .map(|sym| *sym)
22167                .expect("Expected symbol in library");
22168            let cuMemcpyHtoAAsync_v2 = __library
22169                .get(b"cuMemcpyHtoAAsync_v2\0")
22170                .map(|sym| *sym)
22171                .expect("Expected symbol in library");
22172            let cuMemcpyHtoA_v2 = __library
22173                .get(b"cuMemcpyHtoA_v2\0")
22174                .map(|sym| *sym)
22175                .expect("Expected symbol in library");
22176            let cuMemcpyHtoDAsync_v2 = __library
22177                .get(b"cuMemcpyHtoDAsync_v2\0")
22178                .map(|sym| *sym)
22179                .expect("Expected symbol in library");
22180            let cuMemcpyHtoD_v2 = __library
22181                .get(b"cuMemcpyHtoD_v2\0")
22182                .map(|sym| *sym)
22183                .expect("Expected symbol in library");
22184            let cuMemcpyPeer = __library
22185                .get(b"cuMemcpyPeer\0")
22186                .map(|sym| *sym)
22187                .expect("Expected symbol in library");
22188            let cuMemcpyPeerAsync = __library
22189                .get(b"cuMemcpyPeerAsync\0")
22190                .map(|sym| *sym)
22191                .expect("Expected symbol in library");
22192            let cuMemsetD16Async = __library
22193                .get(b"cuMemsetD16Async\0")
22194                .map(|sym| *sym)
22195                .expect("Expected symbol in library");
22196            let cuMemsetD16_v2 = __library
22197                .get(b"cuMemsetD16_v2\0")
22198                .map(|sym| *sym)
22199                .expect("Expected symbol in library");
22200            let cuMemsetD2D16Async = __library
22201                .get(b"cuMemsetD2D16Async\0")
22202                .map(|sym| *sym)
22203                .expect("Expected symbol in library");
22204            let cuMemsetD2D16_v2 = __library
22205                .get(b"cuMemsetD2D16_v2\0")
22206                .map(|sym| *sym)
22207                .expect("Expected symbol in library");
22208            let cuMemsetD2D32Async = __library
22209                .get(b"cuMemsetD2D32Async\0")
22210                .map(|sym| *sym)
22211                .expect("Expected symbol in library");
22212            let cuMemsetD2D32_v2 = __library
22213                .get(b"cuMemsetD2D32_v2\0")
22214                .map(|sym| *sym)
22215                .expect("Expected symbol in library");
22216            let cuMemsetD2D8Async = __library
22217                .get(b"cuMemsetD2D8Async\0")
22218                .map(|sym| *sym)
22219                .expect("Expected symbol in library");
22220            let cuMemsetD2D8_v2 = __library
22221                .get(b"cuMemsetD2D8_v2\0")
22222                .map(|sym| *sym)
22223                .expect("Expected symbol in library");
22224            let cuMemsetD32Async = __library
22225                .get(b"cuMemsetD32Async\0")
22226                .map(|sym| *sym)
22227                .expect("Expected symbol in library");
22228            let cuMemsetD32_v2 = __library
22229                .get(b"cuMemsetD32_v2\0")
22230                .map(|sym| *sym)
22231                .expect("Expected symbol in library");
22232            let cuMemsetD8Async = __library
22233                .get(b"cuMemsetD8Async\0")
22234                .map(|sym| *sym)
22235                .expect("Expected symbol in library");
22236            let cuMemsetD8_v2 = __library
22237                .get(b"cuMemsetD8_v2\0")
22238                .map(|sym| *sym)
22239                .expect("Expected symbol in library");
22240            let cuMipmappedArrayCreate = __library
22241                .get(b"cuMipmappedArrayCreate\0")
22242                .map(|sym| *sym)
22243                .expect("Expected symbol in library");
22244            let cuMipmappedArrayDestroy = __library
22245                .get(b"cuMipmappedArrayDestroy\0")
22246                .map(|sym| *sym)
22247                .expect("Expected symbol in library");
22248            let cuMipmappedArrayGetLevel = __library
22249                .get(b"cuMipmappedArrayGetLevel\0")
22250                .map(|sym| *sym)
22251                .expect("Expected symbol in library");
22252            #[cfg(any(
22253                feature = "cuda-11060",
22254                feature = "cuda-11070",
22255                feature = "cuda-11080",
22256                feature = "cuda-12000",
22257                feature = "cuda-12010",
22258                feature = "cuda-12020",
22259                feature = "cuda-12030",
22260                feature = "cuda-12040",
22261                feature = "cuda-12050",
22262                feature = "cuda-12060",
22263                feature = "cuda-12080",
22264                feature = "cuda-12090",
22265                feature = "cuda-13000"
22266            ))]
22267            let cuMipmappedArrayGetMemoryRequirements = __library
22268                .get(b"cuMipmappedArrayGetMemoryRequirements\0")
22269                .map(|sym| *sym)
22270                .expect("Expected symbol in library");
22271            let cuMipmappedArrayGetSparseProperties = __library
22272                .get(b"cuMipmappedArrayGetSparseProperties\0")
22273                .map(|sym| *sym)
22274                .expect("Expected symbol in library");
22275            #[cfg(any(
22276                feature = "cuda-12040",
22277                feature = "cuda-12050",
22278                feature = "cuda-12060",
22279                feature = "cuda-12080",
22280                feature = "cuda-12090",
22281                feature = "cuda-13000"
22282            ))]
22283            let cuModuleEnumerateFunctions = __library
22284                .get(b"cuModuleEnumerateFunctions\0")
22285                .map(|sym| *sym)
22286                .expect("Expected symbol in library");
22287            let cuModuleGetFunction = __library
22288                .get(b"cuModuleGetFunction\0")
22289                .map(|sym| *sym)
22290                .expect("Expected symbol in library");
22291            #[cfg(any(
22292                feature = "cuda-12040",
22293                feature = "cuda-12050",
22294                feature = "cuda-12060",
22295                feature = "cuda-12080",
22296                feature = "cuda-12090",
22297                feature = "cuda-13000"
22298            ))]
22299            let cuModuleGetFunctionCount = __library
22300                .get(b"cuModuleGetFunctionCount\0")
22301                .map(|sym| *sym)
22302                .expect("Expected symbol in library");
22303            let cuModuleGetGlobal_v2 = __library
22304                .get(b"cuModuleGetGlobal_v2\0")
22305                .map(|sym| *sym)
22306                .expect("Expected symbol in library");
22307            #[cfg(any(
22308                feature = "cuda-11070",
22309                feature = "cuda-11080",
22310                feature = "cuda-12000",
22311                feature = "cuda-12010",
22312                feature = "cuda-12020",
22313                feature = "cuda-12030",
22314                feature = "cuda-12040",
22315                feature = "cuda-12050",
22316                feature = "cuda-12060",
22317                feature = "cuda-12080",
22318                feature = "cuda-12090",
22319                feature = "cuda-13000"
22320            ))]
22321            let cuModuleGetLoadingMode = __library
22322                .get(b"cuModuleGetLoadingMode\0")
22323                .map(|sym| *sym)
22324                .expect("Expected symbol in library");
22325            let cuModuleGetSurfRef = __library
22326                .get(b"cuModuleGetSurfRef\0")
22327                .map(|sym| *sym)
22328                .expect("Expected symbol in library");
22329            let cuModuleGetTexRef = __library
22330                .get(b"cuModuleGetTexRef\0")
22331                .map(|sym| *sym)
22332                .expect("Expected symbol in library");
22333            let cuModuleLoad = __library
22334                .get(b"cuModuleLoad\0")
22335                .map(|sym| *sym)
22336                .expect("Expected symbol in library");
22337            let cuModuleLoadData = __library
22338                .get(b"cuModuleLoadData\0")
22339                .map(|sym| *sym)
22340                .expect("Expected symbol in library");
22341            let cuModuleLoadDataEx = __library
22342                .get(b"cuModuleLoadDataEx\0")
22343                .map(|sym| *sym)
22344                .expect("Expected symbol in library");
22345            let cuModuleLoadFatBinary = __library
22346                .get(b"cuModuleLoadFatBinary\0")
22347                .map(|sym| *sym)
22348                .expect("Expected symbol in library");
22349            let cuModuleUnload = __library
22350                .get(b"cuModuleUnload\0")
22351                .map(|sym| *sym)
22352                .expect("Expected symbol in library");
22353            #[cfg(any(
22354                feature = "cuda-12010",
22355                feature = "cuda-12020",
22356                feature = "cuda-12030",
22357                feature = "cuda-12040",
22358                feature = "cuda-12050",
22359                feature = "cuda-12060",
22360                feature = "cuda-12080",
22361                feature = "cuda-12090",
22362                feature = "cuda-13000"
22363            ))]
22364            let cuMulticastAddDevice = __library
22365                .get(b"cuMulticastAddDevice\0")
22366                .map(|sym| *sym)
22367                .expect("Expected symbol in library");
22368            #[cfg(any(
22369                feature = "cuda-12010",
22370                feature = "cuda-12020",
22371                feature = "cuda-12030",
22372                feature = "cuda-12040",
22373                feature = "cuda-12050",
22374                feature = "cuda-12060",
22375                feature = "cuda-12080",
22376                feature = "cuda-12090",
22377                feature = "cuda-13000"
22378            ))]
22379            let cuMulticastBindAddr = __library
22380                .get(b"cuMulticastBindAddr\0")
22381                .map(|sym| *sym)
22382                .expect("Expected symbol in library");
22383            #[cfg(any(
22384                feature = "cuda-12010",
22385                feature = "cuda-12020",
22386                feature = "cuda-12030",
22387                feature = "cuda-12040",
22388                feature = "cuda-12050",
22389                feature = "cuda-12060",
22390                feature = "cuda-12080",
22391                feature = "cuda-12090",
22392                feature = "cuda-13000"
22393            ))]
22394            let cuMulticastBindMem = __library
22395                .get(b"cuMulticastBindMem\0")
22396                .map(|sym| *sym)
22397                .expect("Expected symbol in library");
22398            #[cfg(any(
22399                feature = "cuda-12010",
22400                feature = "cuda-12020",
22401                feature = "cuda-12030",
22402                feature = "cuda-12040",
22403                feature = "cuda-12050",
22404                feature = "cuda-12060",
22405                feature = "cuda-12080",
22406                feature = "cuda-12090",
22407                feature = "cuda-13000"
22408            ))]
22409            let cuMulticastCreate = __library
22410                .get(b"cuMulticastCreate\0")
22411                .map(|sym| *sym)
22412                .expect("Expected symbol in library");
22413            #[cfg(any(
22414                feature = "cuda-12010",
22415                feature = "cuda-12020",
22416                feature = "cuda-12030",
22417                feature = "cuda-12040",
22418                feature = "cuda-12050",
22419                feature = "cuda-12060",
22420                feature = "cuda-12080",
22421                feature = "cuda-12090",
22422                feature = "cuda-13000"
22423            ))]
22424            let cuMulticastGetGranularity = __library
22425                .get(b"cuMulticastGetGranularity\0")
22426                .map(|sym| *sym)
22427                .expect("Expected symbol in library");
22428            #[cfg(any(
22429                feature = "cuda-12010",
22430                feature = "cuda-12020",
22431                feature = "cuda-12030",
22432                feature = "cuda-12040",
22433                feature = "cuda-12050",
22434                feature = "cuda-12060",
22435                feature = "cuda-12080",
22436                feature = "cuda-12090",
22437                feature = "cuda-13000"
22438            ))]
22439            let cuMulticastUnbind = __library
22440                .get(b"cuMulticastUnbind\0")
22441                .map(|sym| *sym)
22442                .expect("Expected symbol in library");
22443            let cuOccupancyAvailableDynamicSMemPerBlock = __library
22444                .get(b"cuOccupancyAvailableDynamicSMemPerBlock\0")
22445                .map(|sym| *sym)
22446                .expect("Expected symbol in library");
22447            let cuOccupancyMaxActiveBlocksPerMultiprocessor = __library
22448                .get(b"cuOccupancyMaxActiveBlocksPerMultiprocessor\0")
22449                .map(|sym| *sym)
22450                .expect("Expected symbol in library");
22451            let cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags = __library
22452                .get(b"cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\0")
22453                .map(|sym| *sym)
22454                .expect("Expected symbol in library");
22455            #[cfg(any(
22456                feature = "cuda-11080",
22457                feature = "cuda-12000",
22458                feature = "cuda-12010",
22459                feature = "cuda-12020",
22460                feature = "cuda-12030",
22461                feature = "cuda-12040",
22462                feature = "cuda-12050",
22463                feature = "cuda-12060",
22464                feature = "cuda-12080",
22465                feature = "cuda-12090",
22466                feature = "cuda-13000"
22467            ))]
22468            let cuOccupancyMaxActiveClusters = __library
22469                .get(b"cuOccupancyMaxActiveClusters\0")
22470                .map(|sym| *sym)
22471                .expect("Expected symbol in library");
22472            let cuOccupancyMaxPotentialBlockSize = __library
22473                .get(b"cuOccupancyMaxPotentialBlockSize\0")
22474                .map(|sym| *sym)
22475                .expect("Expected symbol in library");
22476            let cuOccupancyMaxPotentialBlockSizeWithFlags = __library
22477                .get(b"cuOccupancyMaxPotentialBlockSizeWithFlags\0")
22478                .map(|sym| *sym)
22479                .expect("Expected symbol in library");
22480            #[cfg(any(
22481                feature = "cuda-11080",
22482                feature = "cuda-12000",
22483                feature = "cuda-12010",
22484                feature = "cuda-12020",
22485                feature = "cuda-12030",
22486                feature = "cuda-12040",
22487                feature = "cuda-12050",
22488                feature = "cuda-12060",
22489                feature = "cuda-12080",
22490                feature = "cuda-12090",
22491                feature = "cuda-13000"
22492            ))]
22493            let cuOccupancyMaxPotentialClusterSize = __library
22494                .get(b"cuOccupancyMaxPotentialClusterSize\0")
22495                .map(|sym| *sym)
22496                .expect("Expected symbol in library");
22497            let cuParamSetSize = __library
22498                .get(b"cuParamSetSize\0")
22499                .map(|sym| *sym)
22500                .expect("Expected symbol in library");
22501            let cuParamSetTexRef = __library
22502                .get(b"cuParamSetTexRef\0")
22503                .map(|sym| *sym)
22504                .expect("Expected symbol in library");
22505            let cuParamSetf = __library
22506                .get(b"cuParamSetf\0")
22507                .map(|sym| *sym)
22508                .expect("Expected symbol in library");
22509            let cuParamSeti = __library
22510                .get(b"cuParamSeti\0")
22511                .map(|sym| *sym)
22512                .expect("Expected symbol in library");
22513            let cuParamSetv = __library
22514                .get(b"cuParamSetv\0")
22515                .map(|sym| *sym)
22516                .expect("Expected symbol in library");
22517            let cuPointerGetAttribute = __library
22518                .get(b"cuPointerGetAttribute\0")
22519                .map(|sym| *sym)
22520                .expect("Expected symbol in library");
22521            let cuPointerGetAttributes = __library
22522                .get(b"cuPointerGetAttributes\0")
22523                .map(|sym| *sym)
22524                .expect("Expected symbol in library");
22525            let cuPointerSetAttribute = __library
22526                .get(b"cuPointerSetAttribute\0")
22527                .map(|sym| *sym)
22528                .expect("Expected symbol in library");
22529            let cuProfilerInitialize = __library
22530                .get(b"cuProfilerInitialize\0")
22531                .map(|sym| *sym)
22532                .expect("Expected symbol in library");
22533            let cuProfilerStart = __library
22534                .get(b"cuProfilerStart\0")
22535                .map(|sym| *sym)
22536                .expect("Expected symbol in library");
22537            let cuProfilerStop = __library
22538                .get(b"cuProfilerStop\0")
22539                .map(|sym| *sym)
22540                .expect("Expected symbol in library");
22541            let cuSignalExternalSemaphoresAsync = __library
22542                .get(b"cuSignalExternalSemaphoresAsync\0")
22543                .map(|sym| *sym)
22544                .expect("Expected symbol in library");
22545            let cuStreamAddCallback = __library
22546                .get(b"cuStreamAddCallback\0")
22547                .map(|sym| *sym)
22548                .expect("Expected symbol in library");
22549            let cuStreamAttachMemAsync = __library
22550                .get(b"cuStreamAttachMemAsync\0")
22551                .map(|sym| *sym)
22552                .expect("Expected symbol in library");
22553            #[cfg(any(
22554                feature = "cuda-11040",
22555                feature = "cuda-11050",
22556                feature = "cuda-11060",
22557                feature = "cuda-11070",
22558                feature = "cuda-11080"
22559            ))]
22560            let cuStreamBatchMemOp = __library
22561                .get(b"cuStreamBatchMemOp\0")
22562                .map(|sym| *sym)
22563                .expect("Expected symbol in library");
22564            #[cfg(any(
22565                feature = "cuda-11070",
22566                feature = "cuda-11080",
22567                feature = "cuda-12000",
22568                feature = "cuda-12010",
22569                feature = "cuda-12020",
22570                feature = "cuda-12030",
22571                feature = "cuda-12040",
22572                feature = "cuda-12050",
22573                feature = "cuda-12060",
22574                feature = "cuda-12080",
22575                feature = "cuda-12090",
22576                feature = "cuda-13000"
22577            ))]
22578            let cuStreamBatchMemOp_v2 = __library
22579                .get(b"cuStreamBatchMemOp_v2\0")
22580                .map(|sym| *sym)
22581                .expect("Expected symbol in library");
22582            #[cfg(any(
22583                feature = "cuda-12030",
22584                feature = "cuda-12040",
22585                feature = "cuda-12050",
22586                feature = "cuda-12060",
22587                feature = "cuda-12080",
22588                feature = "cuda-12090",
22589                feature = "cuda-13000"
22590            ))]
22591            let cuStreamBeginCaptureToGraph = __library
22592                .get(b"cuStreamBeginCaptureToGraph\0")
22593                .map(|sym| *sym)
22594                .expect("Expected symbol in library");
22595            let cuStreamBeginCapture_v2 = __library
22596                .get(b"cuStreamBeginCapture_v2\0")
22597                .map(|sym| *sym)
22598                .expect("Expected symbol in library");
22599            let cuStreamCopyAttributes = __library
22600                .get(b"cuStreamCopyAttributes\0")
22601                .map(|sym| *sym)
22602                .expect("Expected symbol in library");
22603            let cuStreamCreate = __library
22604                .get(b"cuStreamCreate\0")
22605                .map(|sym| *sym)
22606                .expect("Expected symbol in library");
22607            let cuStreamCreateWithPriority = __library
22608                .get(b"cuStreamCreateWithPriority\0")
22609                .map(|sym| *sym)
22610                .expect("Expected symbol in library");
22611            let cuStreamDestroy_v2 = __library
22612                .get(b"cuStreamDestroy_v2\0")
22613                .map(|sym| *sym)
22614                .expect("Expected symbol in library");
22615            let cuStreamEndCapture = __library
22616                .get(b"cuStreamEndCapture\0")
22617                .map(|sym| *sym)
22618                .expect("Expected symbol in library");
22619            let cuStreamGetAttribute = __library
22620                .get(b"cuStreamGetAttribute\0")
22621                .map(|sym| *sym)
22622                .expect("Expected symbol in library");
22623            #[cfg(any(
22624                feature = "cuda-11040",
22625                feature = "cuda-11050",
22626                feature = "cuda-11060",
22627                feature = "cuda-11070",
22628                feature = "cuda-11080"
22629            ))]
22630            let cuStreamGetCaptureInfo = __library
22631                .get(b"cuStreamGetCaptureInfo\0")
22632                .map(|sym| *sym)
22633                .expect("Expected symbol in library");
22634            #[cfg(any(
22635                feature = "cuda-11040",
22636                feature = "cuda-11050",
22637                feature = "cuda-11060",
22638                feature = "cuda-11070",
22639                feature = "cuda-11080",
22640                feature = "cuda-12000",
22641                feature = "cuda-12010",
22642                feature = "cuda-12020",
22643                feature = "cuda-12030",
22644                feature = "cuda-12040",
22645                feature = "cuda-12050",
22646                feature = "cuda-12060",
22647                feature = "cuda-12080",
22648                feature = "cuda-12090"
22649            ))]
22650            let cuStreamGetCaptureInfo_v2 = __library
22651                .get(b"cuStreamGetCaptureInfo_v2\0")
22652                .map(|sym| *sym)
22653                .expect("Expected symbol in library");
22654            #[cfg(any(
22655                feature = "cuda-12030",
22656                feature = "cuda-12040",
22657                feature = "cuda-12050",
22658                feature = "cuda-12060",
22659                feature = "cuda-12080",
22660                feature = "cuda-12090",
22661                feature = "cuda-13000"
22662            ))]
22663            let cuStreamGetCaptureInfo_v3 = __library
22664                .get(b"cuStreamGetCaptureInfo_v3\0")
22665                .map(|sym| *sym)
22666                .expect("Expected symbol in library");
22667            let cuStreamGetCtx = __library
22668                .get(b"cuStreamGetCtx\0")
22669                .map(|sym| *sym)
22670                .expect("Expected symbol in library");
22671            #[cfg(any(
22672                feature = "cuda-12050",
22673                feature = "cuda-12060",
22674                feature = "cuda-12080",
22675                feature = "cuda-12090",
22676                feature = "cuda-13000"
22677            ))]
22678            let cuStreamGetCtx_v2 = __library
22679                .get(b"cuStreamGetCtx_v2\0")
22680                .map(|sym| *sym)
22681                .expect("Expected symbol in library");
22682            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
22683            let cuStreamGetDevice = __library
22684                .get(b"cuStreamGetDevice\0")
22685                .map(|sym| *sym)
22686                .expect("Expected symbol in library");
22687            let cuStreamGetFlags = __library
22688                .get(b"cuStreamGetFlags\0")
22689                .map(|sym| *sym)
22690                .expect("Expected symbol in library");
22691            #[cfg(any(
22692                feature = "cuda-12040",
22693                feature = "cuda-12050",
22694                feature = "cuda-12060",
22695                feature = "cuda-12080",
22696                feature = "cuda-12090",
22697                feature = "cuda-13000"
22698            ))]
22699            let cuStreamGetGreenCtx = __library
22700                .get(b"cuStreamGetGreenCtx\0")
22701                .map(|sym| *sym)
22702                .expect("Expected symbol in library");
22703            #[cfg(any(
22704                feature = "cuda-12000",
22705                feature = "cuda-12010",
22706                feature = "cuda-12020",
22707                feature = "cuda-12030",
22708                feature = "cuda-12040",
22709                feature = "cuda-12050",
22710                feature = "cuda-12060",
22711                feature = "cuda-12080",
22712                feature = "cuda-12090",
22713                feature = "cuda-13000"
22714            ))]
22715            let cuStreamGetId = __library
22716                .get(b"cuStreamGetId\0")
22717                .map(|sym| *sym)
22718                .expect("Expected symbol in library");
22719            let cuStreamGetPriority = __library
22720                .get(b"cuStreamGetPriority\0")
22721                .map(|sym| *sym)
22722                .expect("Expected symbol in library");
22723            let cuStreamIsCapturing = __library
22724                .get(b"cuStreamIsCapturing\0")
22725                .map(|sym| *sym)
22726                .expect("Expected symbol in library");
22727            let cuStreamQuery = __library
22728                .get(b"cuStreamQuery\0")
22729                .map(|sym| *sym)
22730                .expect("Expected symbol in library");
22731            let cuStreamSetAttribute = __library
22732                .get(b"cuStreamSetAttribute\0")
22733                .map(|sym| *sym)
22734                .expect("Expected symbol in library");
22735            let cuStreamSynchronize = __library
22736                .get(b"cuStreamSynchronize\0")
22737                .map(|sym| *sym)
22738                .expect("Expected symbol in library");
22739            #[cfg(any(
22740                feature = "cuda-11040",
22741                feature = "cuda-11050",
22742                feature = "cuda-11060",
22743                feature = "cuda-11070",
22744                feature = "cuda-11080",
22745                feature = "cuda-12000",
22746                feature = "cuda-12010",
22747                feature = "cuda-12020",
22748                feature = "cuda-12030",
22749                feature = "cuda-12040",
22750                feature = "cuda-12050",
22751                feature = "cuda-12060",
22752                feature = "cuda-12080",
22753                feature = "cuda-12090"
22754            ))]
22755            let cuStreamUpdateCaptureDependencies = __library
22756                .get(b"cuStreamUpdateCaptureDependencies\0")
22757                .map(|sym| *sym)
22758                .expect("Expected symbol in library");
22759            #[cfg(any(
22760                feature = "cuda-12030",
22761                feature = "cuda-12040",
22762                feature = "cuda-12050",
22763                feature = "cuda-12060",
22764                feature = "cuda-12080",
22765                feature = "cuda-12090",
22766                feature = "cuda-13000"
22767            ))]
22768            let cuStreamUpdateCaptureDependencies_v2 = __library
22769                .get(b"cuStreamUpdateCaptureDependencies_v2\0")
22770                .map(|sym| *sym)
22771                .expect("Expected symbol in library");
22772            let cuStreamWaitEvent = __library
22773                .get(b"cuStreamWaitEvent\0")
22774                .map(|sym| *sym)
22775                .expect("Expected symbol in library");
22776            #[cfg(any(
22777                feature = "cuda-11040",
22778                feature = "cuda-11050",
22779                feature = "cuda-11060",
22780                feature = "cuda-11070",
22781                feature = "cuda-11080"
22782            ))]
22783            let cuStreamWaitValue32 = __library
22784                .get(b"cuStreamWaitValue32\0")
22785                .map(|sym| *sym)
22786                .expect("Expected symbol in library");
22787            #[cfg(any(
22788                feature = "cuda-11070",
22789                feature = "cuda-11080",
22790                feature = "cuda-12000",
22791                feature = "cuda-12010",
22792                feature = "cuda-12020",
22793                feature = "cuda-12030",
22794                feature = "cuda-12040",
22795                feature = "cuda-12050",
22796                feature = "cuda-12060",
22797                feature = "cuda-12080",
22798                feature = "cuda-12090",
22799                feature = "cuda-13000"
22800            ))]
22801            let cuStreamWaitValue32_v2 = __library
22802                .get(b"cuStreamWaitValue32_v2\0")
22803                .map(|sym| *sym)
22804                .expect("Expected symbol in library");
22805            #[cfg(any(
22806                feature = "cuda-11040",
22807                feature = "cuda-11050",
22808                feature = "cuda-11060",
22809                feature = "cuda-11070",
22810                feature = "cuda-11080"
22811            ))]
22812            let cuStreamWaitValue64 = __library
22813                .get(b"cuStreamWaitValue64\0")
22814                .map(|sym| *sym)
22815                .expect("Expected symbol in library");
22816            #[cfg(any(
22817                feature = "cuda-11070",
22818                feature = "cuda-11080",
22819                feature = "cuda-12000",
22820                feature = "cuda-12010",
22821                feature = "cuda-12020",
22822                feature = "cuda-12030",
22823                feature = "cuda-12040",
22824                feature = "cuda-12050",
22825                feature = "cuda-12060",
22826                feature = "cuda-12080",
22827                feature = "cuda-12090",
22828                feature = "cuda-13000"
22829            ))]
22830            let cuStreamWaitValue64_v2 = __library
22831                .get(b"cuStreamWaitValue64_v2\0")
22832                .map(|sym| *sym)
22833                .expect("Expected symbol in library");
22834            #[cfg(any(
22835                feature = "cuda-11040",
22836                feature = "cuda-11050",
22837                feature = "cuda-11060",
22838                feature = "cuda-11070",
22839                feature = "cuda-11080"
22840            ))]
22841            let cuStreamWriteValue32 = __library
22842                .get(b"cuStreamWriteValue32\0")
22843                .map(|sym| *sym)
22844                .expect("Expected symbol in library");
22845            #[cfg(any(
22846                feature = "cuda-11070",
22847                feature = "cuda-11080",
22848                feature = "cuda-12000",
22849                feature = "cuda-12010",
22850                feature = "cuda-12020",
22851                feature = "cuda-12030",
22852                feature = "cuda-12040",
22853                feature = "cuda-12050",
22854                feature = "cuda-12060",
22855                feature = "cuda-12080",
22856                feature = "cuda-12090",
22857                feature = "cuda-13000"
22858            ))]
22859            let cuStreamWriteValue32_v2 = __library
22860                .get(b"cuStreamWriteValue32_v2\0")
22861                .map(|sym| *sym)
22862                .expect("Expected symbol in library");
22863            #[cfg(any(
22864                feature = "cuda-11040",
22865                feature = "cuda-11050",
22866                feature = "cuda-11060",
22867                feature = "cuda-11070",
22868                feature = "cuda-11080"
22869            ))]
22870            let cuStreamWriteValue64 = __library
22871                .get(b"cuStreamWriteValue64\0")
22872                .map(|sym| *sym)
22873                .expect("Expected symbol in library");
22874            #[cfg(any(
22875                feature = "cuda-11070",
22876                feature = "cuda-11080",
22877                feature = "cuda-12000",
22878                feature = "cuda-12010",
22879                feature = "cuda-12020",
22880                feature = "cuda-12030",
22881                feature = "cuda-12040",
22882                feature = "cuda-12050",
22883                feature = "cuda-12060",
22884                feature = "cuda-12080",
22885                feature = "cuda-12090",
22886                feature = "cuda-13000"
22887            ))]
22888            let cuStreamWriteValue64_v2 = __library
22889                .get(b"cuStreamWriteValue64_v2\0")
22890                .map(|sym| *sym)
22891                .expect("Expected symbol in library");
22892            let cuSurfObjectCreate = __library
22893                .get(b"cuSurfObjectCreate\0")
22894                .map(|sym| *sym)
22895                .expect("Expected symbol in library");
22896            let cuSurfObjectDestroy = __library
22897                .get(b"cuSurfObjectDestroy\0")
22898                .map(|sym| *sym)
22899                .expect("Expected symbol in library");
22900            let cuSurfObjectGetResourceDesc = __library
22901                .get(b"cuSurfObjectGetResourceDesc\0")
22902                .map(|sym| *sym)
22903                .expect("Expected symbol in library");
22904            let cuSurfRefGetArray = __library
22905                .get(b"cuSurfRefGetArray\0")
22906                .map(|sym| *sym)
22907                .expect("Expected symbol in library");
22908            let cuSurfRefSetArray = __library
22909                .get(b"cuSurfRefSetArray\0")
22910                .map(|sym| *sym)
22911                .expect("Expected symbol in library");
22912            #[cfg(any(
22913                feature = "cuda-12000",
22914                feature = "cuda-12010",
22915                feature = "cuda-12020",
22916                feature = "cuda-12030",
22917                feature = "cuda-12040",
22918                feature = "cuda-12050",
22919                feature = "cuda-12060",
22920                feature = "cuda-12080",
22921                feature = "cuda-12090",
22922                feature = "cuda-13000"
22923            ))]
22924            let cuTensorMapEncodeIm2col = __library
22925                .get(b"cuTensorMapEncodeIm2col\0")
22926                .map(|sym| *sym)
22927                .expect("Expected symbol in library");
22928            #[cfg(any(feature = "cuda-12080", feature = "cuda-12090", feature = "cuda-13000"))]
22929            let cuTensorMapEncodeIm2colWide = __library
22930                .get(b"cuTensorMapEncodeIm2colWide\0")
22931                .map(|sym| *sym)
22932                .expect("Expected symbol in library");
22933            #[cfg(any(
22934                feature = "cuda-12000",
22935                feature = "cuda-12010",
22936                feature = "cuda-12020",
22937                feature = "cuda-12030",
22938                feature = "cuda-12040",
22939                feature = "cuda-12050",
22940                feature = "cuda-12060",
22941                feature = "cuda-12080",
22942                feature = "cuda-12090",
22943                feature = "cuda-13000"
22944            ))]
22945            let cuTensorMapEncodeTiled = __library
22946                .get(b"cuTensorMapEncodeTiled\0")
22947                .map(|sym| *sym)
22948                .expect("Expected symbol in library");
22949            #[cfg(any(
22950                feature = "cuda-12000",
22951                feature = "cuda-12010",
22952                feature = "cuda-12020",
22953                feature = "cuda-12030",
22954                feature = "cuda-12040",
22955                feature = "cuda-12050",
22956                feature = "cuda-12060",
22957                feature = "cuda-12080",
22958                feature = "cuda-12090",
22959                feature = "cuda-13000"
22960            ))]
22961            let cuTensorMapReplaceAddress = __library
22962                .get(b"cuTensorMapReplaceAddress\0")
22963                .map(|sym| *sym)
22964                .expect("Expected symbol in library");
22965            let cuTexObjectCreate = __library
22966                .get(b"cuTexObjectCreate\0")
22967                .map(|sym| *sym)
22968                .expect("Expected symbol in library");
22969            let cuTexObjectDestroy = __library
22970                .get(b"cuTexObjectDestroy\0")
22971                .map(|sym| *sym)
22972                .expect("Expected symbol in library");
22973            let cuTexObjectGetResourceDesc = __library
22974                .get(b"cuTexObjectGetResourceDesc\0")
22975                .map(|sym| *sym)
22976                .expect("Expected symbol in library");
22977            let cuTexObjectGetResourceViewDesc = __library
22978                .get(b"cuTexObjectGetResourceViewDesc\0")
22979                .map(|sym| *sym)
22980                .expect("Expected symbol in library");
22981            let cuTexObjectGetTextureDesc = __library
22982                .get(b"cuTexObjectGetTextureDesc\0")
22983                .map(|sym| *sym)
22984                .expect("Expected symbol in library");
22985            let cuTexRefCreate = __library
22986                .get(b"cuTexRefCreate\0")
22987                .map(|sym| *sym)
22988                .expect("Expected symbol in library");
22989            let cuTexRefDestroy = __library
22990                .get(b"cuTexRefDestroy\0")
22991                .map(|sym| *sym)
22992                .expect("Expected symbol in library");
22993            let cuTexRefGetAddressMode = __library
22994                .get(b"cuTexRefGetAddressMode\0")
22995                .map(|sym| *sym)
22996                .expect("Expected symbol in library");
22997            let cuTexRefGetAddress_v2 = __library
22998                .get(b"cuTexRefGetAddress_v2\0")
22999                .map(|sym| *sym)
23000                .expect("Expected symbol in library");
23001            let cuTexRefGetArray = __library
23002                .get(b"cuTexRefGetArray\0")
23003                .map(|sym| *sym)
23004                .expect("Expected symbol in library");
23005            let cuTexRefGetBorderColor = __library
23006                .get(b"cuTexRefGetBorderColor\0")
23007                .map(|sym| *sym)
23008                .expect("Expected symbol in library");
23009            let cuTexRefGetFilterMode = __library
23010                .get(b"cuTexRefGetFilterMode\0")
23011                .map(|sym| *sym)
23012                .expect("Expected symbol in library");
23013            let cuTexRefGetFlags = __library
23014                .get(b"cuTexRefGetFlags\0")
23015                .map(|sym| *sym)
23016                .expect("Expected symbol in library");
23017            let cuTexRefGetFormat = __library
23018                .get(b"cuTexRefGetFormat\0")
23019                .map(|sym| *sym)
23020                .expect("Expected symbol in library");
23021            let cuTexRefGetMaxAnisotropy = __library
23022                .get(b"cuTexRefGetMaxAnisotropy\0")
23023                .map(|sym| *sym)
23024                .expect("Expected symbol in library");
23025            let cuTexRefGetMipmapFilterMode = __library
23026                .get(b"cuTexRefGetMipmapFilterMode\0")
23027                .map(|sym| *sym)
23028                .expect("Expected symbol in library");
23029            let cuTexRefGetMipmapLevelBias = __library
23030                .get(b"cuTexRefGetMipmapLevelBias\0")
23031                .map(|sym| *sym)
23032                .expect("Expected symbol in library");
23033            let cuTexRefGetMipmapLevelClamp = __library
23034                .get(b"cuTexRefGetMipmapLevelClamp\0")
23035                .map(|sym| *sym)
23036                .expect("Expected symbol in library");
23037            let cuTexRefGetMipmappedArray = __library
23038                .get(b"cuTexRefGetMipmappedArray\0")
23039                .map(|sym| *sym)
23040                .expect("Expected symbol in library");
23041            let cuTexRefSetAddress2D_v3 = __library
23042                .get(b"cuTexRefSetAddress2D_v3\0")
23043                .map(|sym| *sym)
23044                .expect("Expected symbol in library");
23045            let cuTexRefSetAddressMode = __library
23046                .get(b"cuTexRefSetAddressMode\0")
23047                .map(|sym| *sym)
23048                .expect("Expected symbol in library");
23049            let cuTexRefSetAddress_v2 = __library
23050                .get(b"cuTexRefSetAddress_v2\0")
23051                .map(|sym| *sym)
23052                .expect("Expected symbol in library");
23053            let cuTexRefSetArray = __library
23054                .get(b"cuTexRefSetArray\0")
23055                .map(|sym| *sym)
23056                .expect("Expected symbol in library");
23057            let cuTexRefSetBorderColor = __library
23058                .get(b"cuTexRefSetBorderColor\0")
23059                .map(|sym| *sym)
23060                .expect("Expected symbol in library");
23061            let cuTexRefSetFilterMode = __library
23062                .get(b"cuTexRefSetFilterMode\0")
23063                .map(|sym| *sym)
23064                .expect("Expected symbol in library");
23065            let cuTexRefSetFlags = __library
23066                .get(b"cuTexRefSetFlags\0")
23067                .map(|sym| *sym)
23068                .expect("Expected symbol in library");
23069            let cuTexRefSetFormat = __library
23070                .get(b"cuTexRefSetFormat\0")
23071                .map(|sym| *sym)
23072                .expect("Expected symbol in library");
23073            let cuTexRefSetMaxAnisotropy = __library
23074                .get(b"cuTexRefSetMaxAnisotropy\0")
23075                .map(|sym| *sym)
23076                .expect("Expected symbol in library");
23077            let cuTexRefSetMipmapFilterMode = __library
23078                .get(b"cuTexRefSetMipmapFilterMode\0")
23079                .map(|sym| *sym)
23080                .expect("Expected symbol in library");
23081            let cuTexRefSetMipmapLevelBias = __library
23082                .get(b"cuTexRefSetMipmapLevelBias\0")
23083                .map(|sym| *sym)
23084                .expect("Expected symbol in library");
23085            let cuTexRefSetMipmapLevelClamp = __library
23086                .get(b"cuTexRefSetMipmapLevelClamp\0")
23087                .map(|sym| *sym)
23088                .expect("Expected symbol in library");
23089            let cuTexRefSetMipmappedArray = __library
23090                .get(b"cuTexRefSetMipmappedArray\0")
23091                .map(|sym| *sym)
23092                .expect("Expected symbol in library");
23093            let cuThreadExchangeStreamCaptureMode = __library
23094                .get(b"cuThreadExchangeStreamCaptureMode\0")
23095                .map(|sym| *sym)
23096                .expect("Expected symbol in library");
23097            let cuUserObjectCreate = __library
23098                .get(b"cuUserObjectCreate\0")
23099                .map(|sym| *sym)
23100                .expect("Expected symbol in library");
23101            let cuUserObjectRelease = __library
23102                .get(b"cuUserObjectRelease\0")
23103                .map(|sym| *sym)
23104                .expect("Expected symbol in library");
23105            let cuUserObjectRetain = __library
23106                .get(b"cuUserObjectRetain\0")
23107                .map(|sym| *sym)
23108                .expect("Expected symbol in library");
23109            let cuWaitExternalSemaphoresAsync = __library
23110                .get(b"cuWaitExternalSemaphoresAsync\0")
23111                .map(|sym| *sym)
23112                .expect("Expected symbol in library");
23113            Ok(Self {
23114                __library,
23115                cuArray3DCreate_v2,
23116                cuArray3DGetDescriptor_v2,
23117                cuArrayCreate_v2,
23118                cuArrayDestroy,
23119                cuArrayGetDescriptor_v2,
23120                #[cfg(any(
23121                    feature = "cuda-11060",
23122                    feature = "cuda-11070",
23123                    feature = "cuda-11080",
23124                    feature = "cuda-12000",
23125                    feature = "cuda-12010",
23126                    feature = "cuda-12020",
23127                    feature = "cuda-12030",
23128                    feature = "cuda-12040",
23129                    feature = "cuda-12050",
23130                    feature = "cuda-12060",
23131                    feature = "cuda-12080",
23132                    feature = "cuda-12090",
23133                    feature = "cuda-13000"
23134                ))]
23135                cuArrayGetMemoryRequirements,
23136                cuArrayGetPlane,
23137                cuArrayGetSparseProperties,
23138                #[cfg(any(
23139                    feature = "cuda-12010",
23140                    feature = "cuda-12020",
23141                    feature = "cuda-12030",
23142                    feature = "cuda-12040",
23143                    feature = "cuda-12050",
23144                    feature = "cuda-12060",
23145                    feature = "cuda-12080",
23146                    feature = "cuda-12090",
23147                    feature = "cuda-13000"
23148                ))]
23149                cuCoredumpGetAttribute,
23150                #[cfg(any(
23151                    feature = "cuda-12010",
23152                    feature = "cuda-12020",
23153                    feature = "cuda-12030",
23154                    feature = "cuda-12040",
23155                    feature = "cuda-12050",
23156                    feature = "cuda-12060",
23157                    feature = "cuda-12080",
23158                    feature = "cuda-12090",
23159                    feature = "cuda-13000"
23160                ))]
23161                cuCoredumpGetAttributeGlobal,
23162                #[cfg(any(
23163                    feature = "cuda-12010",
23164                    feature = "cuda-12020",
23165                    feature = "cuda-12030",
23166                    feature = "cuda-12040",
23167                    feature = "cuda-12050",
23168                    feature = "cuda-12060",
23169                    feature = "cuda-12080",
23170                    feature = "cuda-12090",
23171                    feature = "cuda-13000"
23172                ))]
23173                cuCoredumpSetAttribute,
23174                #[cfg(any(
23175                    feature = "cuda-12010",
23176                    feature = "cuda-12020",
23177                    feature = "cuda-12030",
23178                    feature = "cuda-12040",
23179                    feature = "cuda-12050",
23180                    feature = "cuda-12060",
23181                    feature = "cuda-12080",
23182                    feature = "cuda-12090",
23183                    feature = "cuda-13000"
23184                ))]
23185                cuCoredumpSetAttributeGlobal,
23186                cuCtxAttach,
23187                #[cfg(any(
23188                    feature = "cuda-11040",
23189                    feature = "cuda-11050",
23190                    feature = "cuda-11060",
23191                    feature = "cuda-11070",
23192                    feature = "cuda-11080",
23193                    feature = "cuda-12000",
23194                    feature = "cuda-12010",
23195                    feature = "cuda-12020",
23196                    feature = "cuda-12030",
23197                    feature = "cuda-12040",
23198                    feature = "cuda-12050",
23199                    feature = "cuda-12060",
23200                    feature = "cuda-12080",
23201                    feature = "cuda-12090"
23202                ))]
23203                cuCtxCreate_v2,
23204                #[cfg(any(
23205                    feature = "cuda-11040",
23206                    feature = "cuda-11050",
23207                    feature = "cuda-11060",
23208                    feature = "cuda-11070",
23209                    feature = "cuda-11080",
23210                    feature = "cuda-12000",
23211                    feature = "cuda-12010",
23212                    feature = "cuda-12020",
23213                    feature = "cuda-12030",
23214                    feature = "cuda-12040",
23215                    feature = "cuda-12050",
23216                    feature = "cuda-12060",
23217                    feature = "cuda-12080",
23218                    feature = "cuda-12090"
23219                ))]
23220                cuCtxCreate_v3,
23221                #[cfg(any(
23222                    feature = "cuda-12050",
23223                    feature = "cuda-12060",
23224                    feature = "cuda-12080",
23225                    feature = "cuda-12090",
23226                    feature = "cuda-13000"
23227                ))]
23228                cuCtxCreate_v4,
23229                cuCtxDestroy_v2,
23230                cuCtxDetach,
23231                cuCtxDisablePeerAccess,
23232                cuCtxEnablePeerAccess,
23233                #[cfg(any(
23234                    feature = "cuda-12040",
23235                    feature = "cuda-12050",
23236                    feature = "cuda-12060",
23237                    feature = "cuda-12080",
23238                    feature = "cuda-12090",
23239                    feature = "cuda-13000"
23240                ))]
23241                cuCtxFromGreenCtx,
23242                cuCtxGetApiVersion,
23243                cuCtxGetCacheConfig,
23244                cuCtxGetCurrent,
23245                #[cfg(any(
23246                    feature = "cuda-12040",
23247                    feature = "cuda-12050",
23248                    feature = "cuda-12060",
23249                    feature = "cuda-12080",
23250                    feature = "cuda-12090",
23251                    feature = "cuda-13000"
23252                ))]
23253                cuCtxGetDevResource,
23254                cuCtxGetDevice,
23255                #[cfg(any(feature = "cuda-13000"))]
23256                cuCtxGetDevice_v2,
23257                cuCtxGetExecAffinity,
23258                cuCtxGetFlags,
23259                #[cfg(any(
23260                    feature = "cuda-12000",
23261                    feature = "cuda-12010",
23262                    feature = "cuda-12020",
23263                    feature = "cuda-12030",
23264                    feature = "cuda-12040",
23265                    feature = "cuda-12050",
23266                    feature = "cuda-12060",
23267                    feature = "cuda-12080",
23268                    feature = "cuda-12090",
23269                    feature = "cuda-13000"
23270                ))]
23271                cuCtxGetId,
23272                cuCtxGetLimit,
23273                cuCtxGetSharedMemConfig,
23274                cuCtxGetStreamPriorityRange,
23275                cuCtxPopCurrent_v2,
23276                cuCtxPushCurrent_v2,
23277                #[cfg(any(
23278                    feature = "cuda-12050",
23279                    feature = "cuda-12060",
23280                    feature = "cuda-12080",
23281                    feature = "cuda-12090",
23282                    feature = "cuda-13000"
23283                ))]
23284                cuCtxRecordEvent,
23285                cuCtxResetPersistingL2Cache,
23286                cuCtxSetCacheConfig,
23287                cuCtxSetCurrent,
23288                #[cfg(any(
23289                    feature = "cuda-12010",
23290                    feature = "cuda-12020",
23291                    feature = "cuda-12030",
23292                    feature = "cuda-12040",
23293                    feature = "cuda-12050",
23294                    feature = "cuda-12060",
23295                    feature = "cuda-12080",
23296                    feature = "cuda-12090",
23297                    feature = "cuda-13000"
23298                ))]
23299                cuCtxSetFlags,
23300                cuCtxSetLimit,
23301                cuCtxSetSharedMemConfig,
23302                cuCtxSynchronize,
23303                #[cfg(any(feature = "cuda-13000"))]
23304                cuCtxSynchronize_v2,
23305                #[cfg(any(
23306                    feature = "cuda-12050",
23307                    feature = "cuda-12060",
23308                    feature = "cuda-12080",
23309                    feature = "cuda-12090",
23310                    feature = "cuda-13000"
23311                ))]
23312                cuCtxWaitEvent,
23313                cuDestroyExternalMemory,
23314                cuDestroyExternalSemaphore,
23315                #[cfg(any(
23316                    feature = "cuda-12040",
23317                    feature = "cuda-12050",
23318                    feature = "cuda-12060",
23319                    feature = "cuda-12080",
23320                    feature = "cuda-12090",
23321                    feature = "cuda-13000"
23322                ))]
23323                cuDevResourceGenerateDesc,
23324                #[cfg(any(
23325                    feature = "cuda-12040",
23326                    feature = "cuda-12050",
23327                    feature = "cuda-12060",
23328                    feature = "cuda-12080",
23329                    feature = "cuda-12090",
23330                    feature = "cuda-13000"
23331                ))]
23332                cuDevSmResourceSplitByCount,
23333                cuDeviceCanAccessPeer,
23334                cuDeviceComputeCapability,
23335                cuDeviceGet,
23336                cuDeviceGetAttribute,
23337                cuDeviceGetByPCIBusId,
23338                cuDeviceGetCount,
23339                cuDeviceGetDefaultMemPool,
23340                #[cfg(any(
23341                    feature = "cuda-12040",
23342                    feature = "cuda-12050",
23343                    feature = "cuda-12060",
23344                    feature = "cuda-12080",
23345                    feature = "cuda-12090",
23346                    feature = "cuda-13000"
23347                ))]
23348                cuDeviceGetDevResource,
23349                cuDeviceGetExecAffinitySupport,
23350                cuDeviceGetGraphMemAttribute,
23351                #[cfg(any(feature = "cuda-13000"))]
23352                cuDeviceGetHostAtomicCapabilities,
23353                cuDeviceGetLuid,
23354                cuDeviceGetMemPool,
23355                cuDeviceGetName,
23356                #[cfg(any(feature = "cuda-13000"))]
23357                cuDeviceGetP2PAtomicCapabilities,
23358                cuDeviceGetP2PAttribute,
23359                cuDeviceGetPCIBusId,
23360                cuDeviceGetProperties,
23361                cuDeviceGetTexture1DLinearMaxWidth,
23362                #[cfg(any(
23363                    feature = "cuda-11040",
23364                    feature = "cuda-11050",
23365                    feature = "cuda-11060",
23366                    feature = "cuda-11070",
23367                    feature = "cuda-11080",
23368                    feature = "cuda-12000",
23369                    feature = "cuda-12010",
23370                    feature = "cuda-12020",
23371                    feature = "cuda-12030",
23372                    feature = "cuda-12040",
23373                    feature = "cuda-12050",
23374                    feature = "cuda-12060",
23375                    feature = "cuda-12080",
23376                    feature = "cuda-12090"
23377                ))]
23378                cuDeviceGetUuid,
23379                cuDeviceGetUuid_v2,
23380                cuDeviceGraphMemTrim,
23381                cuDevicePrimaryCtxGetState,
23382                cuDevicePrimaryCtxRelease_v2,
23383                cuDevicePrimaryCtxReset_v2,
23384                cuDevicePrimaryCtxRetain,
23385                cuDevicePrimaryCtxSetFlags_v2,
23386                #[cfg(any(
23387                    feature = "cuda-12040",
23388                    feature = "cuda-12050",
23389                    feature = "cuda-12060",
23390                    feature = "cuda-12080",
23391                    feature = "cuda-12090",
23392                    feature = "cuda-13000"
23393                ))]
23394                cuDeviceRegisterAsyncNotification,
23395                cuDeviceSetGraphMemAttribute,
23396                cuDeviceSetMemPool,
23397                cuDeviceTotalMem_v2,
23398                #[cfg(any(
23399                    feature = "cuda-12040",
23400                    feature = "cuda-12050",
23401                    feature = "cuda-12060",
23402                    feature = "cuda-12080",
23403                    feature = "cuda-12090",
23404                    feature = "cuda-13000"
23405                ))]
23406                cuDeviceUnregisterAsyncNotification,
23407                cuDriverGetVersion,
23408                cuEventCreate,
23409                cuEventDestroy_v2,
23410                #[cfg(any(
23411                    feature = "cuda-11040",
23412                    feature = "cuda-11050",
23413                    feature = "cuda-11060",
23414                    feature = "cuda-11070",
23415                    feature = "cuda-11080",
23416                    feature = "cuda-12000",
23417                    feature = "cuda-12010",
23418                    feature = "cuda-12020",
23419                    feature = "cuda-12030",
23420                    feature = "cuda-12040",
23421                    feature = "cuda-12050",
23422                    feature = "cuda-12060",
23423                    feature = "cuda-12080",
23424                    feature = "cuda-12090"
23425                ))]
23426                cuEventElapsedTime,
23427                #[cfg(any(
23428                    feature = "cuda-12080",
23429                    feature = "cuda-12090",
23430                    feature = "cuda-13000"
23431                ))]
23432                cuEventElapsedTime_v2,
23433                cuEventQuery,
23434                cuEventRecord,
23435                cuEventRecordWithFlags,
23436                cuEventSynchronize,
23437                cuExternalMemoryGetMappedBuffer,
23438                cuExternalMemoryGetMappedMipmappedArray,
23439                cuFlushGPUDirectRDMAWrites,
23440                cuFuncGetAttribute,
23441                cuFuncGetModule,
23442                #[cfg(any(
23443                    feature = "cuda-12030",
23444                    feature = "cuda-12040",
23445                    feature = "cuda-12050",
23446                    feature = "cuda-12060",
23447                    feature = "cuda-12080",
23448                    feature = "cuda-12090",
23449                    feature = "cuda-13000"
23450                ))]
23451                cuFuncGetName,
23452                #[cfg(any(
23453                    feature = "cuda-12040",
23454                    feature = "cuda-12050",
23455                    feature = "cuda-12060",
23456                    feature = "cuda-12080",
23457                    feature = "cuda-12090",
23458                    feature = "cuda-13000"
23459                ))]
23460                cuFuncGetParamInfo,
23461                #[cfg(any(
23462                    feature = "cuda-12040",
23463                    feature = "cuda-12050",
23464                    feature = "cuda-12060",
23465                    feature = "cuda-12080",
23466                    feature = "cuda-12090",
23467                    feature = "cuda-13000"
23468                ))]
23469                cuFuncIsLoaded,
23470                #[cfg(any(
23471                    feature = "cuda-12040",
23472                    feature = "cuda-12050",
23473                    feature = "cuda-12060",
23474                    feature = "cuda-12080",
23475                    feature = "cuda-12090",
23476                    feature = "cuda-13000"
23477                ))]
23478                cuFuncLoad,
23479                cuFuncSetAttribute,
23480                cuFuncSetBlockShape,
23481                cuFuncSetCacheConfig,
23482                cuFuncSetSharedMemConfig,
23483                cuFuncSetSharedSize,
23484                cuGetErrorName,
23485                cuGetErrorString,
23486                cuGetExportTable,
23487                #[cfg(any(
23488                    feature = "cuda-11040",
23489                    feature = "cuda-11050",
23490                    feature = "cuda-11060",
23491                    feature = "cuda-11070",
23492                    feature = "cuda-11080"
23493                ))]
23494                cuGetProcAddress,
23495                #[cfg(any(
23496                    feature = "cuda-12000",
23497                    feature = "cuda-12010",
23498                    feature = "cuda-12020",
23499                    feature = "cuda-12030",
23500                    feature = "cuda-12040",
23501                    feature = "cuda-12050",
23502                    feature = "cuda-12060",
23503                    feature = "cuda-12080",
23504                    feature = "cuda-12090",
23505                    feature = "cuda-13000"
23506                ))]
23507                cuGetProcAddress_v2,
23508                #[cfg(any(
23509                    feature = "cuda-11070",
23510                    feature = "cuda-11080",
23511                    feature = "cuda-12000",
23512                    feature = "cuda-12010",
23513                    feature = "cuda-12020",
23514                    feature = "cuda-12030",
23515                    feature = "cuda-12040",
23516                    feature = "cuda-12050",
23517                    feature = "cuda-12060",
23518                    feature = "cuda-12080",
23519                    feature = "cuda-12090",
23520                    feature = "cuda-13000"
23521                ))]
23522                cuGraphAddBatchMemOpNode,
23523                cuGraphAddChildGraphNode,
23524                #[cfg(any(
23525                    feature = "cuda-11040",
23526                    feature = "cuda-11050",
23527                    feature = "cuda-11060",
23528                    feature = "cuda-11070",
23529                    feature = "cuda-11080",
23530                    feature = "cuda-12000",
23531                    feature = "cuda-12010",
23532                    feature = "cuda-12020",
23533                    feature = "cuda-12030",
23534                    feature = "cuda-12040",
23535                    feature = "cuda-12050",
23536                    feature = "cuda-12060",
23537                    feature = "cuda-12080",
23538                    feature = "cuda-12090"
23539                ))]
23540                cuGraphAddDependencies,
23541                #[cfg(any(
23542                    feature = "cuda-12030",
23543                    feature = "cuda-12040",
23544                    feature = "cuda-12050",
23545                    feature = "cuda-12060",
23546                    feature = "cuda-12080",
23547                    feature = "cuda-12090",
23548                    feature = "cuda-13000"
23549                ))]
23550                cuGraphAddDependencies_v2,
23551                cuGraphAddEmptyNode,
23552                cuGraphAddEventRecordNode,
23553                cuGraphAddEventWaitNode,
23554                cuGraphAddExternalSemaphoresSignalNode,
23555                cuGraphAddExternalSemaphoresWaitNode,
23556                cuGraphAddHostNode,
23557                #[cfg(any(
23558                    feature = "cuda-11040",
23559                    feature = "cuda-11050",
23560                    feature = "cuda-11060",
23561                    feature = "cuda-11070",
23562                    feature = "cuda-11080"
23563                ))]
23564                cuGraphAddKernelNode,
23565                #[cfg(any(
23566                    feature = "cuda-12000",
23567                    feature = "cuda-12010",
23568                    feature = "cuda-12020",
23569                    feature = "cuda-12030",
23570                    feature = "cuda-12040",
23571                    feature = "cuda-12050",
23572                    feature = "cuda-12060",
23573                    feature = "cuda-12080",
23574                    feature = "cuda-12090",
23575                    feature = "cuda-13000"
23576                ))]
23577                cuGraphAddKernelNode_v2,
23578                cuGraphAddMemAllocNode,
23579                cuGraphAddMemFreeNode,
23580                cuGraphAddMemcpyNode,
23581                cuGraphAddMemsetNode,
23582                #[cfg(any(
23583                    feature = "cuda-12020",
23584                    feature = "cuda-12030",
23585                    feature = "cuda-12040",
23586                    feature = "cuda-12050",
23587                    feature = "cuda-12060",
23588                    feature = "cuda-12080",
23589                    feature = "cuda-12090"
23590                ))]
23591                cuGraphAddNode,
23592                #[cfg(any(
23593                    feature = "cuda-12030",
23594                    feature = "cuda-12040",
23595                    feature = "cuda-12050",
23596                    feature = "cuda-12060",
23597                    feature = "cuda-12080",
23598                    feature = "cuda-12090",
23599                    feature = "cuda-13000"
23600                ))]
23601                cuGraphAddNode_v2,
23602                #[cfg(any(
23603                    feature = "cuda-11070",
23604                    feature = "cuda-11080",
23605                    feature = "cuda-12000",
23606                    feature = "cuda-12010",
23607                    feature = "cuda-12020",
23608                    feature = "cuda-12030",
23609                    feature = "cuda-12040",
23610                    feature = "cuda-12050",
23611                    feature = "cuda-12060",
23612                    feature = "cuda-12080",
23613                    feature = "cuda-12090",
23614                    feature = "cuda-13000"
23615                ))]
23616                cuGraphBatchMemOpNodeGetParams,
23617                #[cfg(any(
23618                    feature = "cuda-11070",
23619                    feature = "cuda-11080",
23620                    feature = "cuda-12000",
23621                    feature = "cuda-12010",
23622                    feature = "cuda-12020",
23623                    feature = "cuda-12030",
23624                    feature = "cuda-12040",
23625                    feature = "cuda-12050",
23626                    feature = "cuda-12060",
23627                    feature = "cuda-12080",
23628                    feature = "cuda-12090",
23629                    feature = "cuda-13000"
23630                ))]
23631                cuGraphBatchMemOpNodeSetParams,
23632                cuGraphChildGraphNodeGetGraph,
23633                cuGraphClone,
23634                #[cfg(any(
23635                    feature = "cuda-12030",
23636                    feature = "cuda-12040",
23637                    feature = "cuda-12050",
23638                    feature = "cuda-12060",
23639                    feature = "cuda-12080",
23640                    feature = "cuda-12090",
23641                    feature = "cuda-13000"
23642                ))]
23643                cuGraphConditionalHandleCreate,
23644                cuGraphCreate,
23645                cuGraphDebugDotPrint,
23646                cuGraphDestroy,
23647                cuGraphDestroyNode,
23648                cuGraphEventRecordNodeGetEvent,
23649                cuGraphEventRecordNodeSetEvent,
23650                cuGraphEventWaitNodeGetEvent,
23651                cuGraphEventWaitNodeSetEvent,
23652                #[cfg(any(
23653                    feature = "cuda-11070",
23654                    feature = "cuda-11080",
23655                    feature = "cuda-12000",
23656                    feature = "cuda-12010",
23657                    feature = "cuda-12020",
23658                    feature = "cuda-12030",
23659                    feature = "cuda-12040",
23660                    feature = "cuda-12050",
23661                    feature = "cuda-12060",
23662                    feature = "cuda-12080",
23663                    feature = "cuda-12090",
23664                    feature = "cuda-13000"
23665                ))]
23666                cuGraphExecBatchMemOpNodeSetParams,
23667                cuGraphExecChildGraphNodeSetParams,
23668                cuGraphExecDestroy,
23669                cuGraphExecEventRecordNodeSetEvent,
23670                cuGraphExecEventWaitNodeSetEvent,
23671                cuGraphExecExternalSemaphoresSignalNodeSetParams,
23672                cuGraphExecExternalSemaphoresWaitNodeSetParams,
23673                #[cfg(any(
23674                    feature = "cuda-12000",
23675                    feature = "cuda-12010",
23676                    feature = "cuda-12020",
23677                    feature = "cuda-12030",
23678                    feature = "cuda-12040",
23679                    feature = "cuda-12050",
23680                    feature = "cuda-12060",
23681                    feature = "cuda-12080",
23682                    feature = "cuda-12090",
23683                    feature = "cuda-13000"
23684                ))]
23685                cuGraphExecGetFlags,
23686                cuGraphExecHostNodeSetParams,
23687                #[cfg(any(
23688                    feature = "cuda-11040",
23689                    feature = "cuda-11050",
23690                    feature = "cuda-11060",
23691                    feature = "cuda-11070",
23692                    feature = "cuda-11080"
23693                ))]
23694                cuGraphExecKernelNodeSetParams,
23695                #[cfg(any(
23696                    feature = "cuda-12000",
23697                    feature = "cuda-12010",
23698                    feature = "cuda-12020",
23699                    feature = "cuda-12030",
23700                    feature = "cuda-12040",
23701                    feature = "cuda-12050",
23702                    feature = "cuda-12060",
23703                    feature = "cuda-12080",
23704                    feature = "cuda-12090",
23705                    feature = "cuda-13000"
23706                ))]
23707                cuGraphExecKernelNodeSetParams_v2,
23708                cuGraphExecMemcpyNodeSetParams,
23709                cuGraphExecMemsetNodeSetParams,
23710                #[cfg(any(
23711                    feature = "cuda-12020",
23712                    feature = "cuda-12030",
23713                    feature = "cuda-12040",
23714                    feature = "cuda-12050",
23715                    feature = "cuda-12060",
23716                    feature = "cuda-12080",
23717                    feature = "cuda-12090",
23718                    feature = "cuda-13000"
23719                ))]
23720                cuGraphExecNodeSetParams,
23721                #[cfg(any(
23722                    feature = "cuda-11040",
23723                    feature = "cuda-11050",
23724                    feature = "cuda-11060",
23725                    feature = "cuda-11070",
23726                    feature = "cuda-11080"
23727                ))]
23728                cuGraphExecUpdate,
23729                #[cfg(any(
23730                    feature = "cuda-12000",
23731                    feature = "cuda-12010",
23732                    feature = "cuda-12020",
23733                    feature = "cuda-12030",
23734                    feature = "cuda-12040",
23735                    feature = "cuda-12050",
23736                    feature = "cuda-12060",
23737                    feature = "cuda-12080",
23738                    feature = "cuda-12090",
23739                    feature = "cuda-13000"
23740                ))]
23741                cuGraphExecUpdate_v2,
23742                cuGraphExternalSemaphoresSignalNodeGetParams,
23743                cuGraphExternalSemaphoresSignalNodeSetParams,
23744                cuGraphExternalSemaphoresWaitNodeGetParams,
23745                cuGraphExternalSemaphoresWaitNodeSetParams,
23746                #[cfg(any(
23747                    feature = "cuda-11040",
23748                    feature = "cuda-11050",
23749                    feature = "cuda-11060",
23750                    feature = "cuda-11070",
23751                    feature = "cuda-11080",
23752                    feature = "cuda-12000",
23753                    feature = "cuda-12010",
23754                    feature = "cuda-12020",
23755                    feature = "cuda-12030",
23756                    feature = "cuda-12040",
23757                    feature = "cuda-12050",
23758                    feature = "cuda-12060",
23759                    feature = "cuda-12080",
23760                    feature = "cuda-12090"
23761                ))]
23762                cuGraphGetEdges,
23763                #[cfg(any(
23764                    feature = "cuda-12030",
23765                    feature = "cuda-12040",
23766                    feature = "cuda-12050",
23767                    feature = "cuda-12060",
23768                    feature = "cuda-12080",
23769                    feature = "cuda-12090",
23770                    feature = "cuda-13000"
23771                ))]
23772                cuGraphGetEdges_v2,
23773                cuGraphGetNodes,
23774                cuGraphGetRootNodes,
23775                cuGraphHostNodeGetParams,
23776                cuGraphHostNodeSetParams,
23777                cuGraphInstantiateWithFlags,
23778                #[cfg(any(
23779                    feature = "cuda-12000",
23780                    feature = "cuda-12010",
23781                    feature = "cuda-12020",
23782                    feature = "cuda-12030",
23783                    feature = "cuda-12040",
23784                    feature = "cuda-12050",
23785                    feature = "cuda-12060",
23786                    feature = "cuda-12080",
23787                    feature = "cuda-12090",
23788                    feature = "cuda-13000"
23789                ))]
23790                cuGraphInstantiateWithParams,
23791                #[cfg(any(
23792                    feature = "cuda-11040",
23793                    feature = "cuda-11050",
23794                    feature = "cuda-11060",
23795                    feature = "cuda-11070",
23796                    feature = "cuda-11080"
23797                ))]
23798                cuGraphInstantiate_v2,
23799                cuGraphKernelNodeCopyAttributes,
23800                cuGraphKernelNodeGetAttribute,
23801                #[cfg(any(
23802                    feature = "cuda-11040",
23803                    feature = "cuda-11050",
23804                    feature = "cuda-11060",
23805                    feature = "cuda-11070",
23806                    feature = "cuda-11080"
23807                ))]
23808                cuGraphKernelNodeGetParams,
23809                #[cfg(any(
23810                    feature = "cuda-12000",
23811                    feature = "cuda-12010",
23812                    feature = "cuda-12020",
23813                    feature = "cuda-12030",
23814                    feature = "cuda-12040",
23815                    feature = "cuda-12050",
23816                    feature = "cuda-12060",
23817                    feature = "cuda-12080",
23818                    feature = "cuda-12090",
23819                    feature = "cuda-13000"
23820                ))]
23821                cuGraphKernelNodeGetParams_v2,
23822                cuGraphKernelNodeSetAttribute,
23823                #[cfg(any(
23824                    feature = "cuda-11040",
23825                    feature = "cuda-11050",
23826                    feature = "cuda-11060",
23827                    feature = "cuda-11070",
23828                    feature = "cuda-11080"
23829                ))]
23830                cuGraphKernelNodeSetParams,
23831                #[cfg(any(
23832                    feature = "cuda-12000",
23833                    feature = "cuda-12010",
23834                    feature = "cuda-12020",
23835                    feature = "cuda-12030",
23836                    feature = "cuda-12040",
23837                    feature = "cuda-12050",
23838                    feature = "cuda-12060",
23839                    feature = "cuda-12080",
23840                    feature = "cuda-12090",
23841                    feature = "cuda-13000"
23842                ))]
23843                cuGraphKernelNodeSetParams_v2,
23844                cuGraphLaunch,
23845                cuGraphMemAllocNodeGetParams,
23846                cuGraphMemFreeNodeGetParams,
23847                cuGraphMemcpyNodeGetParams,
23848                cuGraphMemcpyNodeSetParams,
23849                cuGraphMemsetNodeGetParams,
23850                cuGraphMemsetNodeSetParams,
23851                cuGraphNodeFindInClone,
23852                #[cfg(any(
23853                    feature = "cuda-11040",
23854                    feature = "cuda-11050",
23855                    feature = "cuda-11060",
23856                    feature = "cuda-11070",
23857                    feature = "cuda-11080",
23858                    feature = "cuda-12000",
23859                    feature = "cuda-12010",
23860                    feature = "cuda-12020",
23861                    feature = "cuda-12030",
23862                    feature = "cuda-12040",
23863                    feature = "cuda-12050",
23864                    feature = "cuda-12060",
23865                    feature = "cuda-12080",
23866                    feature = "cuda-12090"
23867                ))]
23868                cuGraphNodeGetDependencies,
23869                #[cfg(any(
23870                    feature = "cuda-12030",
23871                    feature = "cuda-12040",
23872                    feature = "cuda-12050",
23873                    feature = "cuda-12060",
23874                    feature = "cuda-12080",
23875                    feature = "cuda-12090",
23876                    feature = "cuda-13000"
23877                ))]
23878                cuGraphNodeGetDependencies_v2,
23879                #[cfg(any(
23880                    feature = "cuda-11040",
23881                    feature = "cuda-11050",
23882                    feature = "cuda-11060",
23883                    feature = "cuda-11070",
23884                    feature = "cuda-11080",
23885                    feature = "cuda-12000",
23886                    feature = "cuda-12010",
23887                    feature = "cuda-12020",
23888                    feature = "cuda-12030",
23889                    feature = "cuda-12040",
23890                    feature = "cuda-12050",
23891                    feature = "cuda-12060",
23892                    feature = "cuda-12080",
23893                    feature = "cuda-12090"
23894                ))]
23895                cuGraphNodeGetDependentNodes,
23896                #[cfg(any(
23897                    feature = "cuda-12030",
23898                    feature = "cuda-12040",
23899                    feature = "cuda-12050",
23900                    feature = "cuda-12060",
23901                    feature = "cuda-12080",
23902                    feature = "cuda-12090",
23903                    feature = "cuda-13000"
23904                ))]
23905                cuGraphNodeGetDependentNodes_v2,
23906                #[cfg(any(
23907                    feature = "cuda-11060",
23908                    feature = "cuda-11070",
23909                    feature = "cuda-11080",
23910                    feature = "cuda-12000",
23911                    feature = "cuda-12010",
23912                    feature = "cuda-12020",
23913                    feature = "cuda-12030",
23914                    feature = "cuda-12040",
23915                    feature = "cuda-12050",
23916                    feature = "cuda-12060",
23917                    feature = "cuda-12080",
23918                    feature = "cuda-12090",
23919                    feature = "cuda-13000"
23920                ))]
23921                cuGraphNodeGetEnabled,
23922                cuGraphNodeGetType,
23923                #[cfg(any(
23924                    feature = "cuda-11060",
23925                    feature = "cuda-11070",
23926                    feature = "cuda-11080",
23927                    feature = "cuda-12000",
23928                    feature = "cuda-12010",
23929                    feature = "cuda-12020",
23930                    feature = "cuda-12030",
23931                    feature = "cuda-12040",
23932                    feature = "cuda-12050",
23933                    feature = "cuda-12060",
23934                    feature = "cuda-12080",
23935                    feature = "cuda-12090",
23936                    feature = "cuda-13000"
23937                ))]
23938                cuGraphNodeSetEnabled,
23939                #[cfg(any(
23940                    feature = "cuda-12020",
23941                    feature = "cuda-12030",
23942                    feature = "cuda-12040",
23943                    feature = "cuda-12050",
23944                    feature = "cuda-12060",
23945                    feature = "cuda-12080",
23946                    feature = "cuda-12090",
23947                    feature = "cuda-13000"
23948                ))]
23949                cuGraphNodeSetParams,
23950                cuGraphReleaseUserObject,
23951                #[cfg(any(
23952                    feature = "cuda-11040",
23953                    feature = "cuda-11050",
23954                    feature = "cuda-11060",
23955                    feature = "cuda-11070",
23956                    feature = "cuda-11080",
23957                    feature = "cuda-12000",
23958                    feature = "cuda-12010",
23959                    feature = "cuda-12020",
23960                    feature = "cuda-12030",
23961                    feature = "cuda-12040",
23962                    feature = "cuda-12050",
23963                    feature = "cuda-12060",
23964                    feature = "cuda-12080",
23965                    feature = "cuda-12090"
23966                ))]
23967                cuGraphRemoveDependencies,
23968                #[cfg(any(
23969                    feature = "cuda-12030",
23970                    feature = "cuda-12040",
23971                    feature = "cuda-12050",
23972                    feature = "cuda-12060",
23973                    feature = "cuda-12080",
23974                    feature = "cuda-12090",
23975                    feature = "cuda-13000"
23976                ))]
23977                cuGraphRemoveDependencies_v2,
23978                cuGraphRetainUserObject,
23979                cuGraphUpload,
23980                cuGraphicsMapResources,
23981                cuGraphicsResourceGetMappedMipmappedArray,
23982                cuGraphicsResourceGetMappedPointer_v2,
23983                cuGraphicsResourceSetMapFlags_v2,
23984                cuGraphicsSubResourceGetMappedArray,
23985                cuGraphicsUnmapResources,
23986                cuGraphicsUnregisterResource,
23987                #[cfg(any(
23988                    feature = "cuda-12040",
23989                    feature = "cuda-12050",
23990                    feature = "cuda-12060",
23991                    feature = "cuda-12080",
23992                    feature = "cuda-12090",
23993                    feature = "cuda-13000"
23994                ))]
23995                cuGreenCtxCreate,
23996                #[cfg(any(
23997                    feature = "cuda-12040",
23998                    feature = "cuda-12050",
23999                    feature = "cuda-12060",
24000                    feature = "cuda-12080",
24001                    feature = "cuda-12090",
24002                    feature = "cuda-13000"
24003                ))]
24004                cuGreenCtxDestroy,
24005                #[cfg(any(
24006                    feature = "cuda-12040",
24007                    feature = "cuda-12050",
24008                    feature = "cuda-12060",
24009                    feature = "cuda-12080",
24010                    feature = "cuda-12090",
24011                    feature = "cuda-13000"
24012                ))]
24013                cuGreenCtxGetDevResource,
24014                #[cfg(any(feature = "cuda-13000"))]
24015                cuGreenCtxGetId,
24016                #[cfg(any(
24017                    feature = "cuda-12040",
24018                    feature = "cuda-12050",
24019                    feature = "cuda-12060",
24020                    feature = "cuda-12080",
24021                    feature = "cuda-12090",
24022                    feature = "cuda-13000"
24023                ))]
24024                cuGreenCtxRecordEvent,
24025                #[cfg(any(
24026                    feature = "cuda-12050",
24027                    feature = "cuda-12060",
24028                    feature = "cuda-12080",
24029                    feature = "cuda-12090",
24030                    feature = "cuda-13000"
24031                ))]
24032                cuGreenCtxStreamCreate,
24033                #[cfg(any(
24034                    feature = "cuda-12040",
24035                    feature = "cuda-12050",
24036                    feature = "cuda-12060",
24037                    feature = "cuda-12080",
24038                    feature = "cuda-12090",
24039                    feature = "cuda-13000"
24040                ))]
24041                cuGreenCtxWaitEvent,
24042                cuImportExternalMemory,
24043                cuImportExternalSemaphore,
24044                cuInit,
24045                cuIpcCloseMemHandle,
24046                cuIpcGetEventHandle,
24047                cuIpcGetMemHandle,
24048                cuIpcOpenEventHandle,
24049                cuIpcOpenMemHandle_v2,
24050                #[cfg(any(
24051                    feature = "cuda-12000",
24052                    feature = "cuda-12010",
24053                    feature = "cuda-12020",
24054                    feature = "cuda-12030",
24055                    feature = "cuda-12040",
24056                    feature = "cuda-12050",
24057                    feature = "cuda-12060",
24058                    feature = "cuda-12080",
24059                    feature = "cuda-12090",
24060                    feature = "cuda-13000"
24061                ))]
24062                cuKernelGetAttribute,
24063                #[cfg(any(
24064                    feature = "cuda-12000",
24065                    feature = "cuda-12010",
24066                    feature = "cuda-12020",
24067                    feature = "cuda-12030",
24068                    feature = "cuda-12040",
24069                    feature = "cuda-12050",
24070                    feature = "cuda-12060",
24071                    feature = "cuda-12080",
24072                    feature = "cuda-12090",
24073                    feature = "cuda-13000"
24074                ))]
24075                cuKernelGetFunction,
24076                #[cfg(any(
24077                    feature = "cuda-12050",
24078                    feature = "cuda-12060",
24079                    feature = "cuda-12080",
24080                    feature = "cuda-12090",
24081                    feature = "cuda-13000"
24082                ))]
24083                cuKernelGetLibrary,
24084                #[cfg(any(
24085                    feature = "cuda-12030",
24086                    feature = "cuda-12040",
24087                    feature = "cuda-12050",
24088                    feature = "cuda-12060",
24089                    feature = "cuda-12080",
24090                    feature = "cuda-12090",
24091                    feature = "cuda-13000"
24092                ))]
24093                cuKernelGetName,
24094                #[cfg(any(
24095                    feature = "cuda-12040",
24096                    feature = "cuda-12050",
24097                    feature = "cuda-12060",
24098                    feature = "cuda-12080",
24099                    feature = "cuda-12090",
24100                    feature = "cuda-13000"
24101                ))]
24102                cuKernelGetParamInfo,
24103                #[cfg(any(
24104                    feature = "cuda-12000",
24105                    feature = "cuda-12010",
24106                    feature = "cuda-12020",
24107                    feature = "cuda-12030",
24108                    feature = "cuda-12040",
24109                    feature = "cuda-12050",
24110                    feature = "cuda-12060",
24111                    feature = "cuda-12080",
24112                    feature = "cuda-12090",
24113                    feature = "cuda-13000"
24114                ))]
24115                cuKernelSetAttribute,
24116                #[cfg(any(
24117                    feature = "cuda-12000",
24118                    feature = "cuda-12010",
24119                    feature = "cuda-12020",
24120                    feature = "cuda-12030",
24121                    feature = "cuda-12040",
24122                    feature = "cuda-12050",
24123                    feature = "cuda-12060",
24124                    feature = "cuda-12080",
24125                    feature = "cuda-12090",
24126                    feature = "cuda-13000"
24127                ))]
24128                cuKernelSetCacheConfig,
24129                cuLaunch,
24130                cuLaunchCooperativeKernel,
24131                cuLaunchCooperativeKernelMultiDevice,
24132                cuLaunchGrid,
24133                cuLaunchGridAsync,
24134                cuLaunchHostFunc,
24135                cuLaunchKernel,
24136                #[cfg(any(
24137                    feature = "cuda-11080",
24138                    feature = "cuda-12000",
24139                    feature = "cuda-12010",
24140                    feature = "cuda-12020",
24141                    feature = "cuda-12030",
24142                    feature = "cuda-12040",
24143                    feature = "cuda-12050",
24144                    feature = "cuda-12060",
24145                    feature = "cuda-12080",
24146                    feature = "cuda-12090",
24147                    feature = "cuda-13000"
24148                ))]
24149                cuLaunchKernelEx,
24150                #[cfg(any(
24151                    feature = "cuda-12040",
24152                    feature = "cuda-12050",
24153                    feature = "cuda-12060",
24154                    feature = "cuda-12080",
24155                    feature = "cuda-12090",
24156                    feature = "cuda-13000"
24157                ))]
24158                cuLibraryEnumerateKernels,
24159                #[cfg(any(
24160                    feature = "cuda-12000",
24161                    feature = "cuda-12010",
24162                    feature = "cuda-12020",
24163                    feature = "cuda-12030",
24164                    feature = "cuda-12040",
24165                    feature = "cuda-12050",
24166                    feature = "cuda-12060",
24167                    feature = "cuda-12080",
24168                    feature = "cuda-12090",
24169                    feature = "cuda-13000"
24170                ))]
24171                cuLibraryGetGlobal,
24172                #[cfg(any(
24173                    feature = "cuda-12000",
24174                    feature = "cuda-12010",
24175                    feature = "cuda-12020",
24176                    feature = "cuda-12030",
24177                    feature = "cuda-12040",
24178                    feature = "cuda-12050",
24179                    feature = "cuda-12060",
24180                    feature = "cuda-12080",
24181                    feature = "cuda-12090",
24182                    feature = "cuda-13000"
24183                ))]
24184                cuLibraryGetKernel,
24185                #[cfg(any(
24186                    feature = "cuda-12040",
24187                    feature = "cuda-12050",
24188                    feature = "cuda-12060",
24189                    feature = "cuda-12080",
24190                    feature = "cuda-12090",
24191                    feature = "cuda-13000"
24192                ))]
24193                cuLibraryGetKernelCount,
24194                #[cfg(any(
24195                    feature = "cuda-12000",
24196                    feature = "cuda-12010",
24197                    feature = "cuda-12020",
24198                    feature = "cuda-12030",
24199                    feature = "cuda-12040",
24200                    feature = "cuda-12050",
24201                    feature = "cuda-12060",
24202                    feature = "cuda-12080",
24203                    feature = "cuda-12090",
24204                    feature = "cuda-13000"
24205                ))]
24206                cuLibraryGetManaged,
24207                #[cfg(any(
24208                    feature = "cuda-12000",
24209                    feature = "cuda-12010",
24210                    feature = "cuda-12020",
24211                    feature = "cuda-12030",
24212                    feature = "cuda-12040",
24213                    feature = "cuda-12050",
24214                    feature = "cuda-12060",
24215                    feature = "cuda-12080",
24216                    feature = "cuda-12090",
24217                    feature = "cuda-13000"
24218                ))]
24219                cuLibraryGetModule,
24220                #[cfg(any(
24221                    feature = "cuda-12000",
24222                    feature = "cuda-12010",
24223                    feature = "cuda-12020",
24224                    feature = "cuda-12030",
24225                    feature = "cuda-12040",
24226                    feature = "cuda-12050",
24227                    feature = "cuda-12060",
24228                    feature = "cuda-12080",
24229                    feature = "cuda-12090",
24230                    feature = "cuda-13000"
24231                ))]
24232                cuLibraryGetUnifiedFunction,
24233                #[cfg(any(
24234                    feature = "cuda-12000",
24235                    feature = "cuda-12010",
24236                    feature = "cuda-12020",
24237                    feature = "cuda-12030",
24238                    feature = "cuda-12040",
24239                    feature = "cuda-12050",
24240                    feature = "cuda-12060",
24241                    feature = "cuda-12080",
24242                    feature = "cuda-12090",
24243                    feature = "cuda-13000"
24244                ))]
24245                cuLibraryLoadData,
24246                #[cfg(any(
24247                    feature = "cuda-12000",
24248                    feature = "cuda-12010",
24249                    feature = "cuda-12020",
24250                    feature = "cuda-12030",
24251                    feature = "cuda-12040",
24252                    feature = "cuda-12050",
24253                    feature = "cuda-12060",
24254                    feature = "cuda-12080",
24255                    feature = "cuda-12090",
24256                    feature = "cuda-13000"
24257                ))]
24258                cuLibraryLoadFromFile,
24259                #[cfg(any(
24260                    feature = "cuda-12000",
24261                    feature = "cuda-12010",
24262                    feature = "cuda-12020",
24263                    feature = "cuda-12030",
24264                    feature = "cuda-12040",
24265                    feature = "cuda-12050",
24266                    feature = "cuda-12060",
24267                    feature = "cuda-12080",
24268                    feature = "cuda-12090",
24269                    feature = "cuda-13000"
24270                ))]
24271                cuLibraryUnload,
24272                cuLinkAddData_v2,
24273                cuLinkAddFile_v2,
24274                cuLinkComplete,
24275                cuLinkCreate_v2,
24276                cuLinkDestroy,
24277                #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
24278                cuLogsCurrent,
24279                #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
24280                cuLogsDumpToFile,
24281                #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
24282                cuLogsDumpToMemory,
24283                #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
24284                cuLogsRegisterCallback,
24285                #[cfg(any(feature = "cuda-12090", feature = "cuda-13000"))]
24286                cuLogsUnregisterCallback,
24287                cuMemAddressFree,
24288                cuMemAddressReserve,
24289                #[cfg(any(
24290                    feature = "cuda-11040",
24291                    feature = "cuda-11050",
24292                    feature = "cuda-11060",
24293                    feature = "cuda-11070",
24294                    feature = "cuda-11080",
24295                    feature = "cuda-12000",
24296                    feature = "cuda-12010",
24297                    feature = "cuda-12020",
24298                    feature = "cuda-12030",
24299                    feature = "cuda-12040",
24300                    feature = "cuda-12050",
24301                    feature = "cuda-12060",
24302                    feature = "cuda-12080",
24303                    feature = "cuda-12090"
24304                ))]
24305                cuMemAdvise,
24306                #[cfg(any(
24307                    feature = "cuda-12020",
24308                    feature = "cuda-12030",
24309                    feature = "cuda-12040",
24310                    feature = "cuda-12050",
24311                    feature = "cuda-12060",
24312                    feature = "cuda-12080",
24313                    feature = "cuda-12090",
24314                    feature = "cuda-13000"
24315                ))]
24316                cuMemAdvise_v2,
24317                cuMemAllocAsync,
24318                cuMemAllocFromPoolAsync,
24319                cuMemAllocHost_v2,
24320                cuMemAllocManaged,
24321                cuMemAllocPitch_v2,
24322                cuMemAlloc_v2,
24323                #[cfg(any(
24324                    feature = "cuda-12080",
24325                    feature = "cuda-12090",
24326                    feature = "cuda-13000"
24327                ))]
24328                cuMemBatchDecompressAsync,
24329                cuMemCreate,
24330                #[cfg(any(feature = "cuda-13000"))]
24331                cuMemDiscardAndPrefetchBatchAsync,
24332                #[cfg(any(feature = "cuda-13000"))]
24333                cuMemDiscardBatchAsync,
24334                cuMemExportToShareableHandle,
24335                cuMemFreeAsync,
24336                cuMemFreeHost,
24337                cuMemFree_v2,
24338                cuMemGetAccess,
24339                cuMemGetAddressRange_v2,
24340                cuMemGetAllocationGranularity,
24341                cuMemGetAllocationPropertiesFromHandle,
24342                #[cfg(any(feature = "cuda-13000"))]
24343                cuMemGetDefaultMemPool,
24344                #[cfg(any(
24345                    feature = "cuda-11070",
24346                    feature = "cuda-11080",
24347                    feature = "cuda-12000",
24348                    feature = "cuda-12010",
24349                    feature = "cuda-12020",
24350                    feature = "cuda-12030",
24351                    feature = "cuda-12040",
24352                    feature = "cuda-12050",
24353                    feature = "cuda-12060",
24354                    feature = "cuda-12080",
24355                    feature = "cuda-12090",
24356                    feature = "cuda-13000"
24357                ))]
24358                cuMemGetHandleForAddressRange,
24359                cuMemGetInfo_v2,
24360                #[cfg(any(feature = "cuda-13000"))]
24361                cuMemGetMemPool,
24362                cuMemHostAlloc,
24363                cuMemHostGetDevicePointer_v2,
24364                cuMemHostGetFlags,
24365                cuMemHostRegister_v2,
24366                cuMemHostUnregister,
24367                cuMemImportFromShareableHandle,
24368                cuMemMap,
24369                cuMemMapArrayAsync,
24370                cuMemPoolCreate,
24371                cuMemPoolDestroy,
24372                cuMemPoolExportPointer,
24373                cuMemPoolExportToShareableHandle,
24374                cuMemPoolGetAccess,
24375                cuMemPoolGetAttribute,
24376                cuMemPoolImportFromShareableHandle,
24377                cuMemPoolImportPointer,
24378                cuMemPoolSetAccess,
24379                cuMemPoolSetAttribute,
24380                cuMemPoolTrimTo,
24381                #[cfg(any(
24382                    feature = "cuda-11040",
24383                    feature = "cuda-11050",
24384                    feature = "cuda-11060",
24385                    feature = "cuda-11070",
24386                    feature = "cuda-11080",
24387                    feature = "cuda-12000",
24388                    feature = "cuda-12010",
24389                    feature = "cuda-12020",
24390                    feature = "cuda-12030",
24391                    feature = "cuda-12040",
24392                    feature = "cuda-12050",
24393                    feature = "cuda-12060",
24394                    feature = "cuda-12080",
24395                    feature = "cuda-12090"
24396                ))]
24397                cuMemPrefetchAsync,
24398                #[cfg(any(
24399                    feature = "cuda-12020",
24400                    feature = "cuda-12030",
24401                    feature = "cuda-12040",
24402                    feature = "cuda-12050",
24403                    feature = "cuda-12060",
24404                    feature = "cuda-12080",
24405                    feature = "cuda-12090",
24406                    feature = "cuda-13000"
24407                ))]
24408                cuMemPrefetchAsync_v2,
24409                #[cfg(any(feature = "cuda-13000"))]
24410                cuMemPrefetchBatchAsync,
24411                cuMemRangeGetAttribute,
24412                cuMemRangeGetAttributes,
24413                cuMemRelease,
24414                cuMemRetainAllocationHandle,
24415                cuMemSetAccess,
24416                #[cfg(any(feature = "cuda-13000"))]
24417                cuMemSetMemPool,
24418                cuMemUnmap,
24419                cuMemcpy,
24420                cuMemcpy2DAsync_v2,
24421                cuMemcpy2DUnaligned_v2,
24422                cuMemcpy2D_v2,
24423                cuMemcpy3DAsync_v2,
24424                #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
24425                cuMemcpy3DBatchAsync,
24426                #[cfg(any(feature = "cuda-13000"))]
24427                cuMemcpy3DBatchAsync_v2,
24428                cuMemcpy3DPeer,
24429                cuMemcpy3DPeerAsync,
24430                cuMemcpy3D_v2,
24431                cuMemcpyAsync,
24432                cuMemcpyAtoA_v2,
24433                cuMemcpyAtoD_v2,
24434                cuMemcpyAtoHAsync_v2,
24435                cuMemcpyAtoH_v2,
24436                #[cfg(any(feature = "cuda-12080", feature = "cuda-12090"))]
24437                cuMemcpyBatchAsync,
24438                #[cfg(any(feature = "cuda-13000"))]
24439                cuMemcpyBatchAsync_v2,
24440                cuMemcpyDtoA_v2,
24441                cuMemcpyDtoDAsync_v2,
24442                cuMemcpyDtoD_v2,
24443                cuMemcpyDtoHAsync_v2,
24444                cuMemcpyDtoH_v2,
24445                cuMemcpyHtoAAsync_v2,
24446                cuMemcpyHtoA_v2,
24447                cuMemcpyHtoDAsync_v2,
24448                cuMemcpyHtoD_v2,
24449                cuMemcpyPeer,
24450                cuMemcpyPeerAsync,
24451                cuMemsetD16Async,
24452                cuMemsetD16_v2,
24453                cuMemsetD2D16Async,
24454                cuMemsetD2D16_v2,
24455                cuMemsetD2D32Async,
24456                cuMemsetD2D32_v2,
24457                cuMemsetD2D8Async,
24458                cuMemsetD2D8_v2,
24459                cuMemsetD32Async,
24460                cuMemsetD32_v2,
24461                cuMemsetD8Async,
24462                cuMemsetD8_v2,
24463                cuMipmappedArrayCreate,
24464                cuMipmappedArrayDestroy,
24465                cuMipmappedArrayGetLevel,
24466                #[cfg(any(
24467                    feature = "cuda-11060",
24468                    feature = "cuda-11070",
24469                    feature = "cuda-11080",
24470                    feature = "cuda-12000",
24471                    feature = "cuda-12010",
24472                    feature = "cuda-12020",
24473                    feature = "cuda-12030",
24474                    feature = "cuda-12040",
24475                    feature = "cuda-12050",
24476                    feature = "cuda-12060",
24477                    feature = "cuda-12080",
24478                    feature = "cuda-12090",
24479                    feature = "cuda-13000"
24480                ))]
24481                cuMipmappedArrayGetMemoryRequirements,
24482                cuMipmappedArrayGetSparseProperties,
24483                #[cfg(any(
24484                    feature = "cuda-12040",
24485                    feature = "cuda-12050",
24486                    feature = "cuda-12060",
24487                    feature = "cuda-12080",
24488                    feature = "cuda-12090",
24489                    feature = "cuda-13000"
24490                ))]
24491                cuModuleEnumerateFunctions,
24492                cuModuleGetFunction,
24493                #[cfg(any(
24494                    feature = "cuda-12040",
24495                    feature = "cuda-12050",
24496                    feature = "cuda-12060",
24497                    feature = "cuda-12080",
24498                    feature = "cuda-12090",
24499                    feature = "cuda-13000"
24500                ))]
24501                cuModuleGetFunctionCount,
24502                cuModuleGetGlobal_v2,
24503                #[cfg(any(
24504                    feature = "cuda-11070",
24505                    feature = "cuda-11080",
24506                    feature = "cuda-12000",
24507                    feature = "cuda-12010",
24508                    feature = "cuda-12020",
24509                    feature = "cuda-12030",
24510                    feature = "cuda-12040",
24511                    feature = "cuda-12050",
24512                    feature = "cuda-12060",
24513                    feature = "cuda-12080",
24514                    feature = "cuda-12090",
24515                    feature = "cuda-13000"
24516                ))]
24517                cuModuleGetLoadingMode,
24518                cuModuleGetSurfRef,
24519                cuModuleGetTexRef,
24520                cuModuleLoad,
24521                cuModuleLoadData,
24522                cuModuleLoadDataEx,
24523                cuModuleLoadFatBinary,
24524                cuModuleUnload,
24525                #[cfg(any(
24526                    feature = "cuda-12010",
24527                    feature = "cuda-12020",
24528                    feature = "cuda-12030",
24529                    feature = "cuda-12040",
24530                    feature = "cuda-12050",
24531                    feature = "cuda-12060",
24532                    feature = "cuda-12080",
24533                    feature = "cuda-12090",
24534                    feature = "cuda-13000"
24535                ))]
24536                cuMulticastAddDevice,
24537                #[cfg(any(
24538                    feature = "cuda-12010",
24539                    feature = "cuda-12020",
24540                    feature = "cuda-12030",
24541                    feature = "cuda-12040",
24542                    feature = "cuda-12050",
24543                    feature = "cuda-12060",
24544                    feature = "cuda-12080",
24545                    feature = "cuda-12090",
24546                    feature = "cuda-13000"
24547                ))]
24548                cuMulticastBindAddr,
24549                #[cfg(any(
24550                    feature = "cuda-12010",
24551                    feature = "cuda-12020",
24552                    feature = "cuda-12030",
24553                    feature = "cuda-12040",
24554                    feature = "cuda-12050",
24555                    feature = "cuda-12060",
24556                    feature = "cuda-12080",
24557                    feature = "cuda-12090",
24558                    feature = "cuda-13000"
24559                ))]
24560                cuMulticastBindMem,
24561                #[cfg(any(
24562                    feature = "cuda-12010",
24563                    feature = "cuda-12020",
24564                    feature = "cuda-12030",
24565                    feature = "cuda-12040",
24566                    feature = "cuda-12050",
24567                    feature = "cuda-12060",
24568                    feature = "cuda-12080",
24569                    feature = "cuda-12090",
24570                    feature = "cuda-13000"
24571                ))]
24572                cuMulticastCreate,
24573                #[cfg(any(
24574                    feature = "cuda-12010",
24575                    feature = "cuda-12020",
24576                    feature = "cuda-12030",
24577                    feature = "cuda-12040",
24578                    feature = "cuda-12050",
24579                    feature = "cuda-12060",
24580                    feature = "cuda-12080",
24581                    feature = "cuda-12090",
24582                    feature = "cuda-13000"
24583                ))]
24584                cuMulticastGetGranularity,
24585                #[cfg(any(
24586                    feature = "cuda-12010",
24587                    feature = "cuda-12020",
24588                    feature = "cuda-12030",
24589                    feature = "cuda-12040",
24590                    feature = "cuda-12050",
24591                    feature = "cuda-12060",
24592                    feature = "cuda-12080",
24593                    feature = "cuda-12090",
24594                    feature = "cuda-13000"
24595                ))]
24596                cuMulticastUnbind,
24597                cuOccupancyAvailableDynamicSMemPerBlock,
24598                cuOccupancyMaxActiveBlocksPerMultiprocessor,
24599                cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags,
24600                #[cfg(any(
24601                    feature = "cuda-11080",
24602                    feature = "cuda-12000",
24603                    feature = "cuda-12010",
24604                    feature = "cuda-12020",
24605                    feature = "cuda-12030",
24606                    feature = "cuda-12040",
24607                    feature = "cuda-12050",
24608                    feature = "cuda-12060",
24609                    feature = "cuda-12080",
24610                    feature = "cuda-12090",
24611                    feature = "cuda-13000"
24612                ))]
24613                cuOccupancyMaxActiveClusters,
24614                cuOccupancyMaxPotentialBlockSize,
24615                cuOccupancyMaxPotentialBlockSizeWithFlags,
24616                #[cfg(any(
24617                    feature = "cuda-11080",
24618                    feature = "cuda-12000",
24619                    feature = "cuda-12010",
24620                    feature = "cuda-12020",
24621                    feature = "cuda-12030",
24622                    feature = "cuda-12040",
24623                    feature = "cuda-12050",
24624                    feature = "cuda-12060",
24625                    feature = "cuda-12080",
24626                    feature = "cuda-12090",
24627                    feature = "cuda-13000"
24628                ))]
24629                cuOccupancyMaxPotentialClusterSize,
24630                cuParamSetSize,
24631                cuParamSetTexRef,
24632                cuParamSetf,
24633                cuParamSeti,
24634                cuParamSetv,
24635                cuPointerGetAttribute,
24636                cuPointerGetAttributes,
24637                cuPointerSetAttribute,
24638                cuProfilerInitialize,
24639                cuProfilerStart,
24640                cuProfilerStop,
24641                cuSignalExternalSemaphoresAsync,
24642                cuStreamAddCallback,
24643                cuStreamAttachMemAsync,
24644                #[cfg(any(
24645                    feature = "cuda-11040",
24646                    feature = "cuda-11050",
24647                    feature = "cuda-11060",
24648                    feature = "cuda-11070",
24649                    feature = "cuda-11080"
24650                ))]
24651                cuStreamBatchMemOp,
24652                #[cfg(any(
24653                    feature = "cuda-11070",
24654                    feature = "cuda-11080",
24655                    feature = "cuda-12000",
24656                    feature = "cuda-12010",
24657                    feature = "cuda-12020",
24658                    feature = "cuda-12030",
24659                    feature = "cuda-12040",
24660                    feature = "cuda-12050",
24661                    feature = "cuda-12060",
24662                    feature = "cuda-12080",
24663                    feature = "cuda-12090",
24664                    feature = "cuda-13000"
24665                ))]
24666                cuStreamBatchMemOp_v2,
24667                #[cfg(any(
24668                    feature = "cuda-12030",
24669                    feature = "cuda-12040",
24670                    feature = "cuda-12050",
24671                    feature = "cuda-12060",
24672                    feature = "cuda-12080",
24673                    feature = "cuda-12090",
24674                    feature = "cuda-13000"
24675                ))]
24676                cuStreamBeginCaptureToGraph,
24677                cuStreamBeginCapture_v2,
24678                cuStreamCopyAttributes,
24679                cuStreamCreate,
24680                cuStreamCreateWithPriority,
24681                cuStreamDestroy_v2,
24682                cuStreamEndCapture,
24683                cuStreamGetAttribute,
24684                #[cfg(any(
24685                    feature = "cuda-11040",
24686                    feature = "cuda-11050",
24687                    feature = "cuda-11060",
24688                    feature = "cuda-11070",
24689                    feature = "cuda-11080"
24690                ))]
24691                cuStreamGetCaptureInfo,
24692                #[cfg(any(
24693                    feature = "cuda-11040",
24694                    feature = "cuda-11050",
24695                    feature = "cuda-11060",
24696                    feature = "cuda-11070",
24697                    feature = "cuda-11080",
24698                    feature = "cuda-12000",
24699                    feature = "cuda-12010",
24700                    feature = "cuda-12020",
24701                    feature = "cuda-12030",
24702                    feature = "cuda-12040",
24703                    feature = "cuda-12050",
24704                    feature = "cuda-12060",
24705                    feature = "cuda-12080",
24706                    feature = "cuda-12090"
24707                ))]
24708                cuStreamGetCaptureInfo_v2,
24709                #[cfg(any(
24710                    feature = "cuda-12030",
24711                    feature = "cuda-12040",
24712                    feature = "cuda-12050",
24713                    feature = "cuda-12060",
24714                    feature = "cuda-12080",
24715                    feature = "cuda-12090",
24716                    feature = "cuda-13000"
24717                ))]
24718                cuStreamGetCaptureInfo_v3,
24719                cuStreamGetCtx,
24720                #[cfg(any(
24721                    feature = "cuda-12050",
24722                    feature = "cuda-12060",
24723                    feature = "cuda-12080",
24724                    feature = "cuda-12090",
24725                    feature = "cuda-13000"
24726                ))]
24727                cuStreamGetCtx_v2,
24728                #[cfg(any(
24729                    feature = "cuda-12080",
24730                    feature = "cuda-12090",
24731                    feature = "cuda-13000"
24732                ))]
24733                cuStreamGetDevice,
24734                cuStreamGetFlags,
24735                #[cfg(any(
24736                    feature = "cuda-12040",
24737                    feature = "cuda-12050",
24738                    feature = "cuda-12060",
24739                    feature = "cuda-12080",
24740                    feature = "cuda-12090",
24741                    feature = "cuda-13000"
24742                ))]
24743                cuStreamGetGreenCtx,
24744                #[cfg(any(
24745                    feature = "cuda-12000",
24746                    feature = "cuda-12010",
24747                    feature = "cuda-12020",
24748                    feature = "cuda-12030",
24749                    feature = "cuda-12040",
24750                    feature = "cuda-12050",
24751                    feature = "cuda-12060",
24752                    feature = "cuda-12080",
24753                    feature = "cuda-12090",
24754                    feature = "cuda-13000"
24755                ))]
24756                cuStreamGetId,
24757                cuStreamGetPriority,
24758                cuStreamIsCapturing,
24759                cuStreamQuery,
24760                cuStreamSetAttribute,
24761                cuStreamSynchronize,
24762                #[cfg(any(
24763                    feature = "cuda-11040",
24764                    feature = "cuda-11050",
24765                    feature = "cuda-11060",
24766                    feature = "cuda-11070",
24767                    feature = "cuda-11080",
24768                    feature = "cuda-12000",
24769                    feature = "cuda-12010",
24770                    feature = "cuda-12020",
24771                    feature = "cuda-12030",
24772                    feature = "cuda-12040",
24773                    feature = "cuda-12050",
24774                    feature = "cuda-12060",
24775                    feature = "cuda-12080",
24776                    feature = "cuda-12090"
24777                ))]
24778                cuStreamUpdateCaptureDependencies,
24779                #[cfg(any(
24780                    feature = "cuda-12030",
24781                    feature = "cuda-12040",
24782                    feature = "cuda-12050",
24783                    feature = "cuda-12060",
24784                    feature = "cuda-12080",
24785                    feature = "cuda-12090",
24786                    feature = "cuda-13000"
24787                ))]
24788                cuStreamUpdateCaptureDependencies_v2,
24789                cuStreamWaitEvent,
24790                #[cfg(any(
24791                    feature = "cuda-11040",
24792                    feature = "cuda-11050",
24793                    feature = "cuda-11060",
24794                    feature = "cuda-11070",
24795                    feature = "cuda-11080"
24796                ))]
24797                cuStreamWaitValue32,
24798                #[cfg(any(
24799                    feature = "cuda-11070",
24800                    feature = "cuda-11080",
24801                    feature = "cuda-12000",
24802                    feature = "cuda-12010",
24803                    feature = "cuda-12020",
24804                    feature = "cuda-12030",
24805                    feature = "cuda-12040",
24806                    feature = "cuda-12050",
24807                    feature = "cuda-12060",
24808                    feature = "cuda-12080",
24809                    feature = "cuda-12090",
24810                    feature = "cuda-13000"
24811                ))]
24812                cuStreamWaitValue32_v2,
24813                #[cfg(any(
24814                    feature = "cuda-11040",
24815                    feature = "cuda-11050",
24816                    feature = "cuda-11060",
24817                    feature = "cuda-11070",
24818                    feature = "cuda-11080"
24819                ))]
24820                cuStreamWaitValue64,
24821                #[cfg(any(
24822                    feature = "cuda-11070",
24823                    feature = "cuda-11080",
24824                    feature = "cuda-12000",
24825                    feature = "cuda-12010",
24826                    feature = "cuda-12020",
24827                    feature = "cuda-12030",
24828                    feature = "cuda-12040",
24829                    feature = "cuda-12050",
24830                    feature = "cuda-12060",
24831                    feature = "cuda-12080",
24832                    feature = "cuda-12090",
24833                    feature = "cuda-13000"
24834                ))]
24835                cuStreamWaitValue64_v2,
24836                #[cfg(any(
24837                    feature = "cuda-11040",
24838                    feature = "cuda-11050",
24839                    feature = "cuda-11060",
24840                    feature = "cuda-11070",
24841                    feature = "cuda-11080"
24842                ))]
24843                cuStreamWriteValue32,
24844                #[cfg(any(
24845                    feature = "cuda-11070",
24846                    feature = "cuda-11080",
24847                    feature = "cuda-12000",
24848                    feature = "cuda-12010",
24849                    feature = "cuda-12020",
24850                    feature = "cuda-12030",
24851                    feature = "cuda-12040",
24852                    feature = "cuda-12050",
24853                    feature = "cuda-12060",
24854                    feature = "cuda-12080",
24855                    feature = "cuda-12090",
24856                    feature = "cuda-13000"
24857                ))]
24858                cuStreamWriteValue32_v2,
24859                #[cfg(any(
24860                    feature = "cuda-11040",
24861                    feature = "cuda-11050",
24862                    feature = "cuda-11060",
24863                    feature = "cuda-11070",
24864                    feature = "cuda-11080"
24865                ))]
24866                cuStreamWriteValue64,
24867                #[cfg(any(
24868                    feature = "cuda-11070",
24869                    feature = "cuda-11080",
24870                    feature = "cuda-12000",
24871                    feature = "cuda-12010",
24872                    feature = "cuda-12020",
24873                    feature = "cuda-12030",
24874                    feature = "cuda-12040",
24875                    feature = "cuda-12050",
24876                    feature = "cuda-12060",
24877                    feature = "cuda-12080",
24878                    feature = "cuda-12090",
24879                    feature = "cuda-13000"
24880                ))]
24881                cuStreamWriteValue64_v2,
24882                cuSurfObjectCreate,
24883                cuSurfObjectDestroy,
24884                cuSurfObjectGetResourceDesc,
24885                cuSurfRefGetArray,
24886                cuSurfRefSetArray,
24887                #[cfg(any(
24888                    feature = "cuda-12000",
24889                    feature = "cuda-12010",
24890                    feature = "cuda-12020",
24891                    feature = "cuda-12030",
24892                    feature = "cuda-12040",
24893                    feature = "cuda-12050",
24894                    feature = "cuda-12060",
24895                    feature = "cuda-12080",
24896                    feature = "cuda-12090",
24897                    feature = "cuda-13000"
24898                ))]
24899                cuTensorMapEncodeIm2col,
24900                #[cfg(any(
24901                    feature = "cuda-12080",
24902                    feature = "cuda-12090",
24903                    feature = "cuda-13000"
24904                ))]
24905                cuTensorMapEncodeIm2colWide,
24906                #[cfg(any(
24907                    feature = "cuda-12000",
24908                    feature = "cuda-12010",
24909                    feature = "cuda-12020",
24910                    feature = "cuda-12030",
24911                    feature = "cuda-12040",
24912                    feature = "cuda-12050",
24913                    feature = "cuda-12060",
24914                    feature = "cuda-12080",
24915                    feature = "cuda-12090",
24916                    feature = "cuda-13000"
24917                ))]
24918                cuTensorMapEncodeTiled,
24919                #[cfg(any(
24920                    feature = "cuda-12000",
24921                    feature = "cuda-12010",
24922                    feature = "cuda-12020",
24923                    feature = "cuda-12030",
24924                    feature = "cuda-12040",
24925                    feature = "cuda-12050",
24926                    feature = "cuda-12060",
24927                    feature = "cuda-12080",
24928                    feature = "cuda-12090",
24929                    feature = "cuda-13000"
24930                ))]
24931                cuTensorMapReplaceAddress,
24932                cuTexObjectCreate,
24933                cuTexObjectDestroy,
24934                cuTexObjectGetResourceDesc,
24935                cuTexObjectGetResourceViewDesc,
24936                cuTexObjectGetTextureDesc,
24937                cuTexRefCreate,
24938                cuTexRefDestroy,
24939                cuTexRefGetAddressMode,
24940                cuTexRefGetAddress_v2,
24941                cuTexRefGetArray,
24942                cuTexRefGetBorderColor,
24943                cuTexRefGetFilterMode,
24944                cuTexRefGetFlags,
24945                cuTexRefGetFormat,
24946                cuTexRefGetMaxAnisotropy,
24947                cuTexRefGetMipmapFilterMode,
24948                cuTexRefGetMipmapLevelBias,
24949                cuTexRefGetMipmapLevelClamp,
24950                cuTexRefGetMipmappedArray,
24951                cuTexRefSetAddress2D_v3,
24952                cuTexRefSetAddressMode,
24953                cuTexRefSetAddress_v2,
24954                cuTexRefSetArray,
24955                cuTexRefSetBorderColor,
24956                cuTexRefSetFilterMode,
24957                cuTexRefSetFlags,
24958                cuTexRefSetFormat,
24959                cuTexRefSetMaxAnisotropy,
24960                cuTexRefSetMipmapFilterMode,
24961                cuTexRefSetMipmapLevelBias,
24962                cuTexRefSetMipmapLevelClamp,
24963                cuTexRefSetMipmappedArray,
24964                cuThreadExchangeStreamCaptureMode,
24965                cuUserObjectCreate,
24966                cuUserObjectRelease,
24967                cuUserObjectRetain,
24968                cuWaitExternalSemaphoresAsync,
24969            })
24970        }
24971    }
24972    pub unsafe fn is_culib_present() -> bool {
24973        let lib_names = ["cuda", "nvcuda"];
24974        let choices = lib_names
24975            .iter()
24976            .map(|l| crate::get_lib_name_candidates(l))
24977            .flatten();
24978        for choice in choices {
24979            if Lib::new(choice).is_ok() {
24980                return true;
24981            }
24982        }
24983        false
24984    }
24985    pub unsafe fn culib() -> &'static Lib {
24986        static LIB: std::sync::OnceLock<Lib> = std::sync::OnceLock::new();
24987        LIB.get_or_init(|| {
24988            let lib_names = std::vec!["cuda", "nvcuda"];
24989            let choices: std::vec::Vec<_> = lib_names
24990                .iter()
24991                .map(|l| crate::get_lib_name_candidates(l))
24992                .flatten()
24993                .collect();
24994            for choice in choices.iter() {
24995                if let Ok(lib) = Lib::new(choice) {
24996                    return lib;
24997                }
24998            }
24999            crate::panic_no_lib_found(lib_names[0], &choices);
25000        })
25001    }
25002}
25003#[cfg(feature = "dynamic-loading")]
25004pub use loaded::*;