pub struct AutotuneConfig {
pub logger: LoggerConfig<AutotuneLogLevel>,
pub recorder: LoggerConfig<RecorderLevel>,
pub level: AutotuneLevel,
pub disable_cache: bool,
pub disable_short_circuit: bool,
pub bench: BenchConfig,
}Expand description
Configuration for autotuning in CubeCL.
Fields§
§logger: LoggerConfig<AutotuneLogLevel>Logger configuration for autotune logs, using autotune-specific log levels.
recorder: LoggerConfig<RecorderLevel>Recorder configuration: where to write one AutotuneRecord
per tuning decision, as JSON, for a tool to read back.
Independent of logger, because the two answer different questions and both
can be wanted at once: the logger’s level says how much to tell a human, the recorder says
where to put the machine-readable record.
level: AutotuneLevelAutotune level, controlling the intensity of autotuning.
disable_cache: boolWhether to disable the persistent cache of autotune results.
The in-memory cache is unaffected: a key is still tuned only once per process.
disable_short_circuit: boolWhether to disable the short circuit logic during autotuning.
bench: BenchConfigSampling budget and elimination thresholds used while benchmarking candidates.
Implementations§
Source§impl AutotuneConfig
impl AutotuneConfig
Sourcepub fn recording_enabled(&self) -> bool
pub fn recording_enabled(&self) -> bool
Whether tuning decisions are being recorded, i.e. the recorder has somewhere to write.
Trait Implementations§
Source§impl Clone for AutotuneConfig
impl Clone for AutotuneConfig
Source§fn clone(&self) -> AutotuneConfig
fn clone(&self) -> AutotuneConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AutotuneConfig
impl Debug for AutotuneConfig
Source§impl Default for AutotuneConfig
impl Default for AutotuneConfig
Source§fn default() -> AutotuneConfig
fn default() -> AutotuneConfig
Source§impl<'de> Deserialize<'de> for AutotuneConfig
impl<'de> Deserialize<'de> for AutotuneConfig
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>,
Auto Trait Implementations§
impl Freeze for AutotuneConfig
impl RefUnwindSafe for AutotuneConfig
impl Send for AutotuneConfig
impl Sync for AutotuneConfig
impl Unpin for AutotuneConfig
impl UnsafeUnpin for AutotuneConfig
impl UnwindSafe for AutotuneConfig
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> 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