pub struct KernelCacheKey {
pub op_type: String,
pub domain: String,
pub opset: u64,
pub input_shapes: Vec<Vec<usize>>,
pub input_dtypes: Vec<DataType>,
pub device: DeviceId,
}Expand description
The cache key (docs/EAGER.md §8.2 KernelCacheKey).
Two dispatches share a compiled kernel iff they agree on the op identity
(op_type, domain, opset), the input shapes, the input dtypes, and the
device. Shapes and dtypes are part of the key because kernels are compiled
specialised to concrete shapes (§4.2 / §8.2).
Fields§
§op_type: String§domain: String§opset: u64§input_shapes: Vec<Vec<usize>>§input_dtypes: Vec<DataType>§device: DeviceIdTrait Implementations§
Source§impl Clone for KernelCacheKey
impl Clone for KernelCacheKey
Source§fn clone(&self) -> KernelCacheKey
fn clone(&self) -> KernelCacheKey
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 KernelCacheKey
impl Debug for KernelCacheKey
impl Eq for KernelCacheKey
Source§impl Hash for KernelCacheKey
impl Hash for KernelCacheKey
Source§impl PartialEq for KernelCacheKey
impl PartialEq for KernelCacheKey
impl StructuralPartialEq for KernelCacheKey
Auto Trait Implementations§
impl Freeze for KernelCacheKey
impl RefUnwindSafe for KernelCacheKey
impl Send for KernelCacheKey
impl Sync for KernelCacheKey
impl Unpin for KernelCacheKey
impl UnsafeUnpin for KernelCacheKey
impl UnwindSafe for KernelCacheKey
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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