Skip to main content

Algorithm

Trait Algorithm 

Source
pub trait Algorithm {
    type Routine: Routine<RuntimeArgs>;
    type Args: MatmulArgs<Config = RuntimeArgs>;

    const IS_SPECIALIZED: bool = false;

    // Required method
    fn correct_layout<R: Runtime>(
        client: &ComputeClient<R>,
        handle: TensorBinding<R>,
        dtype: StorageType,
        operation: ConvolutionOperation,
    ) -> Result<TensorBinding<R>, LaunchError>;

    // Provided method
    fn filter_vector_sizes(
        vector_sizes: AvailableVectorSizes,
    ) -> AvailableVectorSizes { ... }
}
Expand description

Specifications for a convolution algorithm

Provided Associated Constants§

Source

const IS_SPECIALIZED: bool = false

Whether to select specialized load flow in tests. Should replace with something cleaner eventually, but this is nice and simple.

Required Associated Types§

Required Methods§

Provided Methods§

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§