the project lead: "can anything be done to redeem AMD?". The control is built and unit-tested; the measurement was not taken
because the RX 9070 XT (and the Sonnet box itself) vanished from PC 1's USB4 and PnP lists before the run (relay
probes #202 and #203, 20:40 and 20:45:34 UTC; a PnP rescan did not bring it back; nobody restarts PC 1 tonight).
proto-opencl/gpu-telemetry.c: --tune (per card: max GPU clock range and value, power-limit range and offset, factory
flag), --card N --set-gmax MHZ, --card N --set-plimit PCT (offset from default), --card N --reset (ResetToFactory);
ADLX IADLXManualGraphicsTuning2 and IADLXManualPowerTuning on Windows, pp_od_clk_voltage and hwmon power1_cap on
Linux (fixture-verified); every sample line carries plimit_pct and gmax_mhz, the limits in force. host.c:
--probe-mib takes a list (4,64,96,1024 for the 7900 XTX's 96 MB cache).
sweep.rs: Lever (NVIDIA watts, AMD power percent, AMD max clock), plan_amd_power_steps, plan_amd_clock_steps, the
read-back tolerance per lever, Row::line_for, unsupported_reason_for with the AMD case; engine.rs: parse_amd_tune,
the --tune read at the AMD child's start, the AMD paths in sweep_begin (no nvidia-smi probe, no elevated helper),
sweep_set_cap (the helper command) and sweep_drive (the read-back by lever), the AMD draw feeding the samples,
the start gate; state.rs: the AMD ordinal, limits in force, ranges and amd_tunable. Tests: 87 pass (the planners,
the machine on percent read-backs, the tune and sample parsers on captured lines).
relay/playbooks/amd-card-test.ps1: one AMD card through the list fold check, memprobe, a 120 s hash run, the
telemetry window, the clock and power sweeps with the memory clock watched, factory reset with read-back, the
bench-log table and the MH/W and MH per pound line; parameter $Gfx (gfx1201, gfx1100).
docs/bench-log.md: the owed rows with the reason and time, the gfx1100 expectation by reasoning from gfx1201.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>