pub struct PlaneVecTileExpand<N: Numeric> {
pub data: <Array<Vector<N, NPlaneVec>> as CubeType>::ExpandType,
pub matrix_layout: MatrixLayout,
pub tile_size: TileSize,
pub reduce_vector_size: u32,
}Fields§
§data: <Array<Vector<N, NPlaneVec>> as CubeType>::ExpandType§matrix_layout: MatrixLayout§tile_size: TileSize§reduce_vector_size: u32Implementations§
Source§impl<A: Numeric> PlaneVecTileExpand<A>
impl<A: Numeric> PlaneVecTileExpand<A>
Sourcepub fn __expand_mma_method<L: Numeric, R: Numeric>(
&mut self,
scope: &Scope,
lhs: &<PlaneVecTile<L> as CubeType>::ExpandType,
rhs: &<PlaneVecTile<R> as CubeType>::ExpandType,
)
pub fn __expand_mma_method<L: Numeric, R: Numeric>( &mut self, scope: &Scope, lhs: &<PlaneVecTile<L> as CubeType>::ExpandType, rhs: &<PlaneVecTile<R> as CubeType>::ExpandType, )
Executes lhs · rhs, accumulating into self via the plane-vec
inner-product matmul.
Sourcepub fn __expand_mma<L: Numeric, R: Numeric>(
scope: &Scope,
this: &mut Self,
lhs: &<PlaneVecTile<L> as CubeType>::ExpandType,
rhs: &<PlaneVecTile<R> as CubeType>::ExpandType,
)
pub fn __expand_mma<L: Numeric, R: Numeric>( scope: &Scope, this: &mut Self, lhs: &<PlaneVecTile<L> as CubeType>::ExpandType, rhs: &<PlaneVecTile<R> as CubeType>::ExpandType, )
Executes lhs · rhs, accumulating into self via the plane-vec
inner-product matmul.
Source§impl<N: Numeric> PlaneVecTileExpand<N>
impl<N: Numeric> PlaneVecTileExpand<N>
Sourcepub fn __expand_copy_from_method<SE: Numeric, SS: Size, Sc: TileScope>(
&mut self,
scope: &Scope,
source: &<Tile<SE, Sc> as CubeType>::ExpandType,
ident: StageIdent,
)
pub fn __expand_copy_from_method<SE: Numeric, SS: Size, Sc: TileScope>( &mut self, scope: &Scope, source: &<Tile<SE, Sc> as CubeType>::ExpandType, ident: StageIdent, )
Copies into the plane-vec tile from source. Supported sources:
Shared and None (zero-init).
pub fn __expand_init_zero_method(&mut self, scope: &Scope)
Sourcepub fn __expand_copy_from<SE: Numeric, SS: Size, Sc: TileScope>(
scope: &Scope,
this: &mut Self,
source: &<Tile<SE, Sc> as CubeType>::ExpandType,
ident: StageIdent,
)
pub fn __expand_copy_from<SE: Numeric, SS: Size, Sc: TileScope>( scope: &Scope, this: &mut Self, source: &<Tile<SE, Sc> as CubeType>::ExpandType, ident: StageIdent, )
Copies into the plane-vec tile from source. Supported sources:
Shared and None (zero-init).
pub fn __expand_init_zero(scope: &Scope, this: &mut Self)
Trait Implementations§
Source§impl<N: Numeric> AsMutExpand for PlaneVecTileExpand<N>
impl<N: Numeric> AsMutExpand for PlaneVecTileExpand<N>
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<N: Numeric> AsRefExpand for PlaneVecTileExpand<N>
impl<N: Numeric> AsRefExpand for PlaneVecTileExpand<N>
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl<N: Numeric> CubeDebug for PlaneVecTileExpand<N>
impl<N: Numeric> CubeDebug for PlaneVecTileExpand<N>
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Set the debug name of this type’s expansion. Should do nothing for types that don’t appear
at runtime
Source§impl<N: Numeric> ExpandTypeClone for PlaneVecTileExpand<N>
impl<N: Numeric> ExpandTypeClone for PlaneVecTileExpand<N>
Source§fn clone_unchecked(&self) -> Self
fn clone_unchecked(&self) -> Self
Unchecked clone that only clones the conceptual runtime value. Should only be used in cases
where each copy is used in a mutually exclusive branch (i.e. match, runtime enums). This is
intentionally separated from Rust’s
Clone semantics and should only be used for the
conceptual expand values, never real data. Using two values in the same branch is undefined
behaviour.Source§impl<N: Numeric> IntoExpand for PlaneVecTileExpand<N>
impl<N: Numeric> IntoExpand for PlaneVecTileExpand<N>
type Expand = PlaneVecTileExpand<N>
fn into_expand(self, _: &Scope) -> Self
Auto Trait Implementations§
impl<N> Freeze for PlaneVecTileExpand<N>
impl<N> RefUnwindSafe for PlaneVecTileExpand<N>where
N: RefUnwindSafe,
impl<N> Send for PlaneVecTileExpand<N>
impl<N> Sync for PlaneVecTileExpand<N>
impl<N> Unpin for PlaneVecTileExpand<N>where
N: Unpin,
impl<N> UnsafeUnpin for PlaneVecTileExpand<N>
impl<N> UnwindSafe for PlaneVecTileExpand<N>where
N: UnwindSafe,
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