diff --git a/audit/internal/platform/benchmark.go b/audit/internal/platform/benchmark.go index 9533315..814ec25 100644 --- a/audit/internal/platform/benchmark.go +++ b/audit/internal/platform/benchmark.go @@ -705,8 +705,14 @@ func scoreBenchmarkGPUResult(gpu BenchmarkGPUResult) BenchmarkScorecard { score.ComputeScore += precision.TeraOpsPerSec } } - if gpu.PowerLimitW > 0 { - score.PowerSustainScore = math.Min(100, (gpu.Steady.AvgPowerW/gpu.PowerLimitW)*100) + // Use default power limit for sustain score so a manually reduced limit + // does not inflate the score. Fall back to enforced limit if default unknown. + referencePowerW := gpu.DefaultPowerLimitW + if referencePowerW <= 0 { + referencePowerW = gpu.PowerLimitW + } + if referencePowerW > 0 { + score.PowerSustainScore = math.Min(100, (gpu.Steady.AvgPowerW/referencePowerW)*100) } runtimeUS := math.Max(1, gpu.Steady.DurationSec*1e6) thermalRatio := float64(gpu.Throttle.HWThermalSlowdownUS+gpu.Throttle.SWThermalSlowdownUS) / runtimeUS