Przeglądaj źródła

update rough cuda overhead estimate to 15% + 384MiB

Jeffrey Morgan 1 rok temu
rodzic
commit
6df83e6daa
1 zmienionych plików z 6 dodań i 2 usunięć
  1. 6 2
      gpu/gpu.go

+ 6 - 2
gpu/gpu.go

@@ -131,8 +131,12 @@ func getCPUMem() (memInfo, error) {
 func CheckVRAM() (int64, error) {
 	gpuInfo := GetGPUInfo()
 	if gpuInfo.FreeMemory > 0 && (gpuInfo.Library == "cuda" || gpuInfo.Library == "rocm") {
-		// leave 20% of VRAM free for unaccounted for overhead
-		return int64(gpuInfo.FreeMemory * 4 / 5), nil
+		// leave 10% or 384Mi of VRAM free for unaccounted for overhead
+		overhead := gpuInfo.FreeMemory / 10
+		if overhead < 384*1024*1024 {
+			overhead = 384 * 1024 * 1024
+		}
+		return int64(gpuInfo.FreeMemory - overhead), nil
 	}
 
 	return 0, fmt.Errorf("no GPU detected") // TODO - better handling of CPU based memory determiniation