diff --git a/app/Gpu/NVidia/NvidiaSmi.cs b/app/Gpu/NVidia/NvidiaSmi.cs index 92f352ae..93673ce0 100644 --- a/app/Gpu/NVidia/NvidiaSmi.cs +++ b/app/Gpu/NVidia/NvidiaSmi.cs @@ -30,6 +30,14 @@ public static class NvidiaSmi return false; // Return false if the "Display Active" status is not found } + public static int GetDefaultMaxGPUPower() + { + if (AppConfig.ContainsModel("GU605")) return 125; + if (AppConfig.ContainsModel("GA403")) return 90; + if (AppConfig.ContainsModel("FA607")) return 140; + else return 175; + } + public static int GetMaxGPUPower() { string output = RunNvidiaSmiCommand("--query-gpu=power.max_limit --format csv,noheader,nounits"); @@ -38,11 +46,10 @@ public static class NvidiaSmi if (float.TryParse(output, out float floatValue)) { int intValue = (int)floatValue; - if (intValue < 50 || intValue > 175) return -1; - return intValue; + if (intValue >= 50 && intValue <= 175) return intValue; } - return -1; + return GetDefaultMaxGPUPower(); } private static string RunNvidiaSmiCommand(string arguments = "-i 0 -q")