pub struct StackPolicy {Show 16 fields
pub mode: Mode,
pub timing: Timing,
pub require_validation: bool,
pub tolerance: Tolerance,
pub warmups: usize,
pub samples: usize,
pub max_candidates: usize,
pub budget: Duration,
pub min_speedup: f64,
pub max_relative_mad: f64,
pub workspace_limit: Option<u64>,
pub capacity: usize,
pub max_parallel_tunes: usize,
pub ttl: Duration,
pub regression_pairs: usize,
pub regression_ratio: f64,
}Expand description
Immutable limits shared by operator, graph and application selection. Defaults are selection rules, not measured performance guarantees.
Fields§
§mode: ModeExplore, cache-only or reference-only operation; defaults to Explore.
timing: TimingCompleted timing scope; defaults to EndToEnd.
require_validation: boolRequire numerical validation before promoting a choice; defaults to true.
tolerance: ToleranceNumerical limits and combined reference/candidate readback quota.
warmups: usizePositive warmup count in 1..=100; default 2.
samples: usizeOdd sample count. Each non-reference sample is paired with a fresh reference measurement.
max_candidates: usizePositive candidate trial limit up to 4096; default 32.
budget: DurationA soft deadline checked BETWEEN completed trials; running kernels are never interrupted.
min_speedup: f64Required reciprocal median timing ratio for promotion; finite and at least 1. Default 1.05 is a threshold, not an observed speedup.
max_relative_mad: f64Maximum median absolute deviation of paired ratios divided by their median.
workspace_limit: Option<u64>Optional candidate scratch-byte ceiling. Unknown estimates do not fit an enabled limit, including for the declared reference. Default None.
capacity: usizeMaximum retained keys in 1..=65536; default 1024.
max_parallel_tunes: usizeMaximum simultaneous trials in 1..=256; default 1, also per-device serialized.
ttl: DurationNonzero cache lifetime; default seven days. Future-dated entries expire.
regression_pairs: usizeOdd nonzero regression window in 3..=101; default 7.
regression_ratio: f64Median selected/reference threshold above 1; default 1.15.
Implementations§
Source§impl StackPolicy
impl StackPolicy
Sourcepub fn validate(&self) -> Result<(), TuneFailure>
pub fn validate(&self) -> Result<(), TuneFailure>
Reject invalid counts, bounds, nonfinite numerical limits or zero durations.
Returns FailureKind::InvalidInput without starting a trial or touching disk.
Sourcepub fn accuracy_key(&self) -> String
pub fn accuracy_key(&self) -> String
Mode is intentionally excluded: an offline Explore cache is usable by CacheOnly.