Trait cubecl_core::tune::AutotuneOperationSet

source ·
pub trait AutotuneOperationSet<K>: Send {
    // Required methods
    fn key(&self) -> K;
    fn autotunables(&self) -> Vec<Box<dyn AutotuneOperation>>;
    fn fastest(
        self: Box<Self>,
        fastest_index: usize,
    ) -> Box<dyn AutotuneOperation>;
}
Expand description

Groups operations of the same type for autotune

Required Methods§

source

fn key(&self) -> K

The key used in the tune cache

source

fn autotunables(&self) -> Vec<Box<dyn AutotuneOperation>>

All candidate operations for autotuning this operation type Operations can run on toy tensors of relevant size

source

fn fastest(self: Box<Self>, fastest_index: usize) -> Box<dyn AutotuneOperation>

Returns the operation for the given index, matching the order returned by autotunables. Operation obtained here runs on original tensors

Implementors§