pub enum BlasError {
Cuda(CudaError),
InvalidDimension(String),
BufferTooSmall {
expected: usize,
actual: usize,
},
DimensionMismatch(String),
UnsupportedOperation(String),
PtxGeneration(String),
LaunchFailed(String),
InvalidArgument(String),
AutotuneError(String),
}Expand description
BLAS-specific error type.
Every fallible BLAS operation returns BlasResult<T> which uses this
enum as its error variant. The variants are ordered roughly by how early
in the call chain they are likely to appear: argument validation first,
then PTX/launch errors, then driver-level failures.
Variants§
Cuda(CudaError)
A CUDA driver call failed.
InvalidDimension(String)
A matrix or vector dimension is invalid (e.g. zero rows).
BufferTooSmall
A device buffer is too small for the requested operation.
Fields
DimensionMismatch(String)
Two operands have incompatible dimensions (e.g. inner dims of A and B in a GEMM do not match).
UnsupportedOperation(String)
The requested operation or precision is not supported on this device.
PtxGeneration(String)
PTX kernel source generation failed.
LaunchFailed(String)
A kernel launch (grid/block configuration or driver call) failed.
InvalidArgument(String)
A caller-provided argument is invalid.
AutotuneError(String)
The autotuner encountered an error while profiling kernel variants.
Trait Implementations§
Source§impl Error for BlasError
impl Error for BlasError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()