pub struct SimpleUnitAlgorithm<LL = SyncFullCyclicLoading<ColMajorTilingOrder>, RL = SyncFullCyclicLoading<RowMajorTilingOrder>> {
pub _ll: PhantomData<LL>,
pub _rl: PhantomData<RL>,
}Expand description
Unit single stage matmul with configurable readers (default to cyclic)
Fields§
§_ll: PhantomData<LL>§_rl: PhantomData<RL>Trait Implementations§
Source§impl<LL, RL> Algorithm for SimpleUnitAlgorithm<LL, RL>where
LL: SyncFullLoadingStrategy,
RL: SyncFullLoadingStrategy,
impl<LL, RL> Algorithm for SimpleUnitAlgorithm<LL, RL>where
LL: SyncFullLoadingStrategy,
RL: SyncFullLoadingStrategy,
type SelectionArgs = SimpleUnitSelectionArgs
type TileMatmul = RegisterMatmul<Filled>
type StageMatmul = UnitMatmulFamily<<SimpleUnitAlgorithm<LL, RL> as Algorithm>::TileMatmul, StridedStageFamily, FilledStageFamily>
type GlobalMatmul = SimpleMatmulFamily<<SimpleUnitAlgorithm<LL, RL> as Algorithm>::StageMatmul, LL, RL, UnitWriterFamily>
type BatchMatmul = PartitionedBatchMatmulFamily<<SimpleUnitAlgorithm<LL, RL> as Algorithm>::GlobalMatmul, RowMajorGlobalPartitionMatmul>
fn selection<R: Runtime>( client: &ComputeClient<R::Server>, problem: &MatmulProblem, plane_dim: u32, line_sizes: &MatmulLineSizes, _elems: MatmulElems, args: &Self::SelectionArgs, ) -> Result<MatmulSelection, MatmulSetupError>
fn select_plane_dim<R: Runtime>(client: &ComputeClient<R::Server>) -> u32
fn setup<MP: MatmulPrecision, R: Runtime>( client: &ComputeClient<R::Server>, problem: &MatmulProblem, selection: &MatmulSelection, line_sizes: &MatmulLineSizes, ) -> Result<<Self::BatchMatmul as BatchMatmulFamily>::Config, MatmulSetupError>
fn filter_line_sizes( available_line_sizes: AvailableLineSizes, ) -> AvailableLineSizes
Auto Trait Implementations§
impl<LL, RL> Freeze for SimpleUnitAlgorithm<LL, RL>
impl<LL, RL> RefUnwindSafe for SimpleUnitAlgorithm<LL, RL>where
LL: RefUnwindSafe,
RL: RefUnwindSafe,
impl<LL, RL> Send for SimpleUnitAlgorithm<LL, RL>
impl<LL, RL> Sync for SimpleUnitAlgorithm<LL, RL>
impl<LL, RL> Unpin for SimpleUnitAlgorithm<LL, RL>
impl<LL, RL> UnwindSafe for SimpleUnitAlgorithm<LL, RL>where
LL: UnwindSafe,
RL: 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