pub struct OneToOneMatmul<MP: MatmulPrecision, GMM: GlobalMatmul<MP>, C: CubeDispatch> { /* private fields */ }
Expand description
Executes matrix multiplication at the batch level, assigning each cube to a single global matmul.
Note: This algorithm requires one cube per global matmul; insufficient cubes will result in incomplete computations.
Trait Implementations§
Source§impl<MP: MatmulPrecision, GMM: GlobalMatmul<MP>, C: CubeDispatch> BatchMatmul<MP> for OneToOneMatmul<MP, GMM, C>
impl<MP: MatmulPrecision, GMM: GlobalMatmul<MP>, C: CubeDispatch> BatchMatmul<MP> for OneToOneMatmul<MP, GMM, C>
type Config = Config<<GMM as GlobalMatmul<MP>>::Config, C>
Source§fn execute(
lhs: VirtualTensor<MP::EI>,
rhs: VirtualTensor<MP::EI>,
out: VirtualTensor<MP::EO, ReadWrite>,
size_k: u32,
quantization: CubeOption<Quantization<MP>>,
config: Self::Config,
)
fn execute( lhs: VirtualTensor<MP::EI>, rhs: VirtualTensor<MP::EI>, out: VirtualTensor<MP::EO, ReadWrite>, size_k: u32, quantization: CubeOption<Quantization<MP>>, config: Self::Config, )
Performs batchwise matrix multiplication over tensors.
fn __expand_execute( context: &mut Scope, lhs: <VirtualTensor<MP::EI> as CubeType>::ExpandType, rhs: <VirtualTensor<MP::EI> as CubeType>::ExpandType, out: <VirtualTensor<MP::EO, ReadWrite> as CubeType>::ExpandType, size_k: <u32 as CubeType>::ExpandType, quantization: <CubeOption<Quantization<MP>> as CubeType>::ExpandType, config: Self::Config, ) -> <() as CubeType>::ExpandType
Auto Trait Implementations§
impl<MP, GMM, C> Freeze for OneToOneMatmul<MP, GMM, C>
impl<MP, GMM, C> RefUnwindSafe for OneToOneMatmul<MP, GMM, C>
impl<MP, GMM, C> Send for OneToOneMatmul<MP, GMM, C>
impl<MP, GMM, C> Sync for OneToOneMatmul<MP, GMM, C>
impl<MP, GMM, C> Unpin for OneToOneMatmul<MP, GMM, C>
impl<MP, GMM, C> UnwindSafe for OneToOneMatmul<MP, GMM, C>
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