From 2486dd7b9c65b2b018ebb51652a413f77bbab6d4 Mon Sep 17 00:00:00 2001 From: clearml <> Date: Wed, 21 May 2025 10:06:26 +0300 Subject: [PATCH] Fix GPU reporting when NVIDIA_VISIBLE_DEVICES contains a directory reference --- clearml/utilities/resource_monitor.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/clearml/utilities/resource_monitor.py b/clearml/utilities/resource_monitor.py index 59e8609b..416ce6a8 100644 --- a/clearml/utilities/resource_monitor.py +++ b/clearml/utilities/resource_monitor.py @@ -108,7 +108,15 @@ class ResourceMonitor(BackgroundMonitor): try: active_gpus = os.environ.get("NVIDIA_VISIBLE_DEVICES", "") or os.environ.get("CUDA_VISIBLE_DEVICES", "") if active_gpus and active_gpus != "all": - self._active_gpus = [g.strip() for g in active_gpus.split(",")] + if os.path.isdir(active_gpus): + try: + self._active_gpus = os.listdir(active_gpus) + except OSError as e: + logging.getLogger("clearml.resource_monitor").warning( + "Failed listing {}: {}".format(active_gpus, e) + ) + else: + self._active_gpus = [g.strip() for g in active_gpus.split(",")] except Exception: pass