Trait AsyncLoadingJob

Source
pub trait AsyncLoadingJob<MP: MatmulPrecision, TL: TilingLayout>:
    CubeType
    + Copy
    + Clone {
    // Required methods
    fn execute_task<CM: CopyMechanism<MP::ES>, G: GlobalConfig>(
        this: &mut Self,
        task_id: u32,
        tensor_reader: &TensorReader<MP::EI>,
        stage: &mut Stage<MP::ES, TL>,
        mechanism: &CM,
        config: G,
    );
    fn task_count(this: &Self) -> u32;
    fn __expand_execute_task<CM: CopyMechanism<MP::ES>, G: GlobalConfig>(
        context: &mut Scope,
        this: <Self as CubeType>::ExpandType,
        task_id: <u32 as CubeType>::ExpandType,
        tensor_reader: <TensorReader<MP::EI> as CubeType>::ExpandType,
        stage: <Stage<MP::ES, TL> as CubeType>::ExpandType,
        mechanism: <CM as CubeType>::ExpandType,
        config: G,
    ) -> <() as CubeType>::ExpandType;
    fn __expand_task_count(
        context: &mut Scope,
        this: <Self as CubeType>::ExpandType,
    ) -> u32;
}

Required Methods§

Source

fn execute_task<CM: CopyMechanism<MP::ES>, G: GlobalConfig>( this: &mut Self, task_id: u32, tensor_reader: &TensorReader<MP::EI>, stage: &mut Stage<MP::ES, TL>, mechanism: &CM, config: G, )

Source

fn task_count(this: &Self) -> u32

Source

fn __expand_execute_task<CM: CopyMechanism<MP::ES>, G: GlobalConfig>( context: &mut Scope, this: <Self as CubeType>::ExpandType, task_id: <u32 as CubeType>::ExpandType, tensor_reader: <TensorReader<MP::EI> as CubeType>::ExpandType, stage: <Stage<MP::ES, TL> as CubeType>::ExpandType, mechanism: <CM as CubeType>::ExpandType, config: G, ) -> <() as CubeType>::ExpandType

Source

fn __expand_task_count( context: &mut Scope, this: <Self as CubeType>::ExpandType, ) -> u32

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§

Source§

impl<MP: MatmulPrecision> AsyncLoadingJob<MP, StridedTilingLayout> for cubecl_linalg::matmul::components::global::load::async_buffer_maximize_slice_length::Job

Source§

impl<MP: MatmulPrecision> AsyncLoadingJob<MP, StridedTilingLayout> for cubecl_linalg::matmul::components::global::load::async_full_cooperative::Job

Source§

impl<MP: MatmulPrecision> AsyncLoadingJob<MP, StridedTilingLayout> for cubecl_linalg::matmul::components::global::load::async_full_maximize_slice_length::Job

Source§

impl<MP: MatmulPrecision> AsyncLoadingJob<MP, StridedTilingLayout> for cubecl_linalg::matmul::components::global::load::async_full_maximize_unit_count::Job

Source§

impl<MP: MatmulPrecision, TO: TilingOrder> AsyncLoadingJob<MP, ContiguousTilingLayout<TO>> for cubecl_linalg::matmul::components::global::load::async_full_cyclic::Job