numba_vulkan.errors#

Exceptions raised by the Vulkan target.

Exceptions#

VulkanPrecisionWarning

A kernel computes in float32 where its code says float64.

VulkanPerformanceWarning

A kernel computes with float64, which is slow on most GPUs.

VulkanValidationWarning

Vulkan's validation layer found a problem in how a device is used.

VulkanSupportError

A device lacks a capability that a kernel needs.

Classes#

VulkanUnsupportedError

A kernel uses something Vulkan compute shaders cannot express.

SpirvCodegenError

LLVM's SPIR-V backend could not translate a kernel.

Module Contents#

class numba_vulkan.errors.VulkanUnsupportedError#

A kernel uses something Vulkan compute shaders cannot express.

Raised while compiling, for example for slices, recursion or float64 transcendental functions. It is a numba.core.errors.NumbaError, so Numba adds the source location of the offending statement.

class numba_vulkan.errors.SpirvCodegenError#

LLVM’s SPIR-V backend could not translate a kernel.

Raised when the backend aborts, when the generated module fails the built-in sanity check, or when spirv-val rejects it (with NUMBA_VULKAN_VALIDATE=1). It usually points at a gap in this package rather than at a mistake in the kernel.

exception numba_vulkan.errors.VulkanPrecisionWarning#

A kernel computes in float32 where its code says float64.

Issued once per kernel when it is compiled for a device without float64 support; see numba_vulkan.narrowing.

Initialize self. See help(type(self)) for accurate signature.

exception numba_vulkan.errors.VulkanPerformanceWarning#

A kernel computes with float64, which is slow on most GPUs.

Issued once per kernel when it is compiled. NUMBA_VULKAN_WARNINGS=0 silences it, as does warnings.filterwarnings("ignore", category=nv.VulkanPerformanceWarning).

Initialize self. See help(type(self)) for accurate signature.

exception numba_vulkan.errors.VulkanValidationWarning#

Vulkan’s validation layer found a problem in how a device is used.

Issued only with NUMBA_VULKAN_DEBUG=1, for every warning and error the layer reports; numba_vulkan.runtime.validation_messages returns them as well.

Initialize self. See help(type(self)) for accurate signature.

exception numba_vulkan.errors.VulkanSupportError#

A device lacks a capability that a kernel needs.

Raised when a kernel is launched, for example on a device without float64 support, or when no usable Vulkan device exists.

Initialize self. See help(type(self)) for accurate signature.