From b4062ba7a406bf6ccb7b5981dc979e09df886146 Mon Sep 17 00:00:00 2001
From: Nikolas Schmitz <nikschmitz@ukaachen.de>
Date: Tue, 13 Feb 2024 13:07:40 +0100
Subject: [PATCH] Fixed groupby error

---
 experiment_impact_tracker/gpu/nvidia.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/experiment_impact_tracker/gpu/nvidia.py b/experiment_impact_tracker/gpu/nvidia.py
index aa39d7f..745385c 100755
--- a/experiment_impact_tracker/gpu/nvidia.py
+++ b/experiment_impact_tracker/gpu/nvidia.py
@@ -152,7 +152,10 @@ def get_nvidia_gpu_power(pid_list, logger=None, **kwargs):
     out_str_final = re.sub("\s+\n", "\n", out_str_final)  # else pd will mis-align
     out_str_final = out_str_final.strip()
     df = pd.read_csv(StringIO(out_str_final), engine="python", delimiter="\t")
-    process_percentage_used_gpu = df.groupby(["gpu", "pid"]).mean().reset_index()
+    try:
+        process_percentage_used_gpu = df.groupby(["gpu", "pid"])[['sm', 'mem', 'enc', 'dec']].mean().reset_index()
+    except:  # Older pandas versions
+        process_percentage_used_gpu = df.groupby(["gpu", "pid"]).mean().reset_index()
 
     p = Popen(["nvidia-smi", "-q", "-x"], stdout=PIPE)
     outs, errors = p.communicate()
-- 
GitLab