Trait ConvolutionConfigFactory

Source
pub trait ConvolutionConfigFactory:
    Send
    + Sync
    + 'static {
    type Config: ConvGemmConfig;
    type Input;

    // Required methods
    fn check_config(config: &Self::Config) -> Result<(), InvalidConfigError>;
    fn make_config(
        input: Self::Input,
        problem: &ConvolutionProblem,
        cube_dim: &CubeDim,
        cube_count: &CubeCount,
    ) -> Self::Config;
    fn check_availability<R: Runtime, MP: MatmulPrecision>(
        client: &ComputeClient<R::Server, R::Channel>,
        config: &Self::Config,
    ) -> Result<(), MatmulAvailabilityError>;
}
Expand description

Provides configuration for a matmul kernel at any level

Required Associated Types§

Source

type Config: ConvGemmConfig

Configuration tailored to the matmul implementation

Source

type Input

Required Methods§

Source

fn check_config(config: &Self::Config) -> Result<(), InvalidConfigError>

Asserts that the configuration for this matmul will lead to a valid computation

Source

fn make_config( input: Self::Input, problem: &ConvolutionProblem, cube_dim: &CubeDim, cube_count: &CubeCount, ) -> Self::Config

Source

fn check_availability<R: Runtime, MP: MatmulPrecision>( client: &ComputeClient<R::Server, R::Channel>, config: &Self::Config, ) -> Result<(), MatmulAvailabilityError>

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§