cubecl_runtime/config/
autotune.rs1#[cfg(std_io)]
2use super::cache::CacheConfig;
3use super::logger::{LogLevel, LoggerConfig};
4
5#[derive(Default, Clone, Debug, serde::Serialize, serde::Deserialize)]
7pub struct AutotuneConfig {
8 #[serde(default)]
10 pub logger: LoggerConfig<AutotuneLogLevel>,
11
12 #[serde(default)]
14 pub level: AutotuneLevel,
15
16 #[serde(default)]
18 #[cfg(std_io)]
19 pub cache: CacheConfig,
20
21 #[serde(default)]
25 pub disable_cache: bool,
26}
27
28#[derive(Default, Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
30pub enum AutotuneLogLevel {
31 #[serde(rename = "disabled")]
33 Disabled,
34
35 #[default]
38 #[serde(rename = "minimal")]
39 Minimal,
40
41 #[serde(rename = "full")]
43 Full,
44}
45
46impl LogLevel for AutotuneLogLevel {}
47
48#[derive(Default, Clone, Debug, serde::Serialize, serde::Deserialize)]
50pub enum AutotuneLevel {
51 #[serde(rename = "minimal")]
53 Minimal,
54
55 #[default]
57 #[serde(rename = "balanced")]
58 Balanced,
59
60 #[serde(rename = "extensive")]
62 Extensive,
63
64 #[serde(rename = "full")]
66 Full,
67}