Skip to content
Snippets Groups Projects
Commit cae4dc18 authored by Dominic Kempf's avatar Dominic Kempf
Browse files

Adjust the process_measurements script

parent d8f42b68
No related branches found
No related tags found
No related merge requests found
...@@ -15,36 +15,33 @@ def join_csv_files(): ...@@ -15,36 +15,33 @@ def join_csv_files():
def calculate_floprate(): 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"] time = frame[frame.what == "time"]
ops = 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() time = time.groupby(('rank', 'ident', 'kernel'))['value'].min().to_frame().reset_index().groupby(('ident', 'kernel'))['value'].max()
ops = ops.groupby(('rank', 'exec', 'kernel'))['value'].max().to_frame().reset_index().groupby(('exec', '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: with open('floprates.csv', 'w') as out:
for key in time.keys(): for key in time.keys():
exe, kernel = key ident, kernel = key
if "nonopcount" in exe and kernel != "total": degree = re.match(".*deg([0-9]*).*", ident).group(1)
opexe = exe.replace("nonopcount", "opcount") out.write(" ".join([ident, degree, kernel, str((ops[ident][kernel] / time[ident][kernel]) / 1e9)]) + "\n")
degree = re.match(".*deg([0-9]*).*", exe).group(1)
out.write(" ".join([exe, degree, kernel, str((ops[opexe][kernel] / time[exe][kernel]) / 1e9)]) + "\n")
def calculate_doftimes(): 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"] dofs = frame[frame.what == "dofs"]
time = frame[frame.what == "time"] time = frame[frame.what == "time"]
dofs = dofs.groupby(('rank', 'exec', 'kernel'))['value'].max().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', 'exec', 'kernel'))['value'].min().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()
with open('doftimes.csv', 'w') as out: with open('doftimes.csv', 'w') as out:
for key in time.keys(): for key in time.keys():
exe, kernel = key ident, kernel = key
degree = re.match(".*deg([0-9]*).*", exe).group(1) degree = re.match(".*deg([0-9]*).*", ident).group(1)
if "nonopcount" in exe: out.write(" ".join([ident, degree, kernel, str(dofs[ident]["dofs"] / time[ident][kernel] / 1e6)]) + "\n")
out.write(" ".join([exe, degree, kernel, str(dofs[exe]["dofs"] / time[exe][kernel] / 1e6)]) + "\n")
if __name__ == '__main__': if __name__ == '__main__':
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment