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
22#[derive(Default, Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
24pub enum AutotuneLogLevel {
25 #[serde(rename = "disabled")]
27 Disabled,
28
29 #[default]
32 #[serde(rename = "minimal")]
33 Minimal,
34
35 #[serde(rename = "full")]
37 Full,
38}
39
40impl LogLevel for AutotuneLogLevel {}
41
42#[derive(Default, Clone, Debug, serde::Serialize, serde::Deserialize)]
44pub enum AutotuneLevel {
45 #[serde(rename = "minimal")]
47 Minimal,
48
49 #[default]
51 #[serde(rename = "balanced")]
52 Balanced,
53
54 #[serde(rename = "extensive")]
56 Extensive,
57
58 #[serde(rename = "full")]
60 Full,
61}