pub struct OneToManyMatmul<MP: MatmulPrecision, GMM: GlobalMatmul<MP>, S: SpanMatmul, C: CubeDispatch> { /* private fields */ }
Expand description
Executes matrix multiplication at the batch level, assigning each cube to handle multiple global matmuls.
The algorithm supports any number of cubes, looping as needed to process all data.
Trait Implementations§
Source§impl<MP: MatmulPrecision, GMM: GlobalMatmul<MP>, S: SpanMatmul, C: CubeDispatch> BatchMatmul<MP> for OneToManyMatmul<MP, GMM, S, C>
impl<MP: MatmulPrecision, GMM: GlobalMatmul<MP>, S: SpanMatmul, C: CubeDispatch> BatchMatmul<MP> for OneToManyMatmul<MP, GMM, S, 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, S, C> Freeze for OneToManyMatmul<MP, GMM, S, C>
impl<MP, GMM, S, C> RefUnwindSafe for OneToManyMatmul<MP, GMM, S, C>
impl<MP, GMM, S, C> Send for OneToManyMatmul<MP, GMM, S, C>
impl<MP, GMM, S, C> Sync for OneToManyMatmul<MP, GMM, S, C>
impl<MP, GMM, S, C> Unpin for OneToManyMatmul<MP, GMM, S, C>
impl<MP, GMM, S, C> UnwindSafe for OneToManyMatmul<MP, GMM, S, 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