pub enum AutotuneError {
Unknown {
name: String,
err: String,
},
Rejected {
name: String,
reason: String,
},
InvalidSamples {
name: String,
},
NoValidKernelFound {
context: String,
},
NotMeasured {
name: String,
},
Skip {
name: String,
},
Launch(LaunchError),
}Expand description
Error from running autotune.
Variants§
Unknown
An unknown error happened.
Rejected
The tunable’s own function returned an error, so it queued no work for this problem:
it does not serve these inputs, or failed before launching. Unlike
Unknown, which the harness reports around work that was queued (a
profile it could not take or resolve, an execution that failed, memory that ran out),
this says nothing ran — so it is never a kernel to fall back on.
InvalidSamples
All samples are invalid.
NoValidKernelFound
No autotune was flagged as valid for the problem.
§Warning
This is an unrecoverable error and will cause a panic.
NotMeasured
A sample’s profiled window carried no measurement.
Disqualifying, and deliberately not folded into a zero: zero is the fastest duration there is, so a candidate carrying one wins every comparison it enters and gets cached as the best row in the table.
Skip
The autotune is skipped manually.
Launch(LaunchError)
An error happened when launching a kernel.
Trait Implementations§
Source§impl Clone for AutotuneError
impl Clone for AutotuneError
Source§impl Debug for AutotuneError
impl Debug for AutotuneError
Source§impl<'de> Deserialize<'de> for AutotuneError
impl<'de> Deserialize<'de> for AutotuneError
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>,
Source§impl Display for AutotuneError
impl Display for AutotuneError
Source§impl From<LaunchError> for AutotuneError
impl From<LaunchError> for AutotuneError
Source§fn from(value: LaunchError) -> Self
fn from(value: LaunchError) -> Self
Auto Trait Implementations§
impl Freeze for AutotuneError
impl RefUnwindSafe for AutotuneError
impl Send for AutotuneError
impl Sync for AutotuneError
impl Unpin for AutotuneError
impl UnsafeUnpin for AutotuneError
impl UnwindSafe for AutotuneError
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
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