1 ! Copyright (C) 2010 Joe Groff.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors alien alien.c-types alien.libraries alien.syntax
4 classes.struct combinators kernel system ;
9 { [ os windows? ] [ "nvcuda.dll" stdcall ] }
10 { [ os macosx? ] [ "/usr/local/cuda/lib/libcuda.dylib" cdecl ] }
11 { [ os unix? ] [ "libcuda.so" cdecl ] }
17 TYPEDEF: uint CUdeviceptr
19 TYPEDEF: void* CUcontext
20 TYPEDEF: void* CUmodule
21 TYPEDEF: void* CUfunction
22 TYPEDEF: void* CUarray
23 TYPEDEF: void* CUtexref
24 TYPEDEF: void* CUevent
25 TYPEDEF: void* CUstream
26 TYPEDEF: void* CUgraphicsResource
28 ! versions of double and longlong that always 8-byte align
30 SYMBOLS: CUdouble CUlonglong CUulonglong ;
33 : always-8-byte-align ( c-type -- c-type )
34 8 >>align 8 >>align-first ;
36 longlong lookup-c-type clone always-8-byte-align \ CUlonglong typedef
37 ulonglong lookup-c-type clone always-8-byte-align \ CUulonglong typedef
38 double lookup-c-type clone always-8-byte-align \ CUdouble typedef
45 { CU_CTX_SCHED_AUTO 0 }
46 { CU_CTX_SCHED_SPIN 1 }
47 { CU_CTX_SCHED_YIELD 2 }
48 { CU_CTX_SCHED_MASK 3 }
49 { CU_CTX_BLOCKING_SYNC 4 }
51 { CU_CTX_LMEM_RESIZE_TO_MAX 16 }
52 { CU_CTX_FLAGS_MASK 0x1f } ;
55 { CU_EVENT_DEFAULT 0 }
56 { CU_EVENT_BLOCKING_SYNC 1 } ;
59 { CU_AD_FORMAT_UNSIGNED_INT8 0x01 }
60 { CU_AD_FORMAT_UNSIGNED_INT16 0x02 }
61 { CU_AD_FORMAT_UNSIGNED_INT32 0x03 }
62 { CU_AD_FORMAT_SIGNED_INT8 0x08 }
63 { CU_AD_FORMAT_SIGNED_INT16 0x09 }
64 { CU_AD_FORMAT_SIGNED_INT32 0x0a }
65 { CU_AD_FORMAT_HALF 0x10 }
66 { CU_AD_FORMAT_FLOAT 0x20 } ;
69 { CU_TR_ADDRESS_MODE_WRAP 0 }
70 { CU_TR_ADDRESS_MODE_CLAMP 1 }
71 { CU_TR_ADDRESS_MODE_MIRROR 2 } ;
74 { CU_TR_FILTER_MODE_POINT 0 }
75 { CU_TR_FILTER_MODE_LINEAR 1 } ;
77 ENUM: CUdevice_attribute
78 { CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK 1 }
79 { CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X 2 }
80 { CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y 3 }
81 { CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z 4 }
82 { CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X 5 }
83 { CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y 6 }
84 { CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z 7 }
85 { CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK 8 }
86 { CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK 8 }
87 { CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY 9 }
88 { CU_DEVICE_ATTRIBUTE_WARP_SIZE 10 }
89 { CU_DEVICE_ATTRIBUTE_MAX_PITCH 11 }
90 { CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK 12 }
91 { CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK 12 }
92 { CU_DEVICE_ATTRIBUTE_CLOCK_RATE 13 }
93 { CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT 14 }
95 { CU_DEVICE_ATTRIBUTE_GPU_OVERLAP 15 }
96 { CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT 16 }
97 { CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT 17 }
98 { CU_DEVICE_ATTRIBUTE_INTEGRATED 18 }
99 { CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY 19 }
100 { CU_DEVICE_ATTRIBUTE_COMPUTE_MODE 20 }
101 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH 21 }
102 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH 22 }
103 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT 23 }
104 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH 24 }
105 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT 25 }
106 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH 26 }
107 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH 27 }
108 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT 28 }
109 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES 29 }
110 { CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT 30 }
111 { CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS 31 }
112 { CU_DEVICE_ATTRIBUTE_ECC_ENABLED 32 } ;
115 { maxThreadsPerBlock int }
116 { maxThreadsDim int[3] }
117 { maxGridSize int[3] }
118 { sharedMemPerBlock int }
119 { totalConstantMemory int }
124 { textureAlign int } ;
126 ENUM: CUfunction_attribute
127 { CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK 0 }
128 { CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES 1 }
129 { CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES 2 }
130 { CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES 3 }
131 { CU_FUNC_ATTRIBUTE_NUM_REGS 4 }
132 { CU_FUNC_ATTRIBUTE_PTX_VERSION 5 }
133 { CU_FUNC_ATTRIBUTE_BINARY_VERSION 6 }
134 CU_FUNC_ATTRIBUTE_MAX ;
137 { CU_FUNC_CACHE_PREFER_NONE 0x00 }
138 { CU_FUNC_CACHE_PREFER_SHARED 0x01 }
139 { CU_FUNC_CACHE_PREFER_L1 0x02 } ;
142 { CU_MEMORYTYPE_HOST 0x01 }
143 { CU_MEMORYTYPE_DEVICE 0x02 }
144 { CU_MEMORYTYPE_ARRAY 0x03 } ;
147 { CU_COMPUTEMODE_DEFAULT 0 }
148 { CU_COMPUTEMODE_EXCLUSIVE 1 }
149 { CU_COMPUTEMODE_PROHIBITED 2 } ;
152 { CU_JIT_MAX_REGISTERS 0 }
153 CU_JIT_THREADS_PER_BLOCK
155 CU_JIT_INFO_LOG_BUFFER
156 CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES
157 CU_JIT_ERROR_LOG_BUFFER
158 CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES
159 CU_JIT_OPTIMIZATION_LEVEL
160 CU_JIT_TARGET_FROM_CUCONTEXT
162 CU_JIT_FALLBACK_STRATEGY ;
165 { CU_TARGET_COMPUTE_10 0 }
169 CU_TARGET_COMPUTE_20 ;
175 ENUM: CUgraphicsRegisterFlags
176 { CU_GRAPHICS_REGISTER_FLAGS_NONE 0 } ;
178 ENUM: CUgraphicsMapResourceFlags
179 { CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE 0x00 }
180 { CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY 0x01 }
181 { CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD 0x02 } ;
183 ENUM: CUarray_cubemap_face
184 { CU_CUBEMAP_FACE_POSITIVE_X 0x00 }
185 { CU_CUBEMAP_FACE_NEGATIVE_X 0x01 }
186 { CU_CUBEMAP_FACE_POSITIVE_Y 0x02 }
187 { CU_CUBEMAP_FACE_NEGATIVE_Y 0x03 }
188 { CU_CUBEMAP_FACE_POSITIVE_Z 0x04 }
189 { CU_CUBEMAP_FACE_NEGATIVE_Z 0x05 } ;
193 { CUDA_ERROR_INVALID_VALUE 1 }
194 { CUDA_ERROR_OUT_OF_MEMORY 2 }
195 { CUDA_ERROR_NOT_INITIALIZED 3 }
196 { CUDA_ERROR_DEINITIALIZED 4 }
198 { CUDA_ERROR_NO_DEVICE 100 }
199 { CUDA_ERROR_INVALID_DEVICE 101 }
201 { CUDA_ERROR_INVALID_IMAGE 200 }
202 { CUDA_ERROR_INVALID_CONTEXT 201 }
203 { CUDA_ERROR_CONTEXT_ALREADY_CURRENT 202 }
204 { CUDA_ERROR_MAP_FAILED 205 }
205 { CUDA_ERROR_UNMAP_FAILED 206 }
206 { CUDA_ERROR_ARRAY_IS_MAPPED 207 }
207 { CUDA_ERROR_ALREADY_MAPPED 208 }
208 { CUDA_ERROR_NO_BINARY_FOR_GPU 209 }
209 { CUDA_ERROR_ALREADY_ACQUIRED 210 }
210 { CUDA_ERROR_NOT_MAPPED 211 }
211 { CUDA_ERROR_NOT_MAPPED_AS_ARRAY 212 }
212 { CUDA_ERROR_NOT_MAPPED_AS_POINTER 213 }
213 { CUDA_ERROR_ECC_UNCORRECTABLE 214 }
215 { CUDA_ERROR_INVALID_SOURCE 300 }
216 { CUDA_ERROR_FILE_NOT_FOUND 301 }
218 { CUDA_ERROR_INVALID_HANDLE 400 }
220 { CUDA_ERROR_NOT_FOUND 500 }
222 { CUDA_ERROR_NOT_READY 600 }
224 { CUDA_ERROR_LAUNCH_FAILED 700 }
225 { CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES 701 }
226 { CUDA_ERROR_LAUNCH_TIMEOUT 702 }
227 { CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING 703 }
229 { CUDA_ERROR_POINTER_IS_64BIT 800 }
230 { CUDA_ERROR_SIZE_IS_64BIT 801 }
232 { CUDA_ERROR_UNKNOWN 999 } ;
234 CONSTANT: CU_MEMHOSTALLOC_PORTABLE 0x01
235 CONSTANT: CU_MEMHOSTALLOC_DEVICEMAP 0x02
236 CONSTANT: CU_MEMHOSTALLOC_WRITECOMBINED 0x04
238 STRUCT: CUDA_MEMCPY2D
241 { srcMemoryType CUmemorytype }
243 { srcDevice CUdeviceptr }
248 { dstMemoryType CUmemorytype }
250 { dstDevice CUdeviceptr }
253 { WidthInBytes uint }
256 STRUCT: CUDA_MEMCPY3D
261 { srcMemoryType CUmemorytype }
263 { srcDevice CUdeviceptr }
272 { dstMemoryType CUmemorytype }
274 { dstDevice CUdeviceptr }
279 { WidthInBytes uint }
283 STRUCT: CUDA_ARRAY_DESCRIPTOR
286 { Format CUarray_format }
287 { NumChannels uint } ;
289 STRUCT: CUDA_ARRAY3D_DESCRIPTOR
293 { Format CUarray_format }
297 CONSTANT: CUDA_ARRAY3D_2DARRAY 0x01
298 CONSTANT: CU_TRSA_OVERRIDE_FORMAT 0x01
299 CONSTANT: CU_TRSF_READ_AS_INTEGER 0x01
300 CONSTANT: CU_TRSF_NORMALIZED_COORDINATES 0x02
301 CONSTANT: CU_PARAM_TR_DEFAULT -1
303 FUNCTION: CUresult cuInit ( uint Flags )
305 FUNCTION: CUresult cuDriverGetVersion ( int* driverVersion )
307 FUNCTION: CUresult cuDeviceGet ( CUdevice* device, int ordinal )
308 FUNCTION: CUresult cuDeviceGetCount ( int* count )
309 FUNCTION: CUresult cuDeviceGetName ( char* name, int len, CUdevice dev )
310 FUNCTION: CUresult cuDeviceComputeCapability ( int* major, int* minor, CUdevice dev )
311 FUNCTION: CUresult cuDeviceTotalMem ( uint* bytes, CUdevice dev )
312 FUNCTION: CUresult cuDeviceTotalMem_v2 ( ulonglong* bytes, CUdevice dev )
313 FUNCTION: CUresult cuDeviceGetProperties ( CUdevprop* prop, CUdevice dev )
314 FUNCTION: CUresult cuDeviceGetAttribute ( int* pi, CUdevice_attribute attrib, CUdevice dev )
316 FUNCTION: CUresult cuCtxCreate ( CUcontext* pctx, uint flags, CUdevice dev )
317 FUNCTION: CUresult cuCtxDestroy ( CUcontext ctx )
318 FUNCTION: CUresult cuCtxAttach ( CUcontext* pctx, uint flags )
319 FUNCTION: CUresult cuCtxDetach ( CUcontext ctx )
320 FUNCTION: CUresult cuCtxPushCurrent ( CUcontext ctx )
321 FUNCTION: CUresult cuCtxPopCurrent ( CUcontext* pctx )
322 FUNCTION: CUresult cuCtxGetDevice ( CUdevice* device )
323 FUNCTION: CUresult cuCtxSynchronize ( )
325 FUNCTION: CUresult cuModuleLoad ( CUmodule* module, c-string fname )
326 FUNCTION: CUresult cuModuleLoadData ( CUmodule* module, void* image )
327 FUNCTION: CUresult cuModuleLoadDataEx ( CUmodule* module, void* image, uint numOptions, CUjit_option* options, void** optionValues )
328 FUNCTION: CUresult cuModuleLoadFatBinary ( CUmodule* module, void* fatCubin )
329 FUNCTION: CUresult cuModuleUnload ( CUmodule hmod )
330 FUNCTION: CUresult cuModuleGetFunction ( CUfunction* hfunc, CUmodule hmod, c-string name )
331 FUNCTION: CUresult cuModuleGetGlobal ( CUdeviceptr* dptr, uint* bytes, CUmodule hmod, char* name )
332 FUNCTION: CUresult cuModuleGetTexRef ( CUtexref* pTexRef, CUmodule hmod, char* name )
334 FUNCTION: CUresult cuMemGetInfo ( uint* free, uint* total )
336 FUNCTION: CUresult cuMemAlloc ( CUdeviceptr* dptr, uint bytesize )
337 FUNCTION: CUresult cuMemAllocPitch ( CUdeviceptr* dptr,
341 uint ElementSizeBytes
343 FUNCTION: CUresult cuMemFree ( CUdeviceptr dptr )
344 FUNCTION: CUresult cuMemGetAddressRange ( CUdeviceptr* pbase, uint* psize, CUdeviceptr dptr )
346 FUNCTION: CUresult cuMemAllocHost ( void** pp, uint bytesize )
347 FUNCTION: CUresult cuMemFreeHost ( void* p )
349 FUNCTION: CUresult cuMemHostAlloc ( void** pp, size_t bytesize, uint Flags )
351 FUNCTION: CUresult cuMemHostGetDevicePointer ( CUdeviceptr* pdptr, void* p, uint Flags )
352 FUNCTION: CUresult cuMemHostGetFlags ( uint* pFlags, void* p )
354 FUNCTION: CUresult cuMemcpyHtoD ( CUdeviceptr dstDevice, void* srcHost, uint ByteCount )
355 FUNCTION: CUresult cuMemcpyDtoH ( void* dstHost, CUdeviceptr srcDevice, uint ByteCount )
357 FUNCTION: CUresult cuMemcpyDtoD ( CUdeviceptr dstDevice, CUdeviceptr srcDevice, uint ByteCount )
359 FUNCTION: CUresult cuMemcpyDtoA ( CUarray dstArray, uint dstIndex, CUdeviceptr srcDevice, uint ByteCount )
360 FUNCTION: CUresult cuMemcpyAtoD ( CUdeviceptr dstDevice, CUarray hSrc, uint SrcIndex, uint ByteCount )
362 FUNCTION: CUresult cuMemcpyHtoA ( CUarray dstArray, uint dstIndex, void* pSrc, uint ByteCount )
363 FUNCTION: CUresult cuMemcpyAtoH ( void* dstHost, CUarray srcArray, uint srcIndex, uint ByteCount )
365 FUNCTION: CUresult cuMemcpyAtoA ( CUarray dstArray, uint dstIndex, CUarray srcArray, uint srcIndex, uint ByteCount )
367 FUNCTION: CUresult cuMemcpy2D ( CUDA_MEMCPY2D* pCopy )
368 FUNCTION: CUresult cuMemcpy2DUnaligned ( CUDA_MEMCPY2D* pCopy )
370 FUNCTION: CUresult cuMemcpy3D ( CUDA_MEMCPY3D* pCopy )
372 FUNCTION: CUresult cuMemcpyHtoDAsync ( CUdeviceptr dstDevice,
373 void* srcHost, uint ByteCount, CUstream hStream )
374 FUNCTION: CUresult cuMemcpyDtoHAsync ( void* dstHost,
375 CUdeviceptr srcDevice, uint ByteCount, CUstream hStream )
377 FUNCTION: CUresult cuMemcpyDtoDAsync ( CUdeviceptr dstDevice,
378 CUdeviceptr srcDevice, uint ByteCount, CUstream hStream )
380 FUNCTION: CUresult cuMemcpyHtoAAsync ( CUarray dstArray, uint dstIndex,
381 void* pSrc, uint ByteCount, CUstream hStream )
382 FUNCTION: CUresult cuMemcpyAtoHAsync ( void* dstHost, CUarray srcArray, uint srcIndex,
383 uint ByteCount, CUstream hStream )
385 FUNCTION: CUresult cuMemcpy2DAsync ( CUDA_MEMCPY2D* pCopy, CUstream hStream )
386 FUNCTION: CUresult cuMemcpy3DAsync ( CUDA_MEMCPY3D* pCopy, CUstream hStream )
388 FUNCTION: CUresult cuMemsetD8 ( CUdeviceptr dstDevice, uchar uc, uint N )
389 FUNCTION: CUresult cuMemsetD16 ( CUdeviceptr dstDevice, ushort us, uint N )
390 FUNCTION: CUresult cuMemsetD32 ( CUdeviceptr dstDevice, uint ui, uint N )
392 FUNCTION: CUresult cuMemsetD2D8 ( CUdeviceptr dstDevice, uint dstPitch, uchar uc, uint Width, uint Height )
393 FUNCTION: CUresult cuMemsetD2D16 ( CUdeviceptr dstDevice, uint dstPitch, ushort us, uint Width, uint Height )
394 FUNCTION: CUresult cuMemsetD2D32 ( CUdeviceptr dstDevice, uint dstPitch, uint ui, uint Width, uint Height )
396 FUNCTION: CUresult cuFuncSetBlockShape ( CUfunction hfunc, int x, int y, int z )
397 FUNCTION: CUresult cuFuncSetSharedSize ( CUfunction hfunc, uint bytes )
398 FUNCTION: CUresult cuFuncGetAttribute ( int* pi, CUfunction_attribute attrib, CUfunction hfunc )
399 FUNCTION: CUresult cuFuncSetCacheConfig ( CUfunction hfunc, CUfunc_cache config )
401 FUNCTION: CUresult cuArrayCreate ( CUarray* pHandle, CUDA_ARRAY_DESCRIPTOR* pAllocateArray )
402 FUNCTION: CUresult cuArrayGetDescriptor ( CUDA_ARRAY_DESCRIPTOR* pArrayDescriptor, CUarray hArray )
403 FUNCTION: CUresult cuArrayDestroy ( CUarray hArray )
405 FUNCTION: CUresult cuArray3DCreate ( CUarray* pHandle, CUDA_ARRAY3D_DESCRIPTOR* pAllocateArray )
406 FUNCTION: CUresult cuArray3DGetDescriptor ( CUDA_ARRAY3D_DESCRIPTOR* pArrayDescriptor, CUarray hArray )
408 FUNCTION: CUresult cuTexRefCreate ( CUtexref* pTexRef )
409 FUNCTION: CUresult cuTexRefDestroy ( CUtexref hTexRef )
411 FUNCTION: CUresult cuTexRefSetArray ( CUtexref hTexRef, CUarray hArray, uint Flags )
412 FUNCTION: CUresult cuTexRefSetAddress ( uint* ByteOffset, CUtexref hTexRef, CUdeviceptr dptr, uint bytes )
413 FUNCTION: CUresult cuTexRefSetAddress2D ( CUtexref hTexRef, CUDA_ARRAY_DESCRIPTOR* desc, CUdeviceptr dptr, uint Pitch )
414 FUNCTION: CUresult cuTexRefSetFormat ( CUtexref hTexRef, CUarray_format fmt, int NumPackedComponents )
415 FUNCTION: CUresult cuTexRefSetAddressMode ( CUtexref hTexRef, int dim, CUaddress_mode am )
416 FUNCTION: CUresult cuTexRefSetFilterMode ( CUtexref hTexRef, CUfilter_mode fm )
417 FUNCTION: CUresult cuTexRefSetFlags ( CUtexref hTexRef, uint Flags )
419 FUNCTION: CUresult cuTexRefGetAddress ( CUdeviceptr* pdptr, CUtexref hTexRef )
420 FUNCTION: CUresult cuTexRefGetArray ( CUarray* phArray, CUtexref hTexRef )
421 FUNCTION: CUresult cuTexRefGetAddressMode ( CUaddress_mode* pam, CUtexref hTexRef, int dim )
422 FUNCTION: CUresult cuTexRefGetFilterMode ( CUfilter_mode* pfm, CUtexref hTexRef )
423 FUNCTION: CUresult cuTexRefGetFormat ( CUarray_format* pFormat, int* pNumChannels, CUtexref hTexRef )
424 FUNCTION: CUresult cuTexRefGetFlags ( uint* pFlags, CUtexref hTexRef )
426 FUNCTION: CUresult cuParamSetSize ( CUfunction hfunc, uint numbytes )
427 FUNCTION: CUresult cuParamSeti ( CUfunction hfunc, int offset, uint value )
428 FUNCTION: CUresult cuParamSetf ( CUfunction hfunc, int offset, float value )
429 FUNCTION: CUresult cuParamSetv ( CUfunction hfunc, int offset, void* ptr, uint numbytes )
430 FUNCTION: CUresult cuParamSetTexRef ( CUfunction hfunc, int texunit, CUtexref hTexRef )
432 FUNCTION: CUresult cuLaunch ( CUfunction f )
433 FUNCTION: CUresult cuLaunchGrid ( CUfunction f, int grid_width, int grid_height )
434 FUNCTION: CUresult cuLaunchGridAsync ( CUfunction f, int grid_width, int grid_height, CUstream hStream )
436 FUNCTION: CUresult cuEventCreate ( CUevent* phEvent, uint Flags )
437 FUNCTION: CUresult cuEventRecord ( CUevent hEvent, CUstream hStream )
438 FUNCTION: CUresult cuEventQuery ( CUevent hEvent )
439 FUNCTION: CUresult cuEventSynchronize ( CUevent hEvent )
440 FUNCTION: CUresult cuEventDestroy ( CUevent hEvent )
441 FUNCTION: CUresult cuEventElapsedTime ( float* pMilliseconds, CUevent hStart, CUevent hEnd )
443 FUNCTION: CUresult cuStreamCreate ( CUstream* phStream, uint Flags )
444 FUNCTION: CUresult cuStreamQuery ( CUstream hStream )
445 FUNCTION: CUresult cuStreamSynchronize ( CUstream hStream )
446 FUNCTION: CUresult cuStreamDestroy ( CUstream hStream )
448 FUNCTION: CUresult cuGraphicsUnregisterResource ( CUgraphicsResource resource )
449 FUNCTION: CUresult cuGraphicsSubResourceGetMappedArray ( CUarray* pArray, CUgraphicsResource resource, uint arrayIndex, uint mipLevel )
450 FUNCTION: CUresult cuGraphicsResourceGetMappedPointer ( CUdeviceptr* pDevPtr, uint* pSize, CUgraphicsResource resource )
451 FUNCTION: CUresult cuGraphicsResourceSetMapFlags ( CUgraphicsResource resource, uint flags )
452 FUNCTION: CUresult cuGraphicsMapResources ( uint count, CUgraphicsResource* resources, CUstream hStream )
453 FUNCTION: CUresult cuGraphicsUnmapResources ( uint count, CUgraphicsResource* resources, CUstream hStream )
455 FUNCTION: CUresult cuGetExportTable ( void** ppExportTable, CUuuid* pExportTableId )