pub enum ProductType {
Inner,
Outer,
}Expand description
Execution mode for the register-resident matmul. Lives at tile level because the load + execute paths branch on it directly.
Variants§
Inner
Computes the Tile Matmul as m*n inner products of length k.
Needs Lhs to be row major and Rhs to be col major If not the case, tile will be transposed during load
Outer
Computes the Stage Matmul as the sum of k outer products of size m*n.
Needs Lhs to be col major and Rhs to be row major If not the case, tile will be transposed during load
Implementations§
Source§impl ProductType
impl ProductType
pub fn from_layouts( lhs_layout: MatrixLayout, rhs_layout: MatrixLayout, tile_size: TileSize, ) -> Self
Trait Implementations§
Source§impl Clone for ProductType
impl Clone for ProductType
Source§fn clone(&self) -> ProductType
fn clone(&self) -> ProductType
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ProductType
Source§impl Debug for ProductType
impl Debug for ProductType
impl Eq for ProductType
Source§impl Hash for ProductType
impl Hash for ProductType
Source§impl PartialEq for ProductType
impl PartialEq for ProductType
impl StructuralPartialEq for ProductType
Auto Trait Implementations§
impl Freeze for ProductType
impl RefUnwindSafe for ProductType
impl Send for ProductType
impl Sync for ProductType
impl Unpin for ProductType
impl UnsafeUnpin for ProductType
impl UnwindSafe for ProductType
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> 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> CompilationArg for T
impl<T> CompilationArg for T
Source§fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
Compilation args should be the same even with different element types. However, it isn’t
possible to enforce it with the type system. So, we make the compilation args serializable
and dynamically cast them. Read more
impl<T> CubeComptime for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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