6.4. 错误处理
本节介绍CUDA运行时应用程序编程接口的错误处理功能。
Functions
- __host__ __device__ const char* cudaGetErrorName ( cudaError_t error )
- Returns the string representation of an error code enum name.
- __host__ __device__ const char* cudaGetErrorString ( cudaError_t error )
- Returns the description string for an error code.
- __host__ __device__ cudaError_t cudaGetLastError ( void )
- Returns the last error from a runtime call.
- __host__ __device__ cudaError_t cudaPeekAtLastError ( void )
- Returns the last error from a runtime call.
Functions
- __host__ __device__ const char* cudaGetErrorName ( cudaError_t error )
-
返回错误代码枚举名称的字符串表示形式。
参数
- error
- - Error code to convert to string
返回
char* 指向以NULL结尾的字符串的指针
描述
返回一个包含枚举中错误代码名称的字符串。如果错误代码未被识别,则返回"无法识别的错误代码"。
另请参阅:
cudaGetErrorString, cudaGetLastError, cudaPeekAtLastError, cudaError, cuGetErrorName
- __host__ __device__ const char* cudaGetErrorString ( cudaError_t error )
-
返回错误码对应的描述字符串。
参数
- error
- - Error code to convert to string
返回
char* 指向以NULL结尾的字符串的指针
描述
返回错误码对应的描述字符串。如果错误码未被识别,则返回"unrecognized error code"。
另请参阅:
cudaGetErrorName, cudaGetLastError, cudaPeekAtLastError, cudaError, cuGetErrorString
- __host__ __device__ cudaError_t cudaGetLastError ( void )
-
返回运行时调用的最后一个错误。
返回
cudaSuccess, cudaErrorMissingConfiguration, cudaErrorMemoryAllocation, cudaErrorInitializationError, cudaErrorLaunchFailure, cudaErrorLaunchTimeout, cudaErrorLaunchOutOfResources, cudaErrorInvalidDeviceFunction, cudaErrorInvalidConfiguration, cudaErrorInvalidDevice, cudaErrorInvalidValue, cudaErrorInvalidPitchValue, cudaErrorInvalidSymbol, cudaErrorUnmapBufferObjectFailed, cudaErrorInvalidDevicePointer, cudaErrorInvalidTexture, cudaErrorInvalidTextureBinding, cudaErrorInvalidChannelDescriptor, cudaErrorInvalidMemcpyDirection, cudaErrorInvalidFilterSetting, cudaErrorInvalidNormSetting, cudaErrorUnknown, cudaErrorInvalidResourceHandle, cudaErrorInsufficientDriver, cudaErrorNoDevice, cudaErrorSetOnActiveProcess, cudaErrorStartupFailure, cudaErrorInvalidPtx, cudaErrorUnsupportedPtxVersion, cudaErrorNoKernelImageForDevice, cudaErrorJitCompilerNotFound, cudaErrorJitCompilationDisabled
描述
返回由同一主机线程中CUDA运行时库实例内任何运行时调用产生的最后一个错误,并将其重置为cudaSuccess。
注意:当使用静态链接CUDA运行时的库时,应用程序中可能会出现多个CUDA运行时库实例。
Note:-
请注意,此函数也可能返回之前异步启动的错误代码。
-
请注意,如果此调用尝试初始化CUDA RT内部状态,该函数也可能返回cudaErrorInitializationError、cudaErrorInsufficientDriver或cudaErrorNoDevice。
-
请注意,根据cudaStreamAddCallback的规定,回调函数中不得调用任何CUDA函数。在这种情况下,可能会(但不保证)返回cudaErrorNotPermitted作为诊断信息。
另请参阅:
cudaPeekAtLastError, cudaGetErrorName, cudaGetErrorString, cudaError
-
- __host__ __device__ cudaError_t cudaPeekAtLastError ( void )
-
返回运行时调用的最后一个错误。
返回
cudaSuccess, cudaErrorMissingConfiguration, cudaErrorMemoryAllocation, cudaErrorInitializationError, cudaErrorLaunchFailure, cudaErrorLaunchTimeout, cudaErrorLaunchOutOfResources, cudaErrorInvalidDeviceFunction, cudaErrorInvalidConfiguration, cudaErrorInvalidDevice, cudaErrorInvalidValue, cudaErrorInvalidPitchValue, cudaErrorInvalidSymbol, cudaErrorUnmapBufferObjectFailed, cudaErrorInvalidDevicePointer, cudaErrorInvalidTexture, cudaErrorInvalidTextureBinding, cudaErrorInvalidChannelDescriptor, cudaErrorInvalidMemcpyDirection, cudaErrorInvalidFilterSetting, cudaErrorInvalidNormSetting, cudaErrorUnknown, cudaErrorInvalidResourceHandle, cudaErrorInsufficientDriver, cudaErrorNoDevice, cudaErrorSetOnActiveProcess, cudaErrorStartupFailure, cudaErrorInvalidPtx, cudaErrorUnsupportedPtxVersion, cudaErrorNoKernelImageForDevice, cudaErrorJitCompilerNotFound, cudaErrorJitCompilationDisabled
描述
返回当前主机线程中同一CUDA运行时库实例内任何运行时调用产生的最后一个错误。与cudaGetLastError()不同,此调用不会将错误重置为cudaSuccess。
注意:当使用静态链接CUDA运行时的库时,应用程序中可能会出现多个CUDA运行时库实例。
Note:-
请注意,此函数也可能返回之前异步启动的错误代码。
-
请注意,如果此调用尝试初始化CUDA RT内部状态,该函数也可能返回cudaErrorInitializationError、cudaErrorInsufficientDriver或cudaErrorNoDevice。
-
请注意,根据cudaStreamAddCallback的规定,回调函数中不得调用任何CUDA函数。在这种情况下,可能会(但不保证)返回cudaErrorNotPermitted作为诊断信息。
另请参阅:
cudaGetLastError, cudaGetErrorName, cudaGetErrorString, cudaError
-