From cae4dc18b6d246f140a51dd814d5bb854fb9702f Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Thu, 19 Jan 2017 11:39:30 +0100
Subject: [PATCH] Adjust the process_measurements script

---
 bin/process_measurements.py | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/bin/process_measurements.py b/bin/process_measurements.py
index 945687f9..2790a32e 100755
--- a/bin/process_measurements.py
+++ b/bin/process_measurements.py
@@ -15,36 +15,33 @@ def join_csv_files():
 
 
 def calculate_floprate():
-    frame = pandas.read_csv('timings.csv', header=None, names=('rank', 'exec', 'kernel', 'what', 'value'), delimiter=' ')
+    frame = pandas.read_csv('timings.csv', header=None, names=('rank', 'ident', 'kernel', 'what', 'value'), delimiter=' ')
     time = frame[frame.what == "time"]
     ops = frame[frame.what != "time"]
 
-    time = time.groupby(('rank', 'exec', 'kernel'))['value'].min().to_frame().reset_index().groupby(('exec', 'kernel'))['value'].max()
-    ops = ops.groupby(('rank', 'exec', 'kernel'))['value'].max().to_frame().reset_index().groupby(('exec', 'kernel'))['value'].max()
+    time = time.groupby(('rank', 'ident', 'kernel'))['value'].min().to_frame().reset_index().groupby(('ident', 'kernel'))['value'].max()
+    ops = ops.groupby(('rank', 'ident', 'kernel'))['value'].max().to_frame().reset_index().groupby(('ident', 'kernel'))['value'].max()
 
     with open('floprates.csv', 'w') as out:
         for key in time.keys():
-            exe, kernel = key
-            if "nonopcount" in exe and kernel != "total":
-                opexe = exe.replace("nonopcount", "opcount")
-                degree = re.match(".*deg([0-9]*).*", exe).group(1)
-                out.write(" ".join([exe, degree, kernel, str((ops[opexe][kernel] / time[exe][kernel]) / 1e9)]) + "\n")
+            ident, kernel = key
+            degree = re.match(".*deg([0-9]*).*", ident).group(1)
+            out.write(" ".join([ident, degree, kernel, str((ops[ident][kernel] / time[ident][kernel]) / 1e9)]) + "\n")
 
 
 def calculate_doftimes():
-    frame = pandas.read_csv('timings.csv', header=None, names=('rank', 'exec', 'kernel', 'what', 'value'), delimiter=' ')
+    frame = pandas.read_csv('timings.csv', header=None, names=('rank', 'ident', 'kernel', 'what', 'value'), delimiter=' ')
     dofs = frame[frame.what == "dofs"]
     time = frame[frame.what == "time"]
 
-    dofs = dofs.groupby(('rank', 'exec', 'kernel'))['value'].max().to_frame().reset_index().groupby(('exec', 'kernel'))['value'].max()
-    time = time.groupby(('rank', 'exec', 'kernel'))['value'].min().to_frame().reset_index().groupby(('exec', 'kernel'))['value'].max()
+    dofs = dofs.groupby(('rank', 'ident', 'kernel'))['value'].max().to_frame().reset_index().groupby(('ident', 'kernel'))['value'].max()
+    time = time.groupby(('rank', 'ident', 'kernel'))['value'].min().to_frame().reset_index().groupby(('ident', 'kernel'))['value'].max()
 
     with open('doftimes.csv', 'w') as out:
         for key in time.keys():
-            exe, kernel = key
-            degree = re.match(".*deg([0-9]*).*", exe).group(1)
-            if "nonopcount" in exe:
-                out.write(" ".join([exe, degree, kernel, str(dofs[exe]["dofs"] / time[exe][kernel] / 1e6)]) + "\n")
+            ident, kernel = key
+            degree = re.match(".*deg([0-9]*).*", ident).group(1)
+            out.write(" ".join([ident, degree, kernel, str(dofs[ident]["dofs"] / time[ident][kernel] / 1e6)]) + "\n")
 
 
 if __name__ == '__main__':
-- 
GitLab