6.4. 错误处理
本节介绍 CUDA 运行时应用程序编程接口的错误处理函数。
函数
- __host__ __device__ const char* cudaGetErrorName ( cudaError_t error )
- 返回错误代码枚举名称的字符串表示形式。
- __host__ __device__ const char* cudaGetErrorString ( cudaError_t error )
- 返回错误代码的描述字符串。
- __host__ __device__ cudaError_t cudaGetLastError ( void )
- 返回运行时调用的最后一个错误。
- __host__ __device__ cudaError_t cudaPeekAtLastError ( void )
- 返回运行时调用的最后一个错误。
函数
- __host__ __device__ const char* cudaGetErrorName ( cudaError_t error )
-
返回错误代码枚举名称的字符串表示形式。
参数
- error
- - 要转换为字符串的错误代码
返回值
char*指向 NULL 结尾的字符串的指针
描述
返回一个字符串,其中包含枚举中错误代码的名称。如果无法识别错误代码,则返回“无法识别的错误代码”。
另请参阅
cudaGetErrorString, cudaGetLastError, cudaPeekAtLastError, cudaError, cuGetErrorName
- __host__ __device__ const char* cudaGetErrorString ( cudaError_t error )
-
返回错误代码的描述字符串。
参数
- error
- - 要转换为字符串的错误代码
返回值
char*指向 NULL 结尾的字符串的指针
描述
返回错误代码的描述字符串。如果无法识别错误代码,则返回“无法识别的错误代码”。
另请参阅
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 运行时库的多个实例。
注意-
注意,此函数也可能返回来自先前异步启动的错误代码。
-
注意,如果此调用尝试初始化内部 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 运行时库的多个实例。
注意-
注意,此函数也可能返回来自先前异步启动的错误代码。
-
注意,如果此调用尝试初始化内部 CUDA RT 状态,则此函数也可能返回 cudaErrorInitializationError、cudaErrorInsufficientDriver 或 cudaErrorNoDevice。
-
注意,如 cudaStreamAddCallback 所指定,不得从回调中调用任何 CUDA 函数。在这种情况下,可能会返回 cudaErrorNotPermitted 作为诊断信息,但不保证一定返回。
另请参阅
cudaGetLastError, cudaGetErrorName, cudaGetErrorString, cudaError
-