pub struct Region { /* private fields */ }Expand description
The path a kernel’s loops took to a box, with the coordinates each loop handed out. Iterating distributes the next level.
Implementations§
Source§impl Region
impl Region
Sourcepub fn leaves(&self) -> Leaves
pub fn leaves(&self) -> Leaves
The regions at the partitioning’s innermost level below this one, one loop per level between: a kernel reads the same however many levels its partitioning stacks there.
Sourcepub fn planes(&self) -> Planes
pub fn planes(&self) -> Planes
The planes below this region, each once, at the first step of every walk between: what a plane holds across a walk, such as its rows, is the same at every step, while its coordinates along a walked axis are the first step’s.
Sourcepub fn trailing(
depth: usize,
space: Space,
level: Level,
c0: usize,
c1: usize,
) -> Region
pub fn trailing( depth: usize, space: Space, level: Level, c0: usize, c1: usize, ) -> Region
The region one level below the root at trailing-two coordinates (c0, c1) under level,
0 elsewhere, for a tile at depth. Comptime coordinates stay constant.
Sourcepub fn coord(&self, axis: Axis) -> usize
pub fn coord(&self, axis: Axis) -> usize
The innermost level’s coordinate along axis; 0 when the axis is absent.
Sourcepub fn origin(&self, axis: Axis) -> usize
pub fn origin(&self, axis: Axis) -> usize
The first coordinate along axis of the box this region covers, counted from its root’s:
every level’s coordinate along axis times the tile it cuts there. What a kernel bounds a
walk of its own by, as an attention’s causal queries bound the keys they read.
Sourcepub fn __expand_walk(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
) -> <Walk as CubeType>::ExpandType
pub fn __expand_walk( scope: &Scope, this: &<Self as CubeType>::ExpandType, ) -> <Walk as CubeType>::ExpandType
The regions of the level below this one.
Sourcepub fn __expand_leaves(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
) -> <Leaves as CubeType>::ExpandType
pub fn __expand_leaves( scope: &Scope, this: &<Self as CubeType>::ExpandType, ) -> <Leaves as CubeType>::ExpandType
The regions at the partitioning’s innermost level below this one, one loop per level between: a kernel reads the same however many levels its partitioning stacks there.
Sourcepub fn __expand_planes(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
) -> <Planes as CubeType>::ExpandType
pub fn __expand_planes( scope: &Scope, this: &<Self as CubeType>::ExpandType, ) -> <Planes as CubeType>::ExpandType
The planes below this region, each once, at the first step of every walk between: what a plane holds across a walk, such as its rows, is the same at every step, while its coordinates along a walked axis are the first step’s.
Sourcepub fn __expand_trailing(
scope: &Scope,
depth: usize,
space: Space,
level: Level,
c0: <usize as CubeType>::ExpandType,
c1: <usize as CubeType>::ExpandType,
) -> <Region as CubeType>::ExpandType
pub fn __expand_trailing( scope: &Scope, depth: usize, space: Space, level: Level, c0: <usize as CubeType>::ExpandType, c1: <usize as CubeType>::ExpandType, ) -> <Region as CubeType>::ExpandType
The region one level below the root at trailing-two coordinates (c0, c1) under level,
0 elsewhere, for a tile at depth. Comptime coordinates stay constant.
Sourcepub fn __expand_coord(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
axis: Axis,
) -> <usize as CubeType>::ExpandType
pub fn __expand_coord( scope: &Scope, this: &<Self as CubeType>::ExpandType, axis: Axis, ) -> <usize as CubeType>::ExpandType
The innermost level’s coordinate along axis; 0 when the axis is absent.
Sourcepub fn __expand_origin(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
axis: Axis,
) -> <usize as CubeType>::ExpandType
pub fn __expand_origin( scope: &Scope, this: &<Self as CubeType>::ExpandType, axis: Axis, ) -> <usize as CubeType>::ExpandType
The first coordinate along axis of the box this region covers, counted from its root’s:
every level’s coordinate along axis times the tile it cuts there. What a kernel bounds a
walk of its own by, as an attention’s causal queries bound the keys they read.
Sourcepub fn __expand_over(
scope: &Scope,
this: &<Self as CubeType>::ExpandType,
level: &Level,
) -> <Walk as CubeType>::ExpandType
pub fn __expand_over( scope: &Scope, this: &<Self as CubeType>::ExpandType, level: &Level, ) -> <Walk as CubeType>::ExpandType
The regions of level over this region’s own box.
Source§impl Region
impl Region
Sourcepub fn walk_within(&self, _tile: &Tile) -> Walk
pub fn walk_within(&self, _tile: &Tile) -> Walk
The regions of the level below this one, over what tile holds: along a dynamic axis an
index placed a run of tile along (Indexing::Run), the run’s tiles alone; along every
other, this region’s box. A tile whose entry names nothing, a coordinate past its axis or
an empty run, holds nothing, and the walk takes no step. What a cube walks its group’s rows
by, every operand it holds windowed by the same regions, and what a routine walks an
indexed operand by, so a tile a padding row or a padding tile names does no work.
Trait Implementations§
Source§impl IntoIterator for Region
Host-side stand-in for for plane in cube; never runs.
impl IntoIterator for Region
Host-side stand-in for for plane in cube; never runs.
Auto Trait Implementations§
impl Freeze for Region
impl RefUnwindSafe for Region
impl Send for Region
impl Sync for Region
impl Unpin for Region
impl UnsafeUnpin for Region
impl UnwindSafe for Region
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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