pub trait SpanMatmul:
'static
+ Send
+ Sync {
// Required methods
fn execute<MP: MatmulPrecision, GMM: GlobalMatmul<MP>>(
lhs: VirtualTensor<MP::EI>,
rhs: VirtualTensor<MP::EI>,
out: VirtualTensor<MP::EO, ReadWrite>,
span: Span,
acc: GMM::Accumulator,
k_range: (u32, u32),
quantization: CubeOption<Quantization<MP>>,
config: GMM::Config,
);
fn __expand_execute<MP: MatmulPrecision, GMM: GlobalMatmul<MP>>(
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,
span: <Span as CubeType>::ExpandType,
acc: <GMM::Accumulator as CubeType>::ExpandType,
k_range: <(u32, u32) as CubeType>::ExpandType,
quantization: <CubeOption<Quantization<MP>> as CubeType>::ExpandType,
config: GMM::Config,
) -> <() as CubeType>::ExpandType;
}
Expand description
Iterates on several global matmul across a span
Required Methods§
fn execute<MP: MatmulPrecision, GMM: GlobalMatmul<MP>>( lhs: VirtualTensor<MP::EI>, rhs: VirtualTensor<MP::EI>, out: VirtualTensor<MP::EO, ReadWrite>, span: Span, acc: GMM::Accumulator, k_range: (u32, u32), quantization: CubeOption<Quantization<MP>>, config: GMM::Config, )
fn __expand_execute<MP: MatmulPrecision, GMM: GlobalMatmul<MP>>( 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, span: <Span as CubeType>::ExpandType, acc: <GMM::Accumulator as CubeType>::ExpandType, k_range: <(u32, u32) as CubeType>::ExpandType, quantization: <CubeOption<Quantization<MP>> as CubeType>::ExpandType, config: GMM::Config, ) -> <() as CubeType>::ExpandType
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.