Trait SpanMatmul

Source
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§

Source

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, )

Source

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.

Implementors§