From dca4afb8d0ef023426517eb72250b552aa353885 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Thu, 16 Apr 2026 11:43:01 +0300 Subject: [PATCH] Seed power ramp with single-card TDP limits --- audit/internal/platform/benchmark.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/audit/internal/platform/benchmark.go b/audit/internal/platform/benchmark.go index 471b3d7..29f7db4 100644 --- a/audit/internal/platform/benchmark.go +++ b/audit/internal/platform/benchmark.go @@ -3502,10 +3502,21 @@ func (s *System) RunNvidiaPowerBench(ctx context.Context, baseDir string, opts N _ = os.MkdirAll(stepDir, 0755) // Reuse the latest stable limits as starting points, but re-check every - // active GPU in this hotter configuration. - seedForStep := make(map[int]int, len(stableLimits)) - for k, v := range stableLimits { - seedForStep[k] = v + // active GPU in this hotter configuration. For the newly introduced GPU, + // seed from its single-card calibration so we do not restart from the + // default TDP when a prior derated limit is already known. + seedForStep := make(map[int]int, len(subset)) + for _, idx := range subset { + if lim, ok := stableLimits[idx]; ok && lim > 0 { + seedForStep[idx] = lim + continue + } + if base, ok := calibByIndex[idx]; ok { + lim := int(math.Round(base.AppliedPowerLimitW)) + if lim > 0 { + seedForStep[idx] = lim + } + } } logFunc(fmt.Sprintf("power ramp: step %d/%d — revalidating %d active GPU(s) including new GPU %d",