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 setup<R: Runtime, MP: MatmulPrecision>(
client: &ComputeClient<R::Server>,
problem: &ConvolutionProblem,
selection: &MatmulSelection,
line_sizes: &MatmulLineSizes,
) -> 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 setup<R: Runtime, MP: MatmulPrecision>( client: &ComputeClient<R::Server>, problem: &ConvolutionProblem, selection: &MatmulSelection, line_sizes: &MatmulLineSizes, ) -> 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.