pub struct SimpleConv<TMM: TileMatmulFamily, LL: FullLoadingStrategy, LR: FullLoadingStrategy> { /* private fields */ }Expand description
Cmma convolution
Trait Implementations§
Source§impl<TMM: TileMatmulFamily<LhsTile = Strided, RhsTile = Strided, AccTile = CubeOption<Strided>, OutTile = Strided>, LL: FullLoadingStrategy, LR: FullLoadingStrategy<SyncStrategy = LL::SyncStrategy>> Algorithm for SimpleConv<TMM, LL, LR>
impl<TMM: TileMatmulFamily<LhsTile = Strided, RhsTile = Strided, AccTile = CubeOption<Strided>, OutTile = Strided>, LL: FullLoadingStrategy, LR: FullLoadingStrategy<SyncStrategy = LL::SyncStrategy>> Algorithm for SimpleConv<TMM, LL, LR>
type TileMatmul = TMM
type StageMatmul = PlaneMatmulFamily<<SimpleConv<TMM, LL, LR> as Algorithm>::TileMatmul, StridedStageFamily, StridedStageFamily, Option<StridedStageFamily>>
type GlobalConvolution = SimpleConvolutionFamily<<SimpleConv<TMM, LL, LR> as Algorithm>::StageMatmul, LL, LR>
type Args = TensorArgs
fn into_tensor_handle<R: Runtime>( client: &ComputeClient<R>, handle: &TensorHandleRef<'_, R>, dtype: StorageType, _operation: ConvolutionOperation, ) -> Result<TensorHandle<R>, LaunchError>
fn selection<R: Runtime>( client: &ComputeClient<R>, problem: &ConvolutionProblem, plane_dim: u32, line_sizes: &MatmulLineSizes, dtypes: &mut MatmulElems, ) -> Result<TilingBlueprint, MatmulSetupError>
fn cube_count( selection: &TilingBlueprint, problem: &ConvolutionProblem, ) -> CubeCount
fn multi_row_strategy() -> MultiRowStrategy
fn loading_precompute_strategy() -> LoadingPrecomputeStrategy
fn reader_mode() -> ReaderMode
fn load_specialization() -> LoadFlows
fn partition_buffering_strategy() -> PartitionBuffering
Source§fn expand_config(
device_props: &DeviceProperties,
problem: &ConvolutionProblem,
selection: &TilingBlueprint,
line_sizes: &MatmulLineSizes,
dtypes: &MatmulElems,
) -> Result<GlobalConfig<Self::GlobalConvolution>, MatmulSetupError>
fn expand_config( device_props: &DeviceProperties, problem: &ConvolutionProblem, selection: &TilingBlueprint, line_sizes: &MatmulLineSizes, dtypes: &MatmulElems, ) -> Result<GlobalConfig<Self::GlobalConvolution>, MatmulSetupError>
Make a convolution config from a convolution problem, and launch options
fn filter_line_sizes(line_sizes: AvailableLineSizes) -> AvailableLineSizes
Auto Trait Implementations§
impl<TMM, LL, LR> Freeze for SimpleConv<TMM, LL, LR>
impl<TMM, LL, LR> RefUnwindSafe for SimpleConv<TMM, LL, LR>
impl<TMM, LL, LR> Send for SimpleConv<TMM, LL, LR>
impl<TMM, LL, LR> Sync for SimpleConv<TMM, LL, LR>
impl<TMM, LL, LR> Unpin for SimpleConv<TMM, LL, LR>
impl<TMM, LL, LR> UnwindSafe for SimpleConv<TMM, LL, LR>
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