pub struct PlaneMatmulFamily<TMM: TileMatmulFamily, LRF: ReaderFamily, RRF: ReaderFamily> { /* private fields */ }
Expand description
Plane Matmul family for any precision
Trait Implementations§
Source§impl<TMM: TileMatmulFamily, LRF: ReaderFamily, RRF: ReaderFamily> StageMatmulFamily for PlaneMatmulFamily<TMM, LRF, RRF>
impl<TMM: TileMatmulFamily, LRF: ReaderFamily, RRF: ReaderFamily> StageMatmulFamily for PlaneMatmulFamily<TMM, LRF, RRF>
Source§type Matmul<MP: MatmulPrecision, TL: TilingLayout, TR: TilingLayout> = PartitionedStageMatmul<MP, <TMM as TileMatmulFamily>::Matmul<MP>, <LRF as ReaderFamily>::Reader<<MP as MatmulPrecision>::ES, TL>, <RRF as ReaderFamily>::Reader<<MP as MatmulPrecision>::ES, TR>, PlanePartitioner, PlanePartitionedStageConfig<<<TMM as TileMatmulFamily>::Matmul<MP> as TileMatmul<MP>>::Config>>
type Matmul<MP: MatmulPrecision, TL: TilingLayout, TR: TilingLayout> = PartitionedStageMatmul<MP, <TMM as TileMatmulFamily>::Matmul<MP>, <LRF as ReaderFamily>::Reader<<MP as MatmulPrecision>::ES, TL>, <RRF as ReaderFamily>::Reader<<MP as MatmulPrecision>::ES, TR>, PlanePartitioner, PlanePartitionedStageConfig<<<TMM as TileMatmulFamily>::Matmul<MP> as TileMatmul<MP>>::Config>>
The specific [TileMatmul] implementation associated with this family.
Source§type Config = PlanePartitionedStageConfig<<TMM as TileMatmulFamily>::Config>
type Config = PlanePartitionedStageConfig<<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, LRF, RRF> Freeze for PlaneMatmulFamily<TMM, LRF, RRF>
impl<TMM, LRF, RRF> RefUnwindSafe for PlaneMatmulFamily<TMM, LRF, RRF>
impl<TMM, LRF, RRF> Send for PlaneMatmulFamily<TMM, LRF, RRF>
impl<TMM, LRF, RRF> Sync for PlaneMatmulFamily<TMM, LRF, RRF>
impl<TMM, LRF, RRF> Unpin for PlaneMatmulFamily<TMM, LRF, RRF>
impl<TMM, LRF, RRF> UnwindSafe for PlaneMatmulFamily<TMM, LRF, RRF>
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