pub struct UnitMatmulFamily<TMM: TileMatmulFamily, RF: ReaderFamily> { /* private fields */ }
Expand description
Unit Matmul family for any precision
Trait Implementations§
Source§impl<TMM: TileMatmulFamily, RF: ReaderFamily> StageMatmulFamily for UnitMatmulFamily<TMM, RF>
impl<TMM: TileMatmulFamily, RF: ReaderFamily> StageMatmulFamily for UnitMatmulFamily<TMM, RF>
Source§type Matmul<MP: MatmulPrecision, TL: TilingLayout, TR: TilingLayout> = PartitionedStageMatmul<MP, <TMM as TileMatmulFamily>::Matmul<MP>, <RF as ReaderFamily>::Reader<<MP as MatmulPrecision>::ES, TL>, <RF as ReaderFamily>::Reader<<MP as MatmulPrecision>::ES, TR>, UnitPartitioner, UnitPartitionedStageConfig<<<TMM as TileMatmulFamily>::Matmul<MP> as TileMatmul<MP>>::Config>>
type Matmul<MP: MatmulPrecision, TL: TilingLayout, TR: TilingLayout> = PartitionedStageMatmul<MP, <TMM as TileMatmulFamily>::Matmul<MP>, <RF as ReaderFamily>::Reader<<MP as MatmulPrecision>::ES, TL>, <RF as ReaderFamily>::Reader<<MP as MatmulPrecision>::ES, TR>, UnitPartitioner, UnitPartitionedStageConfig<<<TMM as TileMatmulFamily>::Matmul<MP> as TileMatmul<MP>>::Config>>
The specific [TileMatmul] implementation associated with this family.
Source§type Config = UnitPartitionedStageConfig<<TMM as TileMatmulFamily>::Config>
type Config = UnitPartitionedStageConfig<<TMM as TileMatmulFamily>::Config>
The configuration type associated with this matmul family.
Source§fn setup<MP: MatmulPrecision, R: Runtime>(
client: &ComputeClient<R::Server, R::Channel>,
problem: &MatmulProblem,
selection: &MatmulSelection,
line_sizes: &MatmulLineSizes,
num_stages: NumStages,
max_loaders: Option<MaxLoaderPlanes>,
ordered: bool,
) -> Result<Self::Config, MatmulSetupError>
fn setup<MP: MatmulPrecision, R: Runtime>( client: &ComputeClient<R::Server, R::Channel>, problem: &MatmulProblem, selection: &MatmulSelection, line_sizes: &MatmulLineSizes, num_stages: NumStages, max_loaders: Option<MaxLoaderPlanes>, ordered: bool, ) -> Result<Self::Config, MatmulSetupError>
Constructs the configuration based on the matmul problem, selection, line sizes,
number of stages, maximum of tasks per plane, and whether the algorithm is an ordered variant Read more
Source§fn filter_line_sizes(
available_line_sizes: AvailableLineSizes,
) -> AvailableLineSizes
fn filter_line_sizes( available_line_sizes: AvailableLineSizes, ) -> AvailableLineSizes
Filters out line sizes that are incompatible with this matmul family. Read more
Auto Trait Implementations§
impl<TMM, RF> Freeze for UnitMatmulFamily<TMM, RF>
impl<TMM, RF> RefUnwindSafe for UnitMatmulFamily<TMM, RF>where
TMM: RefUnwindSafe,
RF: RefUnwindSafe,
impl<TMM, RF> Send for UnitMatmulFamily<TMM, RF>
impl<TMM, RF> Sync for UnitMatmulFamily<TMM, RF>
impl<TMM, RF> Unpin for UnitMatmulFamily<TMM, RF>
impl<TMM, RF> UnwindSafe for UnitMatmulFamily<TMM, RF>where
TMM: UnwindSafe,
RF: UnwindSafe,
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