pub struct SimpleBarrierAlgorithm<TMM, L: AsyncFullLoadingStrategy> {
pub _tmm: PhantomData<TMM>,
pub _l: PhantomData<L>,
}Expand description
Plane accelerated single stage matmul with async barrier loading
Fields§
§_tmm: PhantomData<TMM>§_l: PhantomData<L>Trait Implementations§
Source§impl<TMM, L> Algorithm for SimpleBarrierAlgorithm<TMM, L>where
TMM: TileMatmulFamily<LhsTile = Strided, RhsTile = Strided, AccTile = Filled, OutTile = Strided>,
L: AsyncFullLoadingStrategy,
impl<TMM, L> Algorithm for SimpleBarrierAlgorithm<TMM, L>where
TMM: TileMatmulFamily<LhsTile = Strided, RhsTile = Strided, AccTile = Filled, OutTile = Strided>,
L: AsyncFullLoadingStrategy,
type SelectionArgs = ()
type TileMatmul = TMM
type StageMatmul = PlaneMatmulFamily<<SimpleBarrierAlgorithm<TMM, L> as Algorithm>::TileMatmul, StridedStageFamily, StridedStageFamily, FilledStageFamily>
type GlobalMatmul = SimpleBarrierMatmulFamily<<SimpleBarrierAlgorithm<TMM, L> as Algorithm>::StageMatmul, L, L, PlaneWriterFamily>
type BatchMatmul = PartitionedBatchMatmulFamily<<SimpleBarrierAlgorithm<TMM, L> 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 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
fn select_plane_dim<R: Runtime>(client: &ComputeClient<R::Server>) -> u32
Auto Trait Implementations§
impl<TMM, L> Freeze for SimpleBarrierAlgorithm<TMM, L>
impl<TMM, L> RefUnwindSafe for SimpleBarrierAlgorithm<TMM, L>where
TMM: RefUnwindSafe,
L: RefUnwindSafe,
impl<TMM, L> Send for SimpleBarrierAlgorithm<TMM, L>where
TMM: Send,
impl<TMM, L> Sync for SimpleBarrierAlgorithm<TMM, L>where
TMM: Sync,
impl<TMM, L> Unpin for SimpleBarrierAlgorithm<TMM, L>
impl<TMM, L> UnwindSafe for SimpleBarrierAlgorithm<TMM, L>where
TMM: UnwindSafe,
L: 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