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§
Sourcetype Config: ConvGemmConfig
type Config: ConvGemmConfig
Configuration tailored to the matmul implementation
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>
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.