Ember: a power step on a card with no limit readback (AMD through ADLX reports an offset, never watts) is applied on the acknowledgement; run 6 aborted the 9070 XT's ladder at its first step on "card reports 0 W"; test
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
200362afac
commit
bd7fcf4d1c
1 changed files with 17 additions and 1 deletions
|
|
@ -774,8 +774,13 @@ impl Run {
|
|||
let power_changed = (step.watts - before_w).abs() >= 1.5;
|
||||
if step.point.clock_mhz > 0 || step.point.mem_mhz > 0 || !power_changed {
|
||||
rb.acked && power_ok
|
||||
} else if rb.limit_w <= 0.0 {
|
||||
// a card with no limit readback at all (AMD through ADLX reports an offset, never watts; run 6 on
|
||||
// 6 October 2026 aborted the 9070 XT's ladder at its first step on "card reports 0 W"): the
|
||||
// acknowledgement is the proof
|
||||
rb.acked
|
||||
} else {
|
||||
rb.limit_w > 0.0 && power_ok
|
||||
power_ok
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -976,6 +981,17 @@ mod tests {
|
|||
assert!(Plan::full(&Limits::default(), Point::default(), 1.0).is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn a_power_step_on_a_card_without_a_limit_readback_is_applied_on_the_acknowledgement() {
|
||||
// AMD through ADLX: the limit reads back as an offset, never watts (run 6, 6 October 2026)
|
||||
let step = Step { point: Point { clock_mhz: 0, power_pct: 90, mem_mhz: 0 }, watts: 90.0, kind: Kind::Power };
|
||||
assert!(Run::applied(&step, Readback { limit_w: 0.0, acked: true }, 100.0));
|
||||
assert!(!Run::applied(&step, Readback { limit_w: 0.0, acked: false }, 100.0));
|
||||
// NVIDIA: the watts must read back
|
||||
assert!(!Run::applied(&step, Readback { limit_w: 100.0, acked: true }, 100.0));
|
||||
assert!(Run::applied(&step, Readback { limit_w: 90.0, acked: false }, 100.0));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn limits_never_exceed_the_vendor_or_undercut_the_floor() {
|
||||
let l = l5090();
|
||||
|
|
|
|||
Loading…
Reference in a new issue