diff --git a/discover/gpu.go b/discover/gpu.go index 2cb77e1e5..aba6dae0a 100644 --- a/discover/gpu.go +++ b/discover/gpu.go @@ -459,13 +459,6 @@ func GetGPUInfo() GpuInfoList { index: i, } - C.vk_check_vram(*vHandles.vulkan, C.int(i), &memInfo) - if memInfo.err != nil { - slog.Info("error looking up vulkan GPU memory", "error", C.GoString(memInfo.err)) - C.free(unsafe.Pointer(memInfo.err)) - continue - } - if C.vk_device_is_supported(*vHandles.vulkan, C.int(i)) == 0 { unsupportedGPUs = append(unsupportedGPUs, UnsupportedGPUInfo{ @@ -475,6 +468,13 @@ func GetGPUInfo() GpuInfoList { continue } + C.vk_check_vram(*vHandles.vulkan, C.int(i), &memInfo) + if memInfo.err != nil { + slog.Info("error looking up vulkan GPU memory", "error", C.GoString(memInfo.err)) + C.free(unsafe.Pointer(memInfo.err)) + continue + } + gpuInfo.TotalMemory = uint64(memInfo.total) gpuInfo.FreeMemory = uint64(memInfo.free) gpuInfo.ID = C.GoString(&memInfo.gpu_id[0])