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