GlobalConvolutionFamily

Trait GlobalConvolutionFamily 

Source
pub trait GlobalConvolutionFamily: ConvolutionLaunch<Self::Config> + 'static {
    type Config: ConvGemmConfig;
    type Convolution<MP: MatmulPrecision>: GlobalConvolution<MP, Config = Self::Config>;

    // Required methods
    fn filter_line_sizes(
        available_line_sizes: AvailableLineSizes,
    ) -> AvailableLineSizes;
    fn expand_config(
        device_props: &DeviceProperties,
        problem: &ConvolutionProblem,
        selection: &TilingBlueprint,
        line_sizes: &MatmulLineSizes,
        dtypes: &MatmulElems,
    ) -> Result<Self::Config, MatmulSetupError>;
}

Required Associated Types§

Source

type Config: ConvGemmConfig

Configuration tailored to the matmul implementation

Source

type Convolution<MP: MatmulPrecision>: GlobalConvolution<MP, Config = Self::Config>

Required Methods§

Source

fn filter_line_sizes( available_line_sizes: AvailableLineSizes, ) -> AvailableLineSizes

Source

fn expand_config( device_props: &DeviceProperties, problem: &ConvolutionProblem, selection: &TilingBlueprint, line_sizes: &MatmulLineSizes, dtypes: &MatmulElems, ) -> Result<Self::Config, MatmulSetupError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§