pub struct DoubleUnitAlgorithm {}Expand description
Unit double buffered matmul with cyclic readers
Trait Implementations§
Source§impl Algorithm for DoubleUnitAlgorithm
impl Algorithm for DoubleUnitAlgorithm
type SelectionArgs = DoubleUnitSelectionArgs
type TileMatmul = RegisterMatmul<Filled>
type StageMatmul = UnitMatmulFamily<<DoubleUnitAlgorithm as Algorithm>::TileMatmul, StridedStageFamily, FilledStageFamily>
type GlobalMatmul = DoubleBufferingMatmulFamily<<DoubleUnitAlgorithm as Algorithm>::StageMatmul, SyncPartialCyclicLoading<RowMajorTilingOrder>, SyncPartialCyclicLoading<RowMajorTilingOrder>, UnitWriterFamily>
type BatchMatmul = PartitionedBatchMatmulFamily<<DoubleUnitAlgorithm 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 Freeze for DoubleUnitAlgorithm
impl RefUnwindSafe for DoubleUnitAlgorithm
impl Send for DoubleUnitAlgorithm
impl Sync for DoubleUnitAlgorithm
impl Unpin for DoubleUnitAlgorithm
impl UnwindSafe for DoubleUnitAlgorithm
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