CUDA_Toolkit_Reference_Manual.pdf

(4413 KB) Pobierz
451457529 UNPDF
NVIDIA CUDA
Reference Manual
Version 3.2 Beta
August 2010
451457529.001.png
Contents
1 Deprecated List
1
2 Module Index
5
2.1 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
3 Data Structure Index
7
3.1 Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
4 Module Documentation
9
4.1 CUDA Runtime API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
4.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1.2 Define Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1.2.1 CUDART_VERSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Thread Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2.2.1 cudaThreadExit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2.2.2 cudaThreadGetCacheConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2.2.3 cudaThreadGetLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2.2.4 cudaThreadSetCacheConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.2.5 cudaThreadSetLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.2.6 cudaThreadSynchronize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.2.1 cudaGetErrorString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.2.2 cudaGetLastError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.2.3 cudaPeekAtLastError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4 Device Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
ii
CONTENTS
4.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4.2.1 cudaChooseDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4.2.2 cudaGetDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4.2.3 cudaGetDeviceCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4.2.4 cudaGetDeviceProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4.2.5 cudaSetDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4.2.6 cudaSetDeviceFlags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4.2.7 cudaSetValidDevices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5 Stream Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5.2.1 cudaStreamCreate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5.2.2 cudaStreamDestroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5.2.3 cudaStreamQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5.2.4 cudaStreamSynchronize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5.2.5 cudaStreamWaitEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.6 Event Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.6.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.6.2.1 cudaEventCreate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.6.2.2 cudaEventCreateWithFlags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.6.2.3 cudaEventDestroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.6.2.4 cudaEventElapsedTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.6.2.5 cudaEventQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.6.2.6 cudaEventRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.6.2.7 cudaEventSynchronize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.7 Execution Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7.2.1 cudaConfigureCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7.2.2 cudaFuncGetAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.7.2.3 cudaFuncSetCacheConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.7.2.4 cudaLaunch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.7.2.5 cudaSetDoubleForDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.7.2.6 cudaSetDoubleForHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.7.2.7 cudaSetupArgument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Generated for NVIDIA CUDA Library by Doxygen
451457529.002.png
 
CONTENTS
iii
4.8 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.8.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.8.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.8.2.1 cudaFree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.8.2.2 cudaFreeArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.8.2.3 cudaFreeHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.8.2.4 cudaGetSymbolAddress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.8.2.5 cudaGetSymbolSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.8.2.6 cudaHostAlloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.8.2.7 cudaHostGetDevicePointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.8.2.8 cudaHostGetFlags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.8.2.9 cudaMalloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.8.2.10 cudaMalloc3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.8.2.11 cudaMalloc3DArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.8.2.12 cudaMallocArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.8.2.13 cudaMallocHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.8.2.14 cudaMallocPitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.8.2.15 cudaMemcpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.8.2.16 cudaMemcpy2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.8.2.17 cudaMemcpy2DArrayToArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.8.2.18 cudaMemcpy2DAsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.8.2.19 cudaMemcpy2DFromArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.8.2.20 cudaMemcpy2DFromArrayAsync . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.8.2.21 cudaMemcpy2DToArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.8.2.22 cudaMemcpy2DToArrayAsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.8.2.23 cudaMemcpy3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.8.2.24 cudaMemcpy3DAsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.8.2.25 cudaMemcpyArrayToArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.8.2.26 cudaMemcpyAsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.8.2.27 cudaMemcpyFromArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.8.2.28 cudaMemcpyFromArrayAsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.8.2.29 cudaMemcpyFromSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.8.2.30 cudaMemcpyFromSymbolAsync . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.8.2.31 cudaMemcpyToArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.8.2.32 cudaMemcpyToArrayAsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.8.2.33 cudaMemcpyToSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.8.2.34 cudaMemcpyToSymbolAsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Generated for NVIDIA CUDA Library by Doxygen
451457529.003.png
 
Zgłoś jeśli naruszono regulamin