pub struct SimpleConvAlgorithm<TMM: TileMatmulFamily> { /* private fields */ }Expand description
Cmma convolution
Trait Implementations§
Source§impl<TMM: TileMatmulFamily<LhsTile = Strided, RhsTile = Strided, AccTile = CubeOption<Strided>, OutTile = Strided>> Algorithm for SimpleConvAlgorithm<TMM>
 
impl<TMM: TileMatmulFamily<LhsTile = Strided, RhsTile = Strided, AccTile = CubeOption<Strided>, OutTile = Strided>> Algorithm for SimpleConvAlgorithm<TMM>
type TileMatmul = TMM
type StageMatmul = PlaneMatmulFamily<<SimpleConvAlgorithm<TMM> as Algorithm>::TileMatmul, StridedStageFamily, StridedStageFamily, Option<StridedStageFamily>>
type GlobalConvolution = SimpleConvolutionFamily<<SimpleConvAlgorithm<TMM> as Algorithm>::StageMatmul>
type Args = TensorArgs
fn into_tensor_handle<R: Runtime, E: Numeric>( client: &ComputeClient<R::Server>, handle: &TensorHandleRef<'_, R>, ident: MatmulIdent, ) -> TensorHandle<R, E>
fn num_stages() -> NumStages
fn selection<R: Runtime>( client: &ComputeClient<R::Server>, problem: &ConvolutionProblem, plane_dim: u32, matmul_elems: MatmulElems, ) -> Result<MatmulSelection, MatmulSetupError>
fn cube_count( selection: &MatmulSelection, problem: &ConvolutionProblem, ) -> CubeCount
fn multi_row_strategy() -> MultiRowStrategy
fn loading_precompute_strategy() -> LoadingPrecomputeStrategy
fn reader_mode() -> ReaderMode
fn load_specialization() -> LoadSpecializationConfig
fn partition_buffering_strategy() -> PartitionBuffering
Source§fn setup<R: Runtime, MP: MatmulPrecision>(
    client: &ComputeClient<R::Server>,
    problem: &ConvolutionProblem,
    selection: &MatmulSelection,
    line_sizes: &MatmulLineSizes,
) -> Result<GlobalConfig<Self::GlobalConvolution>, MatmulSetupError>
 
fn setup<R: Runtime, MP: MatmulPrecision>( client: &ComputeClient<R::Server>, problem: &ConvolutionProblem, selection: &MatmulSelection, line_sizes: &MatmulLineSizes, ) -> Result<GlobalConfig<Self::GlobalConvolution>, MatmulSetupError>
Make a convolution config from a convolution problem, and launch options
fn filter_line_sizes( available_line_sizes: AvailableLineSizes, ) -> AvailableLineSizes
Auto Trait Implementations§
impl<TMM> Freeze for SimpleConvAlgorithm<TMM>
impl<TMM> RefUnwindSafe for SimpleConvAlgorithm<TMM>where
    TMM: RefUnwindSafe,
impl<TMM> Send for SimpleConvAlgorithm<TMM>
impl<TMM> Sync for SimpleConvAlgorithm<TMM>
impl<TMM> Unpin for SimpleConvAlgorithm<TMM>where
    TMM: Unpin,
impl<TMM> UnwindSafe for SimpleConvAlgorithm<TMM>where
    TMM: 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