Enum CUResult
Error codes returned by CUDA driver API calls
Namespace: ManagedCuda.BasicTypes
Assembly: ManagedCuda.dll
Syntax
public enum CUResult
Fields
Name | Description |
---|---|
ErrorAlreadyAcquired | Already acquired |
ErrorAlreadyMapped | Already mapped |
ErrorArrayIsMapped | Array is mapped |
ErrorAssert | A device-side assert triggered during kernel execution. The context cannot be used anymore, and must be destroyed. All existing device memory allocations from this context are invalid and must be reconstructed if the program is to continue using CUDA. |
ErrorContextAlreadyCurrent | Context already current |
ErrorContextAlreadyInUse | This indicates that the CUcontext passed to the API call can only be bound to a single CPU thread at a time but is already bound to a CPU thread. |
ErrorContextIsDestroyed | This error indicates that the context current to the calling thread has been destroyed using cuCtxDestroy(CUcontext), or is a primary context which has not yet been initialized. |
ErrorCooperativeLaunchTooLarge | This error indicates that the number of blocks launched per grid for a kernel that was launched via either ::cuLaunchCooperativeKernel or ::cuLaunchCooperativeKernelMultiDevice exceeds the maximum number of blocks as allowed by ::cuOccupancyMaxActiveBlocksPerMultiprocessor or ::cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags times the number of multiprocessors as specified by the device attribute ::CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT. |
ErrorDeinitialized | Driver deinitialized |
ErrorECCUncorrectable | Uncorrectable ECC error detected |
ErrorFileNotFound | File not found |
ErrorHardwareStackError | While executing a kernel, the device encountered a stack error. This can be due to stack corruption or exceeding the stack size limit. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. |
ErrorHostMemoryAlreadyRegistered | This error indicates that the memory range passed to ::cuMemHostRegister() has already been registered. |
ErrorHostMemoryNotRegistered | This error indicates that the pointer passed to ::cuMemHostUnregister() does not correspond to any currently registered memory region. |
ErrorIllegalAddress | While executing a kernel, the device encountered a load or store instruction on an invalid memory address. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. |
ErrorIllegalInstruction | While executing a kernel, the device encountered an illegal instruction. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. |
ErrorInvalidAddressSpace | While executing a kernel, the device encountered an instruction which can only operate on memory locations in certain address spaces (global, shared, or local), but was supplied a memory address not belonging to an allowed address space. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. |
ErrorInvalidContext | Invalid context |
ErrorInvalidDevice | Invalid device |
ErrorInvalidGraphicsContext | This indicates an error with OpenGL or DirectX context. |
ErrorInvalidHandle | Invalid handle |
ErrorInvalidImage | Invalid kernel image |
ErrorInvalidPC | While executing a kernel, the device program counter wrapped its address space. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. |
ErrorInvalidPtx | This indicates that a PTX JIT compilation failed. |
ErrorInvalidSource | Invalid source |
ErrorInvalidValue | Invalid value |
ErrorLaunchFailed | An exception occurred on the device while executing a kernel. Common causes include dereferencing an invalid device pointer and accessing out of bounds shared memory. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. |
ErrorLaunchIncompatibleTexturing | Launch with incompatible texturing |
ErrorLaunchOutOfResources | Launch exceeded resources |
ErrorLaunchTimeout | This indicates that the device kernel took too long to execute. This can only occur if timeouts are enabled - see the device attribute ::CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT for more information. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. |
ErrorMapFailed | Map failed |
ErrorMisalignedAddress | While executing a kernel, the device encountered a load or store instruction on a memory address which is not aligned. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. |
ErrorNoBinaryForGPU | No binary for GPU |
ErrorNoDevice | No CUDA-capable device available |
ErrorNotFound | Not found |
ErrorNotInitialized | Driver not initialized |
ErrorNotMapped | Not mapped |
ErrorNotMappedAsArray | Mapped resource not available for access as an array |
ErrorNotMappedAsPointer | Mapped resource not available for access as a pointer |
ErrorNotPermitted | This error indicates that the attempted operation is not permitted. |
ErrorNotReady | CUDA not ready |
ErrorNotSupported | This error indicates that the attempted operation is not supported on the current system or device. |
ErrorOperatingSystem | OS call failed |
ErrorOutOfMemory | Out of memory |
ErrorPeerAccessAlreadyEnabled | This error indicates that a call to cuCtxEnablePeerAccess(CUcontext, CtxEnablePeerAccessFlags) is trying to re-enable peer access to a context which has already had peer access to it enabled. |
ErrorPeerAccessNotEnabled | This error indicates that cuCtxDisablePeerAccess(CUcontext) is trying to disable peer access which has not been enabled yet via cuCtxEnablePeerAccess(CUcontext, CtxEnablePeerAccessFlags). |
ErrorPeerAccessUnsupported | This indicates that peer access is not supported across the given devices. |
ErrorPrimaryContextActice | This error indicates that the primary context for the specified device has already been initialized. |
ErrorProfilerAlreadyStarted | This error return is deprecated as of CUDA 5.0. It is no longer an error to call cuProfilerStart() when profiling is already enabled. |
ErrorProfilerAlreadyStopped | This error return is deprecated as of CUDA 5.0. It is no longer an error to call cuProfilerStop() when profiling is already disabled. |
ErrorProfilerDisabled | This indicates profiler is not initialized for this run. This can happen when the application is running with external profiling tools like visual profiler. |
ErrorProfilerNotInitialized | This error return is deprecated as of CUDA 5.0. It is no longer an error to attempt to enable/disable the profiling via ::cuProfilerStart or ::cuProfilerStop without initialization. |
ErrorSharedObjectInitFailed | Shared object initialization failed |
ErrorSharedObjectSymbolNotFound | Link to a shared object failed to resolve |
ErrorTooManyPeers | This error indicates that the hardware resources required to enable peer access have been exhausted for one or more of the devices passed to ::cuCtxEnablePeerAccess(). |
ErrorUnknown | Unknown error |
ErrorUnmapFailed | Unmap failed |
ErrorUnsupportedLimit | CULimit not supported by device |
JITCompilerNotFound | This indicates that the PTX JIT compiler library was not found. |
NVLinkUncorrectable | This indicates that an uncorrectable NVLink error was detected during the execution. |
Success | No errors |