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 ;
7 LIBRARY-UNIX: cuda cdecl "libcuda.so"
8 LIBRARY-MACOSX: cuda cdecl "/usr/local/cuda/lib/libcuda.dylib"
9 LIBRARY-WINDOWS: cuda stdcall "nvcuda.dll"
13 TYPEDEF: uint CUdeviceptr
15 TYPEDEF: void* CUcontext
16 TYPEDEF: void* CUmodule
17 TYPEDEF: void* CUfunction
18 TYPEDEF: void* CUarray
19 TYPEDEF: void* CUtexref
20 TYPEDEF: void* CUevent
21 TYPEDEF: void* CUstream
22 TYPEDEF: void* CUgraphicsResource
24 ! versions of double and longlong that always 8-byte align
26 SYMBOLS: CUdouble CUlonglong CUulonglong ;
29 : always-8-byte-align ( c-type -- c-type )
30 8 >>align 8 >>align-first ;
32 longlong lookup-c-type clone always-8-byte-align \ CUlonglong typedef
33 ulonglong lookup-c-type clone always-8-byte-align \ CUulonglong typedef
34 double lookup-c-type clone always-8-byte-align \ CUdouble typedef
41 { CU_CTX_SCHED_AUTO 0 }
42 { CU_CTX_SCHED_SPIN 1 }
43 { CU_CTX_SCHED_YIELD 2 }
44 { CU_CTX_SCHED_MASK 3 }
45 { CU_CTX_BLOCKING_SYNC 4 }
47 { CU_CTX_LMEM_RESIZE_TO_MAX 16 }
48 { CU_CTX_FLAGS_MASK 0x1f } ;
51 { CU_EVENT_DEFAULT 0 }
52 { CU_EVENT_BLOCKING_SYNC 1 } ;
55 { CU_AD_FORMAT_UNSIGNED_INT8 0x01 }
56 { CU_AD_FORMAT_UNSIGNED_INT16 0x02 }
57 { CU_AD_FORMAT_UNSIGNED_INT32 0x03 }
58 { CU_AD_FORMAT_SIGNED_INT8 0x08 }
59 { CU_AD_FORMAT_SIGNED_INT16 0x09 }
60 { CU_AD_FORMAT_SIGNED_INT32 0x0a }
61 { CU_AD_FORMAT_HALF 0x10 }
62 { CU_AD_FORMAT_FLOAT 0x20 } ;
65 { CU_TR_ADDRESS_MODE_WRAP 0 }
66 { CU_TR_ADDRESS_MODE_CLAMP 1 }
67 { CU_TR_ADDRESS_MODE_MIRROR 2 } ;
70 { CU_TR_FILTER_MODE_POINT 0 }
71 { CU_TR_FILTER_MODE_LINEAR 1 } ;
73 ENUM: CUdevice_attribute
74 { CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK 1 }
75 { CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X 2 }
76 { CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y 3 }
77 { CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z 4 }
78 { CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X 5 }
79 { CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y 6 }
80 { CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z 7 }
81 { CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK 8 }
82 { CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK 8 }
83 { CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY 9 }
84 { CU_DEVICE_ATTRIBUTE_WARP_SIZE 10 }
85 { CU_DEVICE_ATTRIBUTE_MAX_PITCH 11 }
86 { CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK 12 }
87 { CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK 12 }
88 { CU_DEVICE_ATTRIBUTE_CLOCK_RATE 13 }
89 { CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT 14 }
91 { CU_DEVICE_ATTRIBUTE_GPU_OVERLAP 15 }
92 { CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT 16 }
93 { CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT 17 }
94 { CU_DEVICE_ATTRIBUTE_INTEGRATED 18 }
95 { CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY 19 }
96 { CU_DEVICE_ATTRIBUTE_COMPUTE_MODE 20 }
97 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH 21 }
98 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH 22 }
99 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT 23 }
100 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH 24 }
101 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT 25 }
102 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH 26 }
103 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH 27 }
104 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT 28 }
105 { CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES 29 }
106 { CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT 30 }
107 { CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS 31 }
108 { CU_DEVICE_ATTRIBUTE_ECC_ENABLED 32 } ;
111 { maxThreadsPerBlock int }
112 { maxThreadsDim int[3] }
113 { maxGridSize int[3] }
114 { sharedMemPerBlock int }
115 { totalConstantMemory int }
120 { textureAlign int } ;
122 ENUM: CUfunction_attribute
123 { CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK 0 }
124 { CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES 1 }
125 { CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES 2 }
126 { CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES 3 }
127 { CU_FUNC_ATTRIBUTE_NUM_REGS 4 }
128 { CU_FUNC_ATTRIBUTE_PTX_VERSION 5 }
129 { CU_FUNC_ATTRIBUTE_BINARY_VERSION 6 }
130 CU_FUNC_ATTRIBUTE_MAX ;
133 { CU_FUNC_CACHE_PREFER_NONE 0x00 }
134 { CU_FUNC_CACHE_PREFER_SHARED 0x01 }
135 { CU_FUNC_CACHE_PREFER_L1 0x02 } ;
138 { CU_MEMORYTYPE_HOST 0x01 }
139 { CU_MEMORYTYPE_DEVICE 0x02 }
140 { CU_MEMORYTYPE_ARRAY 0x03 } ;
143 { CU_COMPUTEMODE_DEFAULT 0 }
144 { CU_COMPUTEMODE_EXCLUSIVE 1 }
145 { CU_COMPUTEMODE_PROHIBITED 2 } ;
148 { CU_JIT_MAX_REGISTERS 0 }
149 CU_JIT_THREADS_PER_BLOCK
151 CU_JIT_INFO_LOG_BUFFER
152 CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES
153 CU_JIT_ERROR_LOG_BUFFER
154 CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES
155 CU_JIT_OPTIMIZATION_LEVEL
156 CU_JIT_TARGET_FROM_CUCONTEXT
158 CU_JIT_FALLBACK_STRATEGY ;
161 { CU_TARGET_COMPUTE_10 0 }
165 CU_TARGET_COMPUTE_20 ;
171 ENUM: CUgraphicsRegisterFlags
172 { CU_GRAPHICS_REGISTER_FLAGS_NONE 0 } ;
174 ENUM: CUgraphicsMapResourceFlags
175 { CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE 0x00 }
176 { CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY 0x01 }
177 { CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD 0x02 } ;
179 ENUM: CUarray_cubemap_face
180 { CU_CUBEMAP_FACE_POSITIVE_X 0x00 }
181 { CU_CUBEMAP_FACE_NEGATIVE_X 0x01 }
182 { CU_CUBEMAP_FACE_POSITIVE_Y 0x02 }
183 { CU_CUBEMAP_FACE_NEGATIVE_Y 0x03 }
184 { CU_CUBEMAP_FACE_POSITIVE_Z 0x04 }
185 { CU_CUBEMAP_FACE_NEGATIVE_Z 0x05 } ;
189 { CUDA_ERROR_INVALID_VALUE 1 }
190 { CUDA_ERROR_OUT_OF_MEMORY 2 }
191 { CUDA_ERROR_NOT_INITIALIZED 3 }
192 { CUDA_ERROR_DEINITIALIZED 4 }
194 { CUDA_ERROR_NO_DEVICE 100 }
195 { CUDA_ERROR_INVALID_DEVICE 101 }
197 { CUDA_ERROR_INVALID_IMAGE 200 }
198 { CUDA_ERROR_INVALID_CONTEXT 201 }
199 { CUDA_ERROR_CONTEXT_ALREADY_CURRENT 202 }
200 { CUDA_ERROR_MAP_FAILED 205 }
201 { CUDA_ERROR_UNMAP_FAILED 206 }
202 { CUDA_ERROR_ARRAY_IS_MAPPED 207 }
203 { CUDA_ERROR_ALREADY_MAPPED 208 }
204 { CUDA_ERROR_NO_BINARY_FOR_GPU 209 }
205 { CUDA_ERROR_ALREADY_ACQUIRED 210 }
206 { CUDA_ERROR_NOT_MAPPED 211 }
207 { CUDA_ERROR_NOT_MAPPED_AS_ARRAY 212 }
208 { CUDA_ERROR_NOT_MAPPED_AS_POINTER 213 }
209 { CUDA_ERROR_ECC_UNCORRECTABLE 214 }
211 { CUDA_ERROR_INVALID_SOURCE 300 }
212 { CUDA_ERROR_FILE_NOT_FOUND 301 }
214 { CUDA_ERROR_INVALID_HANDLE 400 }
216 { CUDA_ERROR_NOT_FOUND 500 }
218 { CUDA_ERROR_NOT_READY 600 }
220 { CUDA_ERROR_LAUNCH_FAILED 700 }
221 { CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES 701 }
222 { CUDA_ERROR_LAUNCH_TIMEOUT 702 }
223 { CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING 703 }
225 { CUDA_ERROR_POINTER_IS_64BIT 800 }
226 { CUDA_ERROR_SIZE_IS_64BIT 801 }
228 { CUDA_ERROR_UNKNOWN 999 } ;
230 CONSTANT: CU_MEMHOSTALLOC_PORTABLE 0x01
231 CONSTANT: CU_MEMHOSTALLOC_DEVICEMAP 0x02
232 CONSTANT: CU_MEMHOSTALLOC_WRITECOMBINED 0x04
234 STRUCT: CUDA_MEMCPY2D
237 { srcMemoryType CUmemorytype }
239 { srcDevice CUdeviceptr }
244 { dstMemoryType CUmemorytype }
246 { dstDevice CUdeviceptr }
249 { WidthInBytes uint }
252 STRUCT: CUDA_MEMCPY3D
257 { srcMemoryType CUmemorytype }
259 { srcDevice CUdeviceptr }
268 { dstMemoryType CUmemorytype }
270 { dstDevice CUdeviceptr }
275 { WidthInBytes uint }
279 STRUCT: CUDA_ARRAY_DESCRIPTOR
282 { Format CUarray_format }
283 { NumChannels uint } ;
285 STRUCT: CUDA_ARRAY3D_DESCRIPTOR
289 { Format CUarray_format }
293 CONSTANT: CUDA_ARRAY3D_2DARRAY 0x01
294 CONSTANT: CU_TRSA_OVERRIDE_FORMAT 0x01
295 CONSTANT: CU_TRSF_READ_AS_INTEGER 0x01
296 CONSTANT: CU_TRSF_NORMALIZED_COORDINATES 0x02
297 CONSTANT: CU_PARAM_TR_DEFAULT -1
299 FUNCTION: CUresult cuInit ( uint Flags )
301 FUNCTION: CUresult cuDriverGetVersion ( int* driverVersion )
303 FUNCTION: CUresult cuDeviceGet ( CUdevice* device, int ordinal )
304 FUNCTION: CUresult cuDeviceGetCount ( int* count )
305 FUNCTION: CUresult cuDeviceGetName ( char* name, int len, CUdevice dev )
306 FUNCTION: CUresult cuDeviceComputeCapability ( int* major, int* minor, CUdevice dev )
307 FUNCTION: CUresult cuDeviceTotalMem ( uint* bytes, CUdevice dev )
308 FUNCTION: CUresult cuDeviceTotalMem_v2 ( ulonglong* bytes, CUdevice dev )
309 FUNCTION: CUresult cuDeviceGetProperties ( CUdevprop* prop, CUdevice dev )
310 FUNCTION: CUresult cuDeviceGetAttribute ( int* pi, CUdevice_attribute attrib, CUdevice dev )
312 FUNCTION: CUresult cuCtxCreate ( CUcontext* pctx, uint flags, CUdevice dev )
313 FUNCTION: CUresult cuCtxDestroy ( CUcontext ctx )
314 FUNCTION: CUresult cuCtxAttach ( CUcontext* pctx, uint flags )
315 FUNCTION: CUresult cuCtxDetach ( CUcontext ctx )
316 FUNCTION: CUresult cuCtxPushCurrent ( CUcontext ctx )
317 FUNCTION: CUresult cuCtxPopCurrent ( CUcontext* pctx )
318 FUNCTION: CUresult cuCtxGetDevice ( CUdevice* device )
319 FUNCTION: CUresult cuCtxSynchronize ( )
321 FUNCTION: CUresult cuModuleLoad ( CUmodule* module, c-string fname )
322 FUNCTION: CUresult cuModuleLoadData ( CUmodule* module, void* image )
323 FUNCTION: CUresult cuModuleLoadDataEx ( CUmodule* module, void* image, uint numOptions, CUjit_option* options, void** optionValues )
324 FUNCTION: CUresult cuModuleLoadFatBinary ( CUmodule* module, void* fatCubin )
325 FUNCTION: CUresult cuModuleUnload ( CUmodule hmod )
326 FUNCTION: CUresult cuModuleGetFunction ( CUfunction* hfunc, CUmodule hmod, c-string name )
327 FUNCTION: CUresult cuModuleGetGlobal ( CUdeviceptr* dptr, uint* bytes, CUmodule hmod, char* name )
328 FUNCTION: CUresult cuModuleGetTexRef ( CUtexref* pTexRef, CUmodule hmod, char* name )
330 FUNCTION: CUresult cuMemGetInfo ( uint* free, uint* total )
332 FUNCTION: CUresult cuMemAlloc ( CUdeviceptr* dptr, uint bytesize )
333 FUNCTION: CUresult cuMemAllocPitch ( CUdeviceptr* dptr,
337 uint ElementSizeBytes
339 FUNCTION: CUresult cuMemFree ( CUdeviceptr dptr )
340 FUNCTION: CUresult cuMemGetAddressRange ( CUdeviceptr* pbase, uint* psize, CUdeviceptr dptr )
342 FUNCTION: CUresult cuMemAllocHost ( void** pp, uint bytesize )
343 FUNCTION: CUresult cuMemFreeHost ( void* p )
345 FUNCTION: CUresult cuMemHostAlloc ( void** pp, size_t bytesize, uint Flags )
347 FUNCTION: CUresult cuMemHostGetDevicePointer ( CUdeviceptr* pdptr, void* p, uint Flags )
348 FUNCTION: CUresult cuMemHostGetFlags ( uint* pFlags, void* p )
350 FUNCTION: CUresult cuMemcpyHtoD ( CUdeviceptr dstDevice, void* srcHost, uint ByteCount )
351 FUNCTION: CUresult cuMemcpyDtoH ( void* dstHost, CUdeviceptr srcDevice, uint ByteCount )
353 FUNCTION: CUresult cuMemcpyDtoD ( CUdeviceptr dstDevice, CUdeviceptr srcDevice, uint ByteCount )
355 FUNCTION: CUresult cuMemcpyDtoA ( CUarray dstArray, uint dstIndex, CUdeviceptr srcDevice, uint ByteCount )
356 FUNCTION: CUresult cuMemcpyAtoD ( CUdeviceptr dstDevice, CUarray hSrc, uint SrcIndex, uint ByteCount )
358 FUNCTION: CUresult cuMemcpyHtoA ( CUarray dstArray, uint dstIndex, void* pSrc, uint ByteCount )
359 FUNCTION: CUresult cuMemcpyAtoH ( void* dstHost, CUarray srcArray, uint srcIndex, uint ByteCount )
361 FUNCTION: CUresult cuMemcpyAtoA ( CUarray dstArray, uint dstIndex, CUarray srcArray, uint srcIndex, uint ByteCount )
363 FUNCTION: CUresult cuMemcpy2D ( CUDA_MEMCPY2D* pCopy )
364 FUNCTION: CUresult cuMemcpy2DUnaligned ( CUDA_MEMCPY2D* pCopy )
366 FUNCTION: CUresult cuMemcpy3D ( CUDA_MEMCPY3D* pCopy )
368 FUNCTION: CUresult cuMemcpyHtoDAsync ( CUdeviceptr dstDevice,
369 void* srcHost, uint ByteCount, CUstream hStream )
370 FUNCTION: CUresult cuMemcpyDtoHAsync ( void* dstHost,
371 CUdeviceptr srcDevice, uint ByteCount, CUstream hStream )
373 FUNCTION: CUresult cuMemcpyDtoDAsync ( CUdeviceptr dstDevice,
374 CUdeviceptr srcDevice, uint ByteCount, CUstream hStream )
376 FUNCTION: CUresult cuMemcpyHtoAAsync ( CUarray dstArray, uint dstIndex,
377 void* pSrc, uint ByteCount, CUstream hStream )
378 FUNCTION: CUresult cuMemcpyAtoHAsync ( void* dstHost, CUarray srcArray, uint srcIndex,
379 uint ByteCount, CUstream hStream )
381 FUNCTION: CUresult cuMemcpy2DAsync ( CUDA_MEMCPY2D* pCopy, CUstream hStream )
382 FUNCTION: CUresult cuMemcpy3DAsync ( CUDA_MEMCPY3D* pCopy, CUstream hStream )
384 FUNCTION: CUresult cuMemsetD8 ( CUdeviceptr dstDevice, uchar uc, uint N )
385 FUNCTION: CUresult cuMemsetD16 ( CUdeviceptr dstDevice, ushort us, uint N )
386 FUNCTION: CUresult cuMemsetD32 ( CUdeviceptr dstDevice, uint ui, uint N )
388 FUNCTION: CUresult cuMemsetD2D8 ( CUdeviceptr dstDevice, uint dstPitch, uchar uc, uint Width, uint Height )
389 FUNCTION: CUresult cuMemsetD2D16 ( CUdeviceptr dstDevice, uint dstPitch, ushort us, uint Width, uint Height )
390 FUNCTION: CUresult cuMemsetD2D32 ( CUdeviceptr dstDevice, uint dstPitch, uint ui, uint Width, uint Height )
392 FUNCTION: CUresult cuFuncSetBlockShape ( CUfunction hfunc, int x, int y, int z )
393 FUNCTION: CUresult cuFuncSetSharedSize ( CUfunction hfunc, uint bytes )
394 FUNCTION: CUresult cuFuncGetAttribute ( int* pi, CUfunction_attribute attrib, CUfunction hfunc )
395 FUNCTION: CUresult cuFuncSetCacheConfig ( CUfunction hfunc, CUfunc_cache config )
397 FUNCTION: CUresult cuArrayCreate ( CUarray* pHandle, CUDA_ARRAY_DESCRIPTOR* pAllocateArray )
398 FUNCTION: CUresult cuArrayGetDescriptor ( CUDA_ARRAY_DESCRIPTOR* pArrayDescriptor, CUarray hArray )
399 FUNCTION: CUresult cuArrayDestroy ( CUarray hArray )
401 FUNCTION: CUresult cuArray3DCreate ( CUarray* pHandle, CUDA_ARRAY3D_DESCRIPTOR* pAllocateArray )
402 FUNCTION: CUresult cuArray3DGetDescriptor ( CUDA_ARRAY3D_DESCRIPTOR* pArrayDescriptor, CUarray hArray )
404 FUNCTION: CUresult cuTexRefCreate ( CUtexref* pTexRef )
405 FUNCTION: CUresult cuTexRefDestroy ( CUtexref hTexRef )
407 FUNCTION: CUresult cuTexRefSetArray ( CUtexref hTexRef, CUarray hArray, uint Flags )
408 FUNCTION: CUresult cuTexRefSetAddress ( uint* ByteOffset, CUtexref hTexRef, CUdeviceptr dptr, uint bytes )
409 FUNCTION: CUresult cuTexRefSetAddress2D ( CUtexref hTexRef, CUDA_ARRAY_DESCRIPTOR* desc, CUdeviceptr dptr, uint Pitch )
410 FUNCTION: CUresult cuTexRefSetFormat ( CUtexref hTexRef, CUarray_format fmt, int NumPackedComponents )
411 FUNCTION: CUresult cuTexRefSetAddressMode ( CUtexref hTexRef, int dim, CUaddress_mode am )
412 FUNCTION: CUresult cuTexRefSetFilterMode ( CUtexref hTexRef, CUfilter_mode fm )
413 FUNCTION: CUresult cuTexRefSetFlags ( CUtexref hTexRef, uint Flags )
415 FUNCTION: CUresult cuTexRefGetAddress ( CUdeviceptr* pdptr, CUtexref hTexRef )
416 FUNCTION: CUresult cuTexRefGetArray ( CUarray* phArray, CUtexref hTexRef )
417 FUNCTION: CUresult cuTexRefGetAddressMode ( CUaddress_mode* pam, CUtexref hTexRef, int dim )
418 FUNCTION: CUresult cuTexRefGetFilterMode ( CUfilter_mode* pfm, CUtexref hTexRef )
419 FUNCTION: CUresult cuTexRefGetFormat ( CUarray_format* pFormat, int* pNumChannels, CUtexref hTexRef )
420 FUNCTION: CUresult cuTexRefGetFlags ( uint* pFlags, CUtexref hTexRef )
422 FUNCTION: CUresult cuParamSetSize ( CUfunction hfunc, uint numbytes )
423 FUNCTION: CUresult cuParamSeti ( CUfunction hfunc, int offset, uint value )
424 FUNCTION: CUresult cuParamSetf ( CUfunction hfunc, int offset, float value )
425 FUNCTION: CUresult cuParamSetv ( CUfunction hfunc, int offset, void* ptr, uint numbytes )
426 FUNCTION: CUresult cuParamSetTexRef ( CUfunction hfunc, int texunit, CUtexref hTexRef )
428 FUNCTION: CUresult cuLaunch ( CUfunction f )
429 FUNCTION: CUresult cuLaunchGrid ( CUfunction f, int grid_width, int grid_height )
430 FUNCTION: CUresult cuLaunchGridAsync ( CUfunction f, int grid_width, int grid_height, CUstream hStream )
432 FUNCTION: CUresult cuEventCreate ( CUevent* phEvent, uint Flags )
433 FUNCTION: CUresult cuEventRecord ( CUevent hEvent, CUstream hStream )
434 FUNCTION: CUresult cuEventQuery ( CUevent hEvent )
435 FUNCTION: CUresult cuEventSynchronize ( CUevent hEvent )
436 FUNCTION: CUresult cuEventDestroy ( CUevent hEvent )
437 FUNCTION: CUresult cuEventElapsedTime ( float* pMilliseconds, CUevent hStart, CUevent hEnd )
439 FUNCTION: CUresult cuStreamCreate ( CUstream* phStream, uint Flags )
440 FUNCTION: CUresult cuStreamQuery ( CUstream hStream )
441 FUNCTION: CUresult cuStreamSynchronize ( CUstream hStream )
442 FUNCTION: CUresult cuStreamDestroy ( CUstream hStream )
444 FUNCTION: CUresult cuGraphicsUnregisterResource ( CUgraphicsResource resource )
445 FUNCTION: CUresult cuGraphicsSubResourceGetMappedArray ( CUarray* pArray, CUgraphicsResource resource, uint arrayIndex, uint mipLevel )
446 FUNCTION: CUresult cuGraphicsResourceGetMappedPointer ( CUdeviceptr* pDevPtr, uint* pSize, CUgraphicsResource resource )
447 FUNCTION: CUresult cuGraphicsResourceSetMapFlags ( CUgraphicsResource resource, uint flags )
448 FUNCTION: CUresult cuGraphicsMapResources ( uint count, CUgraphicsResource* resources, CUstream hStream )
449 FUNCTION: CUresult cuGraphicsUnmapResources ( uint count, CUgraphicsResource* resources, CUstream hStream )
451 FUNCTION: CUresult cuGetExportTable ( void** ppExportTable, CUuuid* pExportTableId )