codekingpro/portable-devtools
114k
1// This file is generated. Any changes you make will be lost during the next clean build.
2
3// No dependent includes
4
5// CUDA public interface, for type definitions and cu* function prototypes
6#include "cuda.h"
7
8
9// *************************************************************************
10// Definitions of structs to hold parameters for each function
11// *************************************************************************
12
13typedef struct cuGetErrorString_params_st {
14 CUresult error;
15 const char **pStr;
16} cuGetErrorString_params;
17
18typedef struct cuGetErrorName_params_st {
19 CUresult error;
20 const char **pStr;
21} cuGetErrorName_params;
22
23typedef struct cuInit_params_st {
24 unsigned int Flags;
25} cuInit_params;
26
27typedef struct cuDriverGetVersion_params_st {
28 int *driverVersion;
29} cuDriverGetVersion_params;
30
31typedef struct cuDeviceGet_params_st {
32 CUdevice *device;
33 int ordinal;
34} cuDeviceGet_params;
35
36typedef struct cuDeviceGetCount_params_st {
37 int *count;
38} cuDeviceGetCount_params;
39
40typedef struct cuDeviceGetName_params_st {
41 char *name;
42 int len;
43 CUdevice dev;
44} cuDeviceGetName_params;
45
46typedef struct cuDeviceGetUuid_params_st {
47 CUuuid *uuid;
48 CUdevice dev;
49} cuDeviceGetUuid_params;
50
51typedef struct cuDeviceGetUuid_v2_params_st {
52 CUuuid *uuid;
53 CUdevice dev;
54} cuDeviceGetUuid_v2_params;
55
56typedef struct cuDeviceGetLuid_params_st {
57 char *luid;
58 unsigned int *deviceNodeMask;
59 CUdevice dev;
60} cuDeviceGetLuid_params;
61
62typedef struct cuDeviceTotalMem_v2_params_st {
63 size_t *bytes;
64 CUdevice dev;
65} cuDeviceTotalMem_v2_params;
66
67typedef struct cuDeviceGetTexture1DLinearMaxWidth_params_st {
68 size_t *maxWidthInElements;
69 CUarray_format format;
70 unsigned numChannels;
71 CUdevice dev;
72} cuDeviceGetTexture1DLinearMaxWidth_params;
73
74typedef struct cuDeviceGetAttribute_params_st {
75 int *pi;
76 CUdevice_attribute attrib;
77 CUdevice dev;
78} cuDeviceGetAttribute_params;
79
80typedef struct cuDeviceGetNvSciSyncAttributes_params_st {
81 void *nvSciSyncAttrList;
82 CUdevice dev;
83 int flags;
84} cuDeviceGetNvSciSyncAttributes_params;
85
86typedef struct cuDeviceSetMemPool_params_st {
87 CUdevice dev;
88 CUmemoryPool pool;
89} cuDeviceSetMemPool_params;
90
91typedef struct cuDeviceGetMemPool_params_st {
92 CUmemoryPool *pool;
93 CUdevice dev;
94} cuDeviceGetMemPool_params;
95
96typedef struct cuDeviceGetDefaultMemPool_params_st {
97 CUmemoryPool *pool_out;
98 CUdevice dev;
99} cuDeviceGetDefaultMemPool_params;
100
101typedef struct cuDeviceGetExecAffinitySupport_params_st {
102 int *pi;
103 CUexecAffinityType type;
104 CUdevice dev;
105} cuDeviceGetExecAffinitySupport_params;
106
107typedef struct cuFlushGPUDirectRDMAWrites_params_st {
108 CUflushGPUDirectRDMAWritesTarget target;
109 CUflushGPUDirectRDMAWritesScope scope;
110} cuFlushGPUDirectRDMAWrites_params;
111
112typedef struct cuDeviceGetProperties_params_st {
113 CUdevprop *prop;
114 CUdevice dev;
115} cuDeviceGetProperties_params;
116
117typedef struct cuDeviceComputeCapability_params_st {
118 int *major;
119 int *minor;
120 CUdevice dev;
121} cuDeviceComputeCapability_params;
122
123typedef struct cuDevicePrimaryCtxRetain_params_st {
124 CUcontext *pctx;
125 CUdevice dev;
126} cuDevicePrimaryCtxRetain_params;
127
128typedef struct cuDevicePrimaryCtxRelease_v2_params_st {
129 CUdevice dev;
130} cuDevicePrimaryCtxRelease_v2_params;
131
132typedef struct cuDevicePrimaryCtxSetFlags_v2_params_st {
133 CUdevice dev;
134 unsigned int flags;
135} cuDevicePrimaryCtxSetFlags_v2_params;
136
137typedef struct cuDevicePrimaryCtxGetState_params_st {
138 CUdevice dev;
139 unsigned int *flags;
140 int *active;
141} cuDevicePrimaryCtxGetState_params;
142
143typedef struct cuDevicePrimaryCtxReset_v2_params_st {
144 CUdevice dev;
145} cuDevicePrimaryCtxReset_v2_params;
146
147typedef struct cuCtxCreate_v2_params_st {
148 CUcontext *pctx;
149 unsigned int flags;
150 CUdevice dev;
151} cuCtxCreate_v2_params;
152
153typedef struct cuCtxCreate_v3_params_st {
154 CUcontext *pctx;
155 CUexecAffinityParam *paramsArray;
156 int numParams;
157 unsigned int flags;
158 CUdevice dev;
159} cuCtxCreate_v3_params;
160
161typedef struct cuCtxDestroy_v2_params_st {
162 CUcontext ctx;
163} cuCtxDestroy_v2_params;
164
165typedef struct cuCtxPushCurrent_v2_params_st {
166 CUcontext ctx;
167} cuCtxPushCurrent_v2_params;
168
169typedef struct cuCtxPopCurrent_v2_params_st {
170 CUcontext *pctx;
171} cuCtxPopCurrent_v2_params;
172
173typedef struct cuCtxSetCurrent_params_st {
174 CUcontext ctx;
175} cuCtxSetCurrent_params;
176
177typedef struct cuCtxGetCurrent_params_st {
178 CUcontext *pctx;
179} cuCtxGetCurrent_params;
180
181typedef struct cuCtxGetDevice_params_st {
182 CUdevice *device;
183} cuCtxGetDevice_params;
184
185typedef struct cuCtxGetFlags_params_st {
186 unsigned int *flags;
187} cuCtxGetFlags_params;
188
189typedef struct cuCtxGetId_params_st {
190 CUcontext ctx;
191 unsigned long long *ctxId;
192} cuCtxGetId_params;
193
194typedef struct cuCtxSetLimit_params_st {
195 CUlimit limit;
196 size_t value;
197} cuCtxSetLimit_params;
198
199typedef struct cuCtxGetLimit_params_st {
200 size_t *pvalue;
201 CUlimit limit;
202} cuCtxGetLimit_params;
203
204typedef struct cuCtxGetCacheConfig_params_st {
205 CUfunc_cache *pconfig;
206} cuCtxGetCacheConfig_params;
207
208typedef struct cuCtxSetCacheConfig_params_st {
209 CUfunc_cache config;
210} cuCtxSetCacheConfig_params;
211
212typedef struct cuCtxGetSharedMemConfig_params_st {
213 CUsharedconfig *pConfig;
214} cuCtxGetSharedMemConfig_params;
215
216typedef struct cuCtxSetSharedMemConfig_params_st {
217 CUsharedconfig config;
218} cuCtxSetSharedMemConfig_params;
219
220typedef struct cuCtxGetApiVersion_params_st {
221 CUcontext ctx;
222 unsigned int *version;
223} cuCtxGetApiVersion_params;
224
225typedef struct cuCtxGetStreamPriorityRange_params_st {
226 int *leastPriority;
227 int *greatestPriority;
228} cuCtxGetStreamPriorityRange_params;
229
230typedef struct cuCtxGetExecAffinity_params_st {
231 CUexecAffinityParam *pExecAffinity;
232 CUexecAffinityType type;
233} cuCtxGetExecAffinity_params;
234
235typedef struct cuCtxAttach_params_st {
236 CUcontext *pctx;
237 unsigned int flags;
238} cuCtxAttach_params;
239
240typedef struct cuCtxDetach_params_st {
241 CUcontext ctx;
242} cuCtxDetach_params;
243
244typedef struct cuModuleLoad_params_st {
245 CUmodule *module;
246 const char *fname;
247} cuModuleLoad_params;
248
249typedef struct cuModuleLoadData_params_st {
250 CUmodule *module;
251 const void *image;
252} cuModuleLoadData_params;
253
254typedef struct cuModuleLoadDataEx_params_st {
255 CUmodule *module;
256 const void *image;
257 unsigned int numOptions;
258 CUjit_option *options;
259 void **optionValues;
260} cuModuleLoadDataEx_params;
261
262typedef struct cuModuleLoadFatBinary_params_st {
263 CUmodule *module;
264 const void *fatCubin;
265} cuModuleLoadFatBinary_params;
266
267typedef struct cuModuleUnload_params_st {
268 CUmodule hmod;
269} cuModuleUnload_params;
270
271typedef struct cuModuleGetLoadingMode_params_st {
272 CUmoduleLoadingMode *mode;
273} cuModuleGetLoadingMode_params;
274
275typedef struct cuModuleGetFunction_params_st {
276 CUfunction *hfunc;
277 CUmodule hmod;
278 const char *name;
279} cuModuleGetFunction_params;
280
281typedef struct cuModuleGetGlobal_v2_params_st {
282 CUdeviceptr *dptr;
283 size_t *bytes;
284 CUmodule hmod;
285 const char *name;
286} cuModuleGetGlobal_v2_params;
287
288typedef struct cuLinkCreate_v2_params_st {
289 unsigned int numOptions;
290 CUjit_option *options;
291 void **optionValues;
292 CUlinkState *stateOut;
293} cuLinkCreate_v2_params;
294
295typedef struct cuLinkAddData_v2_params_st {
296 CUlinkState state;
297 CUjitInputType type;
298 void *data;
299 size_t size;
300 const char *name;
301 unsigned int numOptions;
302 CUjit_option *options;
303 void **optionValues;
304} cuLinkAddData_v2_params;
305
306typedef struct cuLinkAddFile_v2_params_st {
307 CUlinkState state;
308 CUjitInputType type;
309 const char *path;
310 unsigned int numOptions;
311 CUjit_option *options;
312 void **optionValues;
313} cuLinkAddFile_v2_params;
314
315typedef struct cuLinkComplete_params_st {
316 CUlinkState state;
317 void **cubinOut;
318 size_t *sizeOut;
319} cuLinkComplete_params;
320
321typedef struct cuLinkDestroy_params_st {
322 CUlinkState state;
323} cuLinkDestroy_params;
324
325typedef struct cuModuleGetTexRef_params_st {
326 CUtexref *pTexRef;
327 CUmodule hmod;
328 const char *name;
329} cuModuleGetTexRef_params;
330
331typedef struct cuModuleGetSurfRef_params_st {
332 CUsurfref *pSurfRef;
333 CUmodule hmod;
334 const char *name;
335} cuModuleGetSurfRef_params;
336
337typedef struct cuLibraryLoadData_params_st {
338 CUlibrary *library;
339 const void *code;
340 CUjit_option *jitOptions;
341 void **jitOptionsValues;
342 unsigned int numJitOptions;
343 CUlibraryOption *libraryOptions;
344 void **libraryOptionValues;
345 unsigned int numLibraryOptions;
346} cuLibraryLoadData_params;
347
348typedef struct cuLibraryLoadFromFile_params_st {
349 CUlibrary *library;
350 const char *fileName;
351 CUjit_option *jitOptions;
352 void **jitOptionsValues;
353 unsigned int numJitOptions;
354 CUlibraryOption *libraryOptions;
355 void **libraryOptionValues;
356 unsigned int numLibraryOptions;
357} cuLibraryLoadFromFile_params;
358
359typedef struct cuLibraryUnload_params_st {
360 CUlibrary library;
361} cuLibraryUnload_params;
362
363typedef struct cuLibraryGetKernel_params_st {
364 CUkernel *pKernel;
365 CUlibrary library;
366 const char *name;
367} cuLibraryGetKernel_params;
368
369typedef struct cuLibraryGetModule_params_st {
370 CUmodule *pMod;
371 CUlibrary library;
372} cuLibraryGetModule_params;
373
374typedef struct cuKernelGetFunction_params_st {
375 CUfunction *pFunc;
376 CUkernel kernel;
377} cuKernelGetFunction_params;
378
379typedef struct cuLibraryGetGlobal_params_st {
380 CUdeviceptr *dptr;
381 size_t *bytes;
382 CUlibrary library;
383 const char *name;
384} cuLibraryGetGlobal_params;
385
386typedef struct cuLibraryGetManaged_params_st {
387 CUdeviceptr *dptr;
388 size_t *bytes;
389 CUlibrary library;
390 const char *name;
391} cuLibraryGetManaged_params;
392
393typedef struct cuLibraryGetUnifiedFunction_params_st {
394 void **fptr;
395 CUlibrary library;
396 const char *symbol;
397} cuLibraryGetUnifiedFunction_params;
398
399typedef struct cuKernelGetAttribute_params_st {
400 int *pi;
401 CUfunction_attribute attrib;
402 CUkernel kernel;
403 CUdevice dev;
404} cuKernelGetAttribute_params;
405
406typedef struct cuKernelSetAttribute_params_st {
407 CUfunction_attribute attrib;
408 int val;
409 CUkernel kernel;
410 CUdevice dev;
411} cuKernelSetAttribute_params;
412
413typedef struct cuKernelSetCacheConfig_params_st {
414 CUkernel kernel;
415 CUfunc_cache config;
416 CUdevice dev;
417} cuKernelSetCacheConfig_params;
418
419typedef struct cuMemGetInfo_v2_params_st {
420 size_t *free;
421 size_t *total;
422} cuMemGetInfo_v2_params;
423
424typedef struct cuMemAlloc_v2_params_st {
425 CUdeviceptr *dptr;
426 size_t bytesize;
427} cuMemAlloc_v2_params;
428
429typedef struct cuMemAllocPitch_v2_params_st {
430 CUdeviceptr *dptr;
431 size_t *pPitch;
432 size_t WidthInBytes;
433 size_t Height;
434 unsigned int ElementSizeBytes;
435} cuMemAllocPitch_v2_params;
436
437typedef struct cuMemFree_v2_params_st {
438 CUdeviceptr dptr;
439} cuMemFree_v2_params;
440
441typedef struct cuMemGetAddressRange_v2_params_st {
442 CUdeviceptr *pbase;
443 size_t *psize;
444 CUdeviceptr dptr;
445} cuMemGetAddressRange_v2_params;
446
447typedef struct cuMemAllocHost_v2_params_st {
448 void **pp;
449 size_t bytesize;
450} cuMemAllocHost_v2_params;
451
452typedef struct cuMemFreeHost_params_st {
453 void *p;
454} cuMemFreeHost_params;
455
456typedef struct cuMemHostAlloc_params_st {
457 void **pp;
458 size_t bytesize;
459 unsigned int Flags;
460} cuMemHostAlloc_params;
461
462typedef struct cuMemHostGetDevicePointer_v2_params_st {
463 CUdeviceptr *pdptr;
464 void *p;
465 unsigned int Flags;
466} cuMemHostGetDevicePointer_v2_params;
467
468typedef struct cuMemHostGetFlags_params_st {
469 unsigned int *pFlags;
470 void *p;
471} cuMemHostGetFlags_params;
472
473typedef struct cuMemAllocManaged_params_st {
474 CUdeviceptr *dptr;
475 size_t bytesize;
476 unsigned int flags;
477} cuMemAllocManaged_params;
478
479typedef struct cuDeviceGetByPCIBusId_params_st {
480 CUdevice *dev;
481 const char *pciBusId;
482} cuDeviceGetByPCIBusId_params;
483
484typedef struct cuDeviceGetPCIBusId_params_st {
485 char *pciBusId;
486 int len;
487 CUdevice dev;
488} cuDeviceGetPCIBusId_params;
489
490typedef struct cuIpcGetEventHandle_params_st {
491 CUipcEventHandle *pHandle;
492 CUevent event;
493} cuIpcGetEventHandle_params;
494
495typedef struct cuIpcOpenEventHandle_params_st {
496 CUevent *phEvent;
497 CUipcEventHandle handle;
498} cuIpcOpenEventHandle_params;
499
500typedef struct cuIpcGetMemHandle_params_st {
501 CUipcMemHandle *pHandle;
502 CUdeviceptr dptr;
503} cuIpcGetMemHandle_params;
504
505typedef struct cuIpcOpenMemHandle_v2_params_st {
506 CUdeviceptr *pdptr;
507 CUipcMemHandle handle;
508 unsigned int Flags;
509} cuIpcOpenMemHandle_v2_params;
510
511typedef struct cuIpcCloseMemHandle_params_st {
512 CUdeviceptr dptr;
513} cuIpcCloseMemHandle_params;
514
515typedef struct cuMemHostRegister_v2_params_st {
516 void *p;
517 size_t bytesize;
518 unsigned int Flags;
519} cuMemHostRegister_v2_params;
520
521typedef struct cuMemHostUnregister_params_st {
522 void *p;
523} cuMemHostUnregister_params;
524
525typedef struct cuMemcpy_ptds_params_st {
526 CUdeviceptr dst;
527 CUdeviceptr src;
528 size_t ByteCount;
529} cuMemcpy_ptds_params;
530
531typedef struct cuMemcpyPeer_ptds_params_st {
532 CUdeviceptr dstDevice;
533 CUcontext dstContext;
534 CUdeviceptr srcDevice;
535 CUcontext srcContext;
536 size_t ByteCount;
537} cuMemcpyPeer_ptds_params;
538
539typedef struct cuMemcpyHtoD_v2_ptds_params_st {
540 CUdeviceptr dstDevice;
541 const void *srcHost;
542 size_t ByteCount;
543} cuMemcpyHtoD_v2_ptds_params;
544
545typedef struct cuMemcpyDtoH_v2_ptds_params_st {
546 void *dstHost;
547 CUdeviceptr srcDevice;
548 size_t ByteCount;
549} cuMemcpyDtoH_v2_ptds_params;
550
551typedef struct cuMemcpyDtoD_v2_ptds_params_st {
552 CUdeviceptr dstDevice;
553 CUdeviceptr srcDevice;
554 size_t ByteCount;
555} cuMemcpyDtoD_v2_ptds_params;
556
557typedef struct cuMemcpyDtoA_v2_ptds_params_st {
558 CUarray dstArray;
559 size_t dstOffset;
560 CUdeviceptr srcDevice;
561 size_t ByteCount;
562} cuMemcpyDtoA_v2_ptds_params;
563
564typedef struct cuMemcpyAtoD_v2_ptds_params_st {
565 CUdeviceptr dstDevice;
566 CUarray srcArray;
567 size_t srcOffset;
568 size_t ByteCount;
569} cuMemcpyAtoD_v2_ptds_params;
570
571typedef struct cuMemcpyHtoA_v2_ptds_params_st {
572 CUarray dstArray;
573 size_t dstOffset;
574 const void *srcHost;
575 size_t ByteCount;
576} cuMemcpyHtoA_v2_ptds_params;
577
578typedef struct cuMemcpyAtoH_v2_ptds_params_st {
579 void *dstHost;
580 CUarray srcArray;
581 size_t srcOffset;
582 size_t ByteCount;
583} cuMemcpyAtoH_v2_ptds_params;
584
585typedef struct cuMemcpyAtoA_v2_ptds_params_st {
586 CUarray dstArray;
587 size_t dstOffset;
588 CUarray srcArray;
589 size_t srcOffset;
590 size_t ByteCount;
591} cuMemcpyAtoA_v2_ptds_params;
592
593typedef struct cuMemcpy2D_v2_ptds_params_st {
594 const CUDA_MEMCPY2D *pCopy;
595} cuMemcpy2D_v2_ptds_params;
596
597typedef struct cuMemcpy2DUnaligned_v2_ptds_params_st {
598 const CUDA_MEMCPY2D *pCopy;
599} cuMemcpy2DUnaligned_v2_ptds_params;
600
601typedef struct cuMemcpy3D_v2_ptds_params_st {
602 const CUDA_MEMCPY3D *pCopy;
603} cuMemcpy3D_v2_ptds_params;
604
605typedef struct cuMemcpy3DPeer_ptds_params_st {
606 const CUDA_MEMCPY3D_PEER *pCopy;
607} cuMemcpy3DPeer_ptds_params;
608
609typedef struct cuMemcpyAsync_ptsz_params_st {
610 CUdeviceptr dst;
611 CUdeviceptr src;
612 size_t ByteCount;
613 CUstream hStream;
614} cuMemcpyAsync_ptsz_params;
615
616typedef struct cuMemcpyPeerAsync_ptsz_params_st {
617 CUdeviceptr dstDevice;
618 CUcontext dstContext;
619 CUdeviceptr srcDevice;
620 CUcontext srcContext;
621 size_t ByteCount;
622 CUstream hStream;
623} cuMemcpyPeerAsync_ptsz_params;
624
625typedef struct cuMemcpyHtoDAsync_v2_ptsz_params_st {
626 CUdeviceptr dstDevice;
627 const void *srcHost;
628 size_t ByteCount;
629 CUstream hStream;
630} cuMemcpyHtoDAsync_v2_ptsz_params;
631
632typedef struct cuMemcpyDtoHAsync_v2_ptsz_params_st {
633 void *dstHost;
634 CUdeviceptr srcDevice;
635 size_t ByteCount;
636 CUstream hStream;
637} cuMemcpyDtoHAsync_v2_ptsz_params;
638
639typedef struct cuMemcpyDtoDAsync_v2_ptsz_params_st {
640 CUdeviceptr dstDevice;
641 CUdeviceptr srcDevice;
642 size_t ByteCount;
643 CUstream hStream;
644} cuMemcpyDtoDAsync_v2_ptsz_params;
645
646typedef struct cuMemcpyHtoAAsync_v2_ptsz_params_st {
647 CUarray dstArray;
648 size_t dstOffset;
649 const void *srcHost;
650 size_t ByteCount;
651 CUstream hStream;
652} cuMemcpyHtoAAsync_v2_ptsz_params;
653
654typedef struct cuMemcpyAtoHAsync_v2_ptsz_params_st {
655 void *dstHost;
656 CUarray srcArray;
657 size_t srcOffset;
658 size_t ByteCount;
659 CUstream hStream;
660} cuMemcpyAtoHAsync_v2_ptsz_params;
661
662typedef struct cuMemcpy2DAsync_v2_ptsz_params_st {
663 const CUDA_MEMCPY2D *pCopy;
664 CUstream hStream;
665} cuMemcpy2DAsync_v2_ptsz_params;
666
667typedef struct cuMemcpy3DAsync_v2_ptsz_params_st {
668 const CUDA_MEMCPY3D *pCopy;
669 CUstream hStream;
670} cuMemcpy3DAsync_v2_ptsz_params;
671
672typedef struct cuMemcpy3DPeerAsync_ptsz_params_st {
673 const CUDA_MEMCPY3D_PEER *pCopy;
674 CUstream hStream;
675} cuMemcpy3DPeerAsync_ptsz_params;
676
677typedef struct cuMemsetD8_v2_ptds_params_st {
678 CUdeviceptr dstDevice;
679 unsigned char uc;
680 size_t N;
681} cuMemsetD8_v2_ptds_params;
682
683typedef struct cuMemsetD16_v2_ptds_params_st {
684 CUdeviceptr dstDevice;
685 unsigned short us;
686 size_t N;
687} cuMemsetD16_v2_ptds_params;
688
689typedef struct cuMemsetD32_v2_ptds_params_st {
690 CUdeviceptr dstDevice;
691 unsigned int ui;
692 size_t N;
693} cuMemsetD32_v2_ptds_params;
694
695typedef struct cuMemsetD2D8_v2_ptds_params_st {
696 CUdeviceptr dstDevice;
697 size_t dstPitch;
698 unsigned char uc;
699 size_t Width;
700 size_t Height;
701} cuMemsetD2D8_v2_ptds_params;
702
703typedef struct cuMemsetD2D16_v2_ptds_params_st {
704 CUdeviceptr dstDevice;
705 size_t dstPitch;
706 unsigned short us;
707 size_t Width;
708 size_t Height;
709} cuMemsetD2D16_v2_ptds_params;
710
711typedef struct cuMemsetD2D32_v2_ptds_params_st {
712 CUdeviceptr dstDevice;
713 size_t dstPitch;
714 unsigned int ui;
715 size_t Width;
716 size_t Height;
717} cuMemsetD2D32_v2_ptds_params;
718
719typedef struct cuMemsetD8Async_ptsz_params_st {
720 CUdeviceptr dstDevice;
721 unsigned char uc;
722 size_t N;
723 CUstream hStream;
724} cuMemsetD8Async_ptsz_params;
725
726typedef struct cuMemsetD16Async_ptsz_params_st {
727 CUdeviceptr dstDevice;
728 unsigned short us;
729 size_t N;
730 CUstream hStream;
731} cuMemsetD16Async_ptsz_params;
732
733typedef struct cuMemsetD32Async_ptsz_params_st {
734 CUdeviceptr dstDevice;
735 unsigned int ui;
736 size_t N;
737 CUstream hStream;
738} cuMemsetD32Async_ptsz_params;
739
740typedef struct cuMemsetD2D8Async_ptsz_params_st {
741 CUdeviceptr dstDevice;
742 size_t dstPitch;
743 unsigned char uc;
744 size_t Width;
745 size_t Height;
746 CUstream hStream;
747} cuMemsetD2D8Async_ptsz_params;
748
749typedef struct cuMemsetD2D16Async_ptsz_params_st {
750 CUdeviceptr dstDevice;
751 size_t dstPitch;
752 unsigned short us;
753 size_t Width;
754 size_t Height;
755 CUstream hStream;
756} cuMemsetD2D16Async_ptsz_params;
757
758typedef struct cuMemsetD2D32Async_ptsz_params_st {
759 CUdeviceptr dstDevice;
760 size_t dstPitch;
761 unsigned int ui;
762 size_t Width;
763 size_t Height;
764 CUstream hStream;
765} cuMemsetD2D32Async_ptsz_params;
766
767typedef struct cuArrayCreate_v2_params_st {
768 CUarray *pHandle;
769 const CUDA_ARRAY_DESCRIPTOR *pAllocateArray;
770} cuArrayCreate_v2_params;
771
772typedef struct cuArrayGetDescriptor_v2_params_st {
773 CUDA_ARRAY_DESCRIPTOR *pArrayDescriptor;
774 CUarray hArray;
775} cuArrayGetDescriptor_v2_params;
776
777typedef struct cuArrayGetSparseProperties_params_st {
778 CUDA_ARRAY_SPARSE_PROPERTIES *sparseProperties;
779 CUarray array;
780} cuArrayGetSparseProperties_params;
781
782typedef struct cuMipmappedArrayGetSparseProperties_params_st {
783 CUDA_ARRAY_SPARSE_PROPERTIES *sparseProperties;
784 CUmipmappedArray mipmap;
785} cuMipmappedArrayGetSparseProperties_params;
786
787typedef struct cuArrayGetMemoryRequirements_params_st {
788 CUDA_ARRAY_MEMORY_REQUIREMENTS *memoryRequirements;
789 CUarray array;
790 CUdevice device;
791} cuArrayGetMemoryRequirements_params;
792
793typedef struct cuMipmappedArrayGetMemoryRequirements_params_st {
794 CUDA_ARRAY_MEMORY_REQUIREMENTS *memoryRequirements;
795 CUmipmappedArray mipmap;
796 CUdevice device;
797} cuMipmappedArrayGetMemoryRequirements_params;
798
799typedef struct cuArrayGetPlane_params_st {
800 CUarray *pPlaneArray;
801 CUarray hArray;
802 unsigned int planeIdx;
803} cuArrayGetPlane_params;
804
805typedef struct cuArrayDestroy_params_st {
806 CUarray hArray;
807} cuArrayDestroy_params;
808
809typedef struct cuArray3DCreate_v2_params_st {
810 CUarray *pHandle;
811 const CUDA_ARRAY3D_DESCRIPTOR *pAllocateArray;
812} cuArray3DCreate_v2_params;
813
814typedef struct cuArray3DGetDescriptor_v2_params_st {
815 CUDA_ARRAY3D_DESCRIPTOR *pArrayDescriptor;
816 CUarray hArray;
817} cuArray3DGetDescriptor_v2_params;
818
819typedef struct cuMipmappedArrayCreate_params_st {
820 CUmipmappedArray *pHandle;
821 const CUDA_ARRAY3D_DESCRIPTOR *pMipmappedArrayDesc;
822 unsigned int numMipmapLevels;
823} cuMipmappedArrayCreate_params;
824
825typedef struct cuMipmappedArrayGetLevel_params_st {
826 CUarray *pLevelArray;
827 CUmipmappedArray hMipmappedArray;
828 unsigned int level;
829} cuMipmappedArrayGetLevel_params;
830
831typedef struct cuMipmappedArrayDestroy_params_st {
832 CUmipmappedArray hMipmappedArray;
833} cuMipmappedArrayDestroy_params;
834
835typedef struct cuMemGetHandleForAddressRange_params_st {
836 void *handle;
837 CUdeviceptr dptr;
838 size_t size;
839 CUmemRangeHandleType handleType;
840 unsigned long long flags;
841} cuMemGetHandleForAddressRange_params;
842
843typedef struct cuMemAddressReserve_params_st {
844 CUdeviceptr *ptr;
845 size_t size;
846 size_t alignment;
847 CUdeviceptr addr;
848 unsigned long long flags;
849} cuMemAddressReserve_params;
850
851typedef struct cuMemAddressFree_params_st {
852 CUdeviceptr ptr;
853 size_t size;
854} cuMemAddressFree_params;
855
856typedef struct cuMemCreate_params_st {
857 CUmemGenericAllocationHandle *handle;
858 size_t size;
859 const CUmemAllocationProp *prop;
860 unsigned long long flags;
861} cuMemCreate_params;
862
863typedef struct cuMemRelease_params_st {
864 CUmemGenericAllocationHandle handle;
865} cuMemRelease_params;
866
867typedef struct cuMemMap_params_st {
868 CUdeviceptr ptr;
869 size_t size;
870 size_t offset;
871 CUmemGenericAllocationHandle handle;
872 unsigned long long flags;
873} cuMemMap_params;
874
875typedef struct cuMemMapArrayAsync_ptsz_params_st {
876 CUarrayMapInfo *mapInfoList;
877 unsigned int count;
878 CUstream hStream;
879} cuMemMapArrayAsync_ptsz_params;
880
881typedef struct cuMemUnmap_params_st {
882 CUdeviceptr ptr;
883 size_t size;
884} cuMemUnmap_params;
885
886typedef struct cuMemSetAccess_params_st {
887 CUdeviceptr ptr;
888 size_t size;
889 const CUmemAccessDesc *desc;
890 size_t count;
891} cuMemSetAccess_params;
892
893typedef struct cuMemGetAccess_params_st {
894 unsigned long long *flags;
895 const CUmemLocation *location;
896 CUdeviceptr ptr;
897} cuMemGetAccess_params;
898
899typedef struct cuMemExportToShareableHandle_params_st {
900 void *shareableHandle;
901 CUmemGenericAllocationHandle handle;
902 CUmemAllocationHandleType handleType;
903 unsigned long long flags;
904} cuMemExportToShareableHandle_params;
905
906typedef struct cuMemImportFromShareableHandle_params_st {
907 CUmemGenericAllocationHandle *handle;
908 void *osHandle;
909 CUmemAllocationHandleType shHandleType;
910} cuMemImportFromShareableHandle_params;
911
912typedef struct cuMemGetAllocationGranularity_params_st {
913 size_t *granularity;
914 const CUmemAllocationProp *prop;
915 CUmemAllocationGranularity_flags option;
916} cuMemGetAllocationGranularity_params;
917
918typedef struct cuMemGetAllocationPropertiesFromHandle_params_st {
919 CUmemAllocationProp *prop;
920 CUmemGenericAllocationHandle handle;
921} cuMemGetAllocationPropertiesFromHandle_params;
922
923typedef struct cuMemRetainAllocationHandle_params_st {
924 CUmemGenericAllocationHandle *handle;
925 void *addr;
926} cuMemRetainAllocationHandle_params;
927
928typedef struct cuMemFreeAsync_ptsz_params_st {
929 CUdeviceptr dptr;
930 CUstream hStream;
931} cuMemFreeAsync_ptsz_params;
932
933typedef struct cuMemAllocAsync_ptsz_params_st {
934 CUdeviceptr *dptr;
935 size_t bytesize;
936 CUstream hStream;
937} cuMemAllocAsync_ptsz_params;
938
939typedef struct cuMemPoolTrimTo_params_st {
940 CUmemoryPool pool;
941 size_t minBytesToKeep;
942} cuMemPoolTrimTo_params;
943
944typedef struct cuMemPoolSetAttribute_params_st {
945 CUmemoryPool pool;
946 CUmemPool_attribute attr;
947 void *value;
948} cuMemPoolSetAttribute_params;
949
950typedef struct cuMemPoolGetAttribute_params_st {
951 CUmemoryPool pool;
952 CUmemPool_attribute attr;
953 void *value;
954} cuMemPoolGetAttribute_params;
955
956typedef struct cuMemPoolSetAccess_params_st {
957 CUmemoryPool pool;
958 const CUmemAccessDesc *map;
959 size_t count;
960} cuMemPoolSetAccess_params;
961
962typedef struct cuMemPoolGetAccess_params_st {
963 CUmemAccess_flags *flags;
964 CUmemoryPool memPool;
965 CUmemLocation *location;
966} cuMemPoolGetAccess_params;
967
968typedef struct cuMemPoolCreate_params_st {
969 CUmemoryPool *pool;
970 const CUmemPoolProps *poolProps;
971} cuMemPoolCreate_params;
972
973typedef struct cuMemPoolDestroy_params_st {
974 CUmemoryPool pool;
975} cuMemPoolDestroy_params;
976
977typedef struct cuMemAllocFromPoolAsync_ptsz_params_st {
978 CUdeviceptr *dptr;
979 size_t bytesize;
980 CUmemoryPool pool;
981 CUstream hStream;
982} cuMemAllocFromPoolAsync_ptsz_params;
983
984typedef struct cuMemPoolExportToShareableHandle_params_st {
985 void *handle_out;
986 CUmemoryPool pool;
987 CUmemAllocationHandleType handleType;
988 unsigned long long flags;
989} cuMemPoolExportToShareableHandle_params;
990
991typedef struct cuMemPoolImportFromShareableHandle_params_st {
992 CUmemoryPool *pool_out;
993 void *handle;
994 CUmemAllocationHandleType handleType;
995 unsigned long long flags;
996} cuMemPoolImportFromShareableHandle_params;
997
998typedef struct cuMemPoolExportPointer_params_st {
999 CUmemPoolPtrExportData *shareData_out;
1000 CUdeviceptr ptr;
1001} cuMemPoolExportPointer_params;
1002
1003typedef struct cuMemPoolImportPointer_params_st {
1004 CUdeviceptr *ptr_out;
1005 CUmemoryPool pool;
1006 CUmemPoolPtrExportData *shareData;
1007} cuMemPoolImportPointer_params;
1008
1009typedef struct cuPointerGetAttribute_params_st {
1010 void *data;
1011 CUpointer_attribute attribute;
1012 CUdeviceptr ptr;
1013} cuPointerGetAttribute_params;
1014
1015typedef struct cuMemPrefetchAsync_ptsz_params_st {
1016 CUdeviceptr devPtr;
1017 size_t count;
1018 CUdevice dstDevice;
1019 CUstream hStream;
1020} cuMemPrefetchAsync_ptsz_params;
1021
1022typedef struct cuMemAdvise_params_st {
1023 CUdeviceptr devPtr;
1024 size_t count;
1025 CUmem_advise advice;
1026 CUdevice device;
1027} cuMemAdvise_params;
1028
1029typedef struct cuMemRangeGetAttribute_params_st {
1030 void *data;
1031 size_t dataSize;
1032 CUmem_range_attribute attribute;
1033 CUdeviceptr devPtr;
1034 size_t count;
1035} cuMemRangeGetAttribute_params;
1036
1037typedef struct cuMemRangeGetAttributes_params_st {
1038 void **data;
1039 size_t *dataSizes;
1040 CUmem_range_attribute *attributes;
1041 size_t numAttributes;
1042 CUdeviceptr devPtr;
1043 size_t count;
1044} cuMemRangeGetAttributes_params;
1045
1046typedef struct cuPointerSetAttribute_params_st {
1047 const void *value;
1048 CUpointer_attribute attribute;
1049 CUdeviceptr ptr;
1050} cuPointerSetAttribute_params;
1051
1052typedef struct cuPointerGetAttributes_params_st {
1053 unsigned int numAttributes;
1054 CUpointer_attribute *attributes;
1055 void **data;
1056 CUdeviceptr ptr;
1057} cuPointerGetAttributes_params;
1058
1059typedef struct cuStreamCreate_params_st {
1060 CUstream *phStream;
1061 unsigned int Flags;
1062} cuStreamCreate_params;
1063
1064typedef struct cuStreamCreateWithPriority_params_st {
1065 CUstream *phStream;
1066 unsigned int flags;
1067 int priority;
1068} cuStreamCreateWithPriority_params;
1069
1070typedef struct cuStreamGetPriority_ptsz_params_st {
1071 CUstream hStream;
1072 int *priority;
1073} cuStreamGetPriority_ptsz_params;
1074
1075typedef struct cuStreamGetFlags_ptsz_params_st {
1076 CUstream hStream;
1077 unsigned int *flags;
1078} cuStreamGetFlags_ptsz_params;
1079
1080typedef struct cuStreamGetId_ptsz_params_st {
1081 CUstream hStream;
1082 unsigned long long *streamId;
1083} cuStreamGetId_ptsz_params;
1084
1085typedef struct cuStreamGetCtx_ptsz_params_st {
1086 CUstream hStream;
1087 CUcontext *pctx;
1088} cuStreamGetCtx_ptsz_params;
1089
1090typedef struct cuStreamWaitEvent_ptsz_params_st {
1091 CUstream hStream;
1092 CUevent hEvent;
1093 unsigned int Flags;
1094} cuStreamWaitEvent_ptsz_params;
1095
1096typedef struct cuStreamAddCallback_ptsz_params_st {
1097 CUstream hStream;
1098 CUstreamCallback callback;
1099 void *userData;
1100 unsigned int flags;
1101} cuStreamAddCallback_ptsz_params;
1102
1103typedef struct cuStreamBeginCapture_v2_ptsz_params_st {
1104 CUstream hStream;
1105 CUstreamCaptureMode mode;
1106} cuStreamBeginCapture_v2_ptsz_params;
1107
1108typedef struct cuThreadExchangeStreamCaptureMode_params_st {
1109 CUstreamCaptureMode *mode;
1110} cuThreadExchangeStreamCaptureMode_params;
1111
1112typedef struct cuStreamEndCapture_ptsz_params_st {
1113 CUstream hStream;
1114 CUgraph *phGraph;
1115} cuStreamEndCapture_ptsz_params;
1116
1117typedef struct cuStreamIsCapturing_ptsz_params_st {
1118 CUstream hStream;
1119 CUstreamCaptureStatus *captureStatus;
1120} cuStreamIsCapturing_ptsz_params;
1121
1122typedef struct cuStreamGetCaptureInfo_ptsz_params_st {
1123 CUstream hStream;
1124 CUstreamCaptureStatus *captureStatus_out;
1125 cuuint64_t *id_out;
1126} cuStreamGetCaptureInfo_ptsz_params;
1127
1128typedef struct cuStreamGetCaptureInfo_v2_ptsz_params_st {
1129 CUstream hStream;
1130 CUstreamCaptureStatus *captureStatus_out;
1131 cuuint64_t *id_out;
1132 CUgraph *graph_out;
1133 const CUgraphNode **dependencies_out;
1134 size_t *numDependencies_out;
1135} cuStreamGetCaptureInfo_v2_ptsz_params;
1136
1137typedef struct cuStreamUpdateCaptureDependencies_ptsz_params_st {
1138 CUstream hStream;
1139 CUgraphNode *dependencies;
1140 size_t numDependencies;
1141 unsigned int flags;
1142} cuStreamUpdateCaptureDependencies_ptsz_params;
1143
1144typedef struct cuStreamAttachMemAsync_ptsz_params_st {
1145 CUstream hStream;
1146 CUdeviceptr dptr;
1147 size_t length;
1148 unsigned int flags;
1149} cuStreamAttachMemAsync_ptsz_params;
1150
1151typedef struct cuStreamQuery_ptsz_params_st {
1152 CUstream hStream;
1153} cuStreamQuery_ptsz_params;
1154
1155typedef struct cuStreamSynchronize_ptsz_params_st {
1156 CUstream hStream;
1157} cuStreamSynchronize_ptsz_params;
1158
1159typedef struct cuStreamDestroy_v2_params_st {
1160 CUstream hStream;
1161} cuStreamDestroy_v2_params;
1162
1163typedef struct cuStreamCopyAttributes_ptsz_params_st {
1164 CUstream dst;
1165 CUstream src;
1166} cuStreamCopyAttributes_ptsz_params;
1167
1168typedef struct cuStreamGetAttribute_ptsz_params_st {
1169 CUstream hStream;
1170 CUstreamAttrID attr;
1171 CUstreamAttrValue *value_out;
1172} cuStreamGetAttribute_ptsz_params;
1173
1174typedef struct cuStreamSetAttribute_ptsz_params_st {
1175 CUstream hStream;
1176 CUstreamAttrID attr;
1177 const CUstreamAttrValue *value;
1178} cuStreamSetAttribute_ptsz_params;
1179
1180typedef struct cuEventCreate_params_st {
1181 CUevent *phEvent;
1182 unsigned int Flags;
1183} cuEventCreate_params;
1184
1185typedef struct cuEventRecord_ptsz_params_st {
1186 CUevent hEvent;
1187 CUstream hStream;
1188} cuEventRecord_ptsz_params;
1189
1190typedef struct cuEventRecordWithFlags_ptsz_params_st {
1191 CUevent hEvent;
1192 CUstream hStream;
1193 unsigned int flags;
1194} cuEventRecordWithFlags_ptsz_params;
1195
1196typedef struct cuEventQuery_params_st {
1197 CUevent hEvent;
1198} cuEventQuery_params;
1199
1200typedef struct cuEventSynchronize_params_st {
