pub struct PartitionTile<N: Numeric, Sc: TileScope> {
pub tiles: Sequence<Tile<N, Sc>>,
pub rows: u32,
pub cols: u32,
pub _phantom: PhantomData<Sc>,
}Expand description
Per-partition collection of instruction-level tiles, flattened in
mn-major order.
Fields§
§tiles: Sequence<Tile<N, Sc>>§rows: u32§cols: u32§_phantom: PhantomData<Sc>Implementations§
Source§impl<CRE: Numeric, Sc: TileScope> PartitionTile<CRE, Sc>
impl<CRE: Numeric, Sc: TileScope> PartitionTile<CRE, Sc>
Sourcepub fn execute_with_listener<LhsS: Numeric, LhsSize: Size, LhsR: Numeric, RhsS: Numeric, RhsSize: Size, RhsR: Numeric, SEL: StageEventListener>(
&mut self,
a_stage: &StageTile<LhsS>,
b_stage: &StageTile<RhsS>,
a_fragment: &mut Sequence<Tile<LhsR, Sc>>,
b_fragments: &mut PipelinedTile<RhsR, Sc>,
partition_size_k: u32,
listener: SEL,
scheduler: &PartitionScheduler,
)
pub fn execute_with_listener<LhsS: Numeric, LhsSize: Size, LhsR: Numeric, RhsS: Numeric, RhsSize: Size, RhsR: Numeric, SEL: StageEventListener>( &mut self, a_stage: &StageTile<LhsS>, b_stage: &StageTile<RhsS>, a_fragment: &mut Sequence<Tile<LhsR, Sc>>, b_fragments: &mut PipelinedTile<RhsR, Sc>, partition_size_k: u32, listener: SEL, scheduler: &PartitionScheduler, )
Run the partition matmul. b_fragments length picks single (1) or
double (2) buffering.
Sourcepub fn __expand_execute_with_listener<LhsS: Numeric, LhsSize: Size, LhsR: Numeric, RhsS: Numeric, RhsSize: Size, RhsR: Numeric, SEL: StageEventListener>(
scope: &Scope,
this: &mut <Self as CubeType>::ExpandType,
a_stage: &<StageTile<LhsS> as CubeType>::ExpandType,
b_stage: &<StageTile<RhsS> as CubeType>::ExpandType,
a_fragment: &mut <Sequence<Tile<LhsR, Sc>> as CubeType>::ExpandType,
b_fragments: &mut <PipelinedTile<RhsR, Sc> as CubeType>::ExpandType,
partition_size_k: u32,
listener: <SEL as CubeType>::ExpandType,
scheduler: &<PartitionScheduler as CubeType>::ExpandType,
)
pub fn __expand_execute_with_listener<LhsS: Numeric, LhsSize: Size, LhsR: Numeric, RhsS: Numeric, RhsSize: Size, RhsR: Numeric, SEL: StageEventListener>( scope: &Scope, this: &mut <Self as CubeType>::ExpandType, a_stage: &<StageTile<LhsS> as CubeType>::ExpandType, b_stage: &<StageTile<RhsS> as CubeType>::ExpandType, a_fragment: &mut <Sequence<Tile<LhsR, Sc>> as CubeType>::ExpandType, b_fragments: &mut <PipelinedTile<RhsR, Sc> as CubeType>::ExpandType, partition_size_k: u32, listener: <SEL as CubeType>::ExpandType, scheduler: &<PartitionScheduler as CubeType>::ExpandType, )
Run the partition matmul. b_fragments length picks single (1) or
double (2) buffering.
Trait Implementations§
Source§impl<N: Numeric, Sc: TileScope> CubeType for PartitionTile<N, Sc>
impl<N: Numeric, Sc: TileScope> CubeType for PartitionTile<N, Sc>
type ExpandType = PartitionTileExpand<N, Sc>
Auto Trait Implementations§
impl<N, Sc> !Send for PartitionTile<N, Sc>
impl<N, Sc> !Sync for PartitionTile<N, Sc>
impl<N, Sc> Freeze for PartitionTile<N, Sc>
impl<N, Sc> RefUnwindSafe for PartitionTile<N, Sc>where
Sc: RefUnwindSafe,
N: RefUnwindSafe,
impl<N, Sc> Unpin for PartitionTile<N, Sc>
impl<N, Sc> UnsafeUnpin for PartitionTile<N, Sc>
impl<N, Sc> UnwindSafe for PartitionTile<N, Sc>
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
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 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>
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