#[non_exhaustive]pub enum Error {
Unsupported(&'static str),
InvalidProblem(&'static str),
MisalignedOperand,
WorkspaceTooSmall {
needed: usize,
got: usize,
},
BufferTooSmall {
needed: usize,
got: usize,
},
CutlassInternal(i32),
Driver(Error),
}Expand description
Errors raised by the safe CUTLASS wrapper.
Re-exported by baracuda-kernels as
baracuda_kernels::Error since the kernel facade returns the same
error surface for every op family (the cuSOLVER / cuDNN / cuFFT
facades all map their library-native status codes into one of these
variants).
#[non_exhaustive] — error variants have grown every couple of
phases as new failure modes surface (Phase 7 added cuDNN-status
fallback paths; Phase 22 added the cuSOLVER facade plumbing). Match
arms must include a _ => catch-all so adding a new variant
doesn’t break downstream match e { ... } blocks.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unsupported(&'static str)
The requested SKU isn’t available in this build.
Either no arch feature is enabled (no kernels were compiled), or the problem requires a SKU that’s outside the curated v0 set (non-RCR layout, unsupported epilogue, etc.).
InvalidProblem(&'static str)
A problem dimension or stride is invalid (e.g., M, N, or K is non-positive).
MisalignedOperand
A pointer or stride is misaligned for the selected kernel’s tensor-op instructions.
WorkspaceTooSmall
The provided workspace is too small for the selected plan or
Workspace::None was passed when scratch was required.
BufferTooSmall
A device buffer is too small for the declared matrix shape and stride.
Fields
CutlassInternal(i32)
CUTLASS reported an internal error during launch (typically a
kernel-launch failure surfaced through cudaGetLastError).
Driver(Error)
Underlying baracuda-driver error (context, stream, etc.).
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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()