pub enum JitAutotuneKey {
Matmul(MatmulAutotuneKey),
Reduce(ReduceAutotuneKey),
Conv2d(Conv2dAutotuneKey),
ConvTranspose2d(ConvTranspose2dAutotuneKey),
}Expand description
Key for all autotune-enabled operations
Variants§
Matmul(MatmulAutotuneKey)
Key for matmul operation
Reduce(ReduceAutotuneKey)
Key for reduce dim operations
Conv2d(Conv2dAutotuneKey)
Key for convolution operations
ConvTranspose2d(ConvTranspose2dAutotuneKey)
Key for transpose convolution operations
Trait Implementations§
Source§impl<Run: JitRuntime, In: JitElement, Out: JitElement, Rd: Reduce> AutotuneOperationSet<JitAutotuneKey> for ReduceOps<Run, In, Out, Rd>
impl<Run: JitRuntime, In: JitElement, Out: JitElement, Rd: Reduce> AutotuneOperationSet<JitAutotuneKey> for ReduceOps<Run, In, Out, Rd>
Source§fn key(&self) -> JitAutotuneKey
fn key(&self) -> JitAutotuneKey
The key used in the tune cache
Source§fn autotunables(&self) -> Vec<Box<dyn AutotuneOperation<()>>>
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<()>>
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
Nb: The 0 index is used a “good default”.
Source§fn should_run(&self, key: &JitAutotuneKey, index: usize) -> bool
fn should_run(&self, key: &JitAutotuneKey, index: usize) -> bool
Enable or disable certain indices from being benchmarked based on the key
Source§fn compute_checksum(&self) -> String
fn compute_checksum(&self) -> String
Compute a checksum that can invalidate outdated cached auto-tune results.
Source§impl Clone for JitAutotuneKey
impl Clone for JitAutotuneKey
Source§fn clone(&self) -> JitAutotuneKey
fn clone(&self) -> JitAutotuneKey
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for JitAutotuneKey
impl Debug for JitAutotuneKey
Source§impl<'de> Deserialize<'de> for JitAutotuneKey
impl<'de> Deserialize<'de> for JitAutotuneKey
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for JitAutotuneKey
impl Display for JitAutotuneKey
Source§impl Hash for JitAutotuneKey
impl Hash for JitAutotuneKey
Source§impl PartialEq for JitAutotuneKey
impl PartialEq for JitAutotuneKey
Source§impl Serialize for JitAutotuneKey
impl Serialize for JitAutotuneKey
impl AutotuneKey for JitAutotuneKey
impl Eq for JitAutotuneKey
impl StructuralPartialEq for JitAutotuneKey
Auto Trait Implementations§
impl Freeze for JitAutotuneKey
impl RefUnwindSafe for JitAutotuneKey
impl Send for JitAutotuneKey
impl Sync for JitAutotuneKey
impl Unpin for JitAutotuneKey
impl UnwindSafe for JitAutotuneKey
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more