From b56265e3770c1aa42de6e2d0ae0173a7e5f7d468 Mon Sep 17 00:00:00 2001 From: Sergey Krashevich Date: Wed, 3 May 2023 14:51:50 +0300 Subject: [PATCH] fix unittest process crash where the tests for tests?.. --- frigate/util.py | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/frigate/util.py b/frigate/util.py index f805fbdca..d97af43b4 100755 --- a/frigate/util.py +++ b/frigate/util.py @@ -925,30 +925,32 @@ def try_get_info(f, h, default="N/A"): def get_nvidia_gpu_stats() -> dict[int, dict]: - nvml.nvmlInit() - deviceCount = nvml.nvmlDeviceGetCount() results = {} - for i in range(deviceCount): - handle = nvml.nvmlDeviceGetHandleByIndex(i) - meminfo = try_get_info(nvml.nvmlDeviceGetMemoryInfo, handle) - util = try_get_info(nvml.nvmlDeviceGetUtilizationRates, handle) - if util != "N/A": - gpu_util = util.gpu - else: - gpu_util = 0 + try: + nvml.nvmlInit() + deviceCount = nvml.nvmlDeviceGetCount() + for i in range(deviceCount): + handle = nvml.nvmlDeviceGetHandleByIndex(i) + meminfo = try_get_info(nvml.nvmlDeviceGetMemoryInfo, handle) + util = try_get_info(nvml.nvmlDeviceGetUtilizationRates, handle) + if util != "N/A": + gpu_util = util.gpu + else: + gpu_util = 0 - if meminfo != "N/A": - gpu_mem_util = meminfo.used / meminfo.total * 100 - else: - gpu_mem_util = -1 - - results[i] = { - "name": nvml.nvmlDeviceGetName(handle), - "gpu": gpu_util, - "mem": gpu_mem_util, - } + if meminfo != "N/A": + gpu_mem_util = meminfo.used / meminfo.total * 100 + else: + gpu_mem_util = -1 + results[i] = { + "name": nvml.nvmlDeviceGetName(handle), + "gpu": gpu_util, + "mem": gpu_mem_util, + } + except: return results + return results def ffprobe_stream(path: str) -> sp.CompletedProcess: