Skip to main content

Refusal

Enum Refusal 

Source
pub enum Refusal {
Show 45 variants StrideOrderOfAStatedLayout, GatherOfATiledBinding(Tiling), GatherWithLabels, GatherRankMismatch { mapped: usize, rank: usize, }, GatherOfAnUnknownAxis(Axis), RankBelowLabels { rank: usize, block: usize, }, UnlabelledBatchDims { dims: usize, axes: usize, }, NoCoordinate, WidthNotServed { width: usize, why: LineMisfit, }, UncheckableVectorEdge, GatherInnermostNotInLines, GatherAxisAddressedTwice(Axis), GridNotReadOffLevels { units: u32, plane: u32, }, CubePastDevice { units: u32, most: u32, }, PlanesUnavailable, ImprecisePlaneDim { min: u32, max: u32, }, Declined { why: &'static str, }, CubeShapePastDevice { shape: (u32, u32, u32), most: (u32, u32, u32), }, NoUnits, NoCubes, GridPastDevice { count: (u32, u32, u32), most: (u32, u32, u32), }, SharedMemoryPastDevice { bytes: usize, most: usize, }, FillersWithoutBarriers { fillers: u32, }, BoxPastDescriptor { axis: Axis, edge: usize, most: usize, }, BoxSplitsStageBlocks { axis: Axis, rows: usize, period: usize, }, RowsNoDescriptorLands { why: &'static str, }, PagingOfAStatedLayout, PagingOfAnUnlabelledAxis(Axis), PagingOfOneDim(Axis), PagesAlongALine(Axis), PagingOfAnEmptyPool, PagingMovedByRuns, ScalesOfAPoolUnpaged, IndexTableNotU32, IndexTableRank { keys: usize, rank: usize, }, IndexOfAStatedLayout, IndexOfAnAxisNotSpanned(Axis), IndexAlongALine(Axis), IndexKeyedByItsAxis(Axis), RunKeyedByMany(usize), IndexKeysCutApart(Vec<Axis>), IndexedAxisCut(Axis), CodebookOfValuesNotIndices, CodebookTableNotPlain, CodebookTableShort { entries: usize, bits: usize, },
}
Expand description

Why a launch cannot run as described, or an operand cannot be bound to it.

Variants§

§

StrideOrderOfAStatedLayout

in_stride_order on a gathered or storage-tiled operand.

§

GatherOfATiledBinding(Tiling)

A gathered mapping over a storage-tiled binding.

§

GatherWithLabels

gathered combined with axes or batches.

§

GatherRankMismatch

The mapping addresses mapped dims but the operand has rank.

Fields

§mapped: usize
§rank: usize
§

GatherOfAnUnknownAxis(Axis)

The mapping spans an axis the launched space does not have.

§

RankBelowLabels

The operand’s rank is smaller than its labelled block of dims.

Fields

§rank: usize
§block: usize
§

UnlabelledBatchDims

More leading dims than batch axes to label them.

Fields

§dims: usize
§axes: usize
§

NoCoordinate

An operand must address at least one coordinate.

§

WidthNotServed

The buffer cannot be served width wide.

Fields

§width: usize
§

UncheckableVectorEdge

The innermost axis is served in vector lines but is not provably in bounds.

§

GatherInnermostNotInLines

A gathered mapping read in vector lines whose innermost physical axis does not step by the operand’s last logical axis at coefficient 1.

§

GatherAxisAddressedTwice(Axis)

A gathered mapping that reads axis off several physical axes: the operand is storage-tiled, or reads one axis from two places.

§

GridNotReadOffLevels

A grid read off the levels (Grid::FromLevels) needs a units level of one unit or the whole plane; this one holds units.

Fields

§units: u32
§plane: u32
§

CubePastDevice

A cube of units units, past the most the device holds.

Fields

§units: u32
§most: u32
§

PlanesUnavailable

The kernel works in planes, and the device runs no plane operations.

§

ImprecisePlaneDim

The kernel needs one plane width, and the device’s varies between min and max.

Fields

§min: u32
§max: u32
§

Declined

A routine declines a problem it does not serve, for the reason why.

Fields

§why: &'static str
§

CubeShapePastDevice

A cube shaped shape along x, y and z, past the most the device spawns along one of them: a cube legal in units can still be too long on an axis.

Fields

§shape: (u32, u32, u32)
§most: (u32, u32, u32)
§

NoUnits

A cube with a zero axis, which spawns no units.

§

NoCubes

A grid with a zero axis, which spawns no cubes: the runtime returns without dispatching anything, and the outputs keep whatever they held.

§

GridPastDevice

A grid of count cubes along x, y and z, past the most the device launches along one of them.

Fields

§count: (u32, u32, u32)
§most: (u32, u32, u32)
§

SharedMemoryPastDevice

A cube holding bytes of shared memory, past the most the device gives one.

Fields

§bytes: usize
§most: usize
§

FillersWithoutBarriers

fillers planes are set aside to fill a walk’s stages, and the device has no barrier type for the two roles to meet on.

Fields

§fillers: u32
§

BoxPastDescriptor

A TMA box edge past the descriptor’s per-axis limit most.

Fields

§axis: Axis
§edge: usize
§most: usize
§

BoxSplitsStageBlocks

A TMA box lands its rows whole, one after the other, and the stage’s blocks split the rows along axis, the innermost, or stack rows of them where the swizzle repeats every period.

Fields

§axis: Axis
§rows: usize
§period: usize
§

RowsNoDescriptorLands

A TMA box lands its rows dense, at most swizzled within one span, and the stage keeps them as why says.

Fields

§why: &'static str
§

PagingOfAStatedLayout

indexed over a pool of pages on a gathered or storage-tiled operand: a page is resolved coordinate by coordinate over a plain buffer’s labelled dims.

§

PagingOfAnUnlabelledAxis(Axis)

indexed over a pool of pages naming an axis no dim of the operand is labelled with.

§

PagingOfOneDim(Axis)

indexed over a pool of pages naming one dim for both the pages and their positions.

§

PagesAlongALine(Axis)

indexed over a pool of pages with the pages along the innermost dim, this axis’s: a line runs along it, so one line would span pages.

§

PagingOfAnEmptyPool

indexed over a pool of pages on a pool of no pages, or of pages of no positions: there is no page for a table entry to read.

§

PagingMovedByRuns

indexed over a pool of pages on an operand moved by runs (a bulk copy, a tensor map): the table resolves one line at a time.

§

ScalesOfAPoolUnpaged

indexed over a pool of pages whose scales span its pages or positions unplaced: they are a pool of their own, placed by the same table before they are stated.

§

IndexTableNotU32

indexed with a table that is not plain u32 entries, one a line: an entry is a coordinate.

§

IndexTableRank

indexed with a table of rank dims keyed by keys axes: a table holds one dim per key.

Fields

§keys: usize
§rank: usize
§

IndexOfAStatedLayout

indexed on a tensor map, or on a gathered, storage-tiled or paged operand: an entry moves a window of a plain buffer’s labelled dims.

§

IndexOfAnAxisNotSpanned(Axis)

indexed placing an axis the operand does not span.

§

IndexAlongALine(Axis)

indexed placing the innermost axis, this one, which the operand reads more than one value a line along: an entry is an element, and a line would straddle two of them.

§

IndexKeyedByItsAxis(Axis)

indexed with no key, or keyed by the axis it places.

§

RunKeyedByMany(usize)

Indexing::Run keyed by this many axes: a run’s end is the next entry along its one key.

§

IndexKeysCutApart(Vec<Axis>)

An indexed operand under a nest whose first level cutting one of these keys does not cut them all: the table is read at one step.

§

IndexedAxisCut(Axis)

An indexed operand under a nest that cuts the axis its entry places: a coordinate is the table’s to state, and a run is placed whole before any level cuts it.

§

CodebookOfValuesNotIndices

codebook on values not stored as indices (Field::Index).

§

CodebookTableNotPlain

codebook with a table that is not a plain one-dim buffer read one value a line.

§

CodebookTableShort

codebook with a table of entries, fewer than the 2^bits the indices name.

Fields

§entries: usize
§bits: usize

Trait Implementations§

Source§

impl Clone for Refusal

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Refusal

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Refusal

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Refusal

Source§

impl Error for Refusal

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl PartialEq for Refusal

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Refusal

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyError for T
where T: Error + Send + Sync + 'static,

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneExpand for T
where T: Clone,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<K, Q> Equivalent<Q> for K
where K: Borrow<Q> + ?Sized, Q: Eq + ?Sized,

Source§

fn equivalent(&self, key: &Q) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoComptime for T

Source§

fn comptime(self) -> Self

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TuneInputs for T
where T: Clone + Send + Sync + 'static,

Source§

type At<'a> = T

The concrete input type at lifetime 'a.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more