From 86b8026f9935f21358066346212d6fa1d001e165 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Thu, 22 Dec 2016 17:03:48 +0100 Subject: [PATCH] Add script to calculate flops --- bin/calculate_floprate.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 bin/calculate_floprate.py diff --git a/bin/calculate_floprate.py b/bin/calculate_floprate.py new file mode 100644 index 00000000..87824d36 --- /dev/null +++ b/bin/calculate_floprate.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +import pandas + + +def parse_data(): + frame = pandas.read_csv('timings.csv', header=None, names=('exec', 'kernel', 'what', 'value'), delimiter=' ') + time = frame[frame.what == "time"] + ops = frame[frame.what != "time"] + + # Here we should take 'min', but right now there are some zeroes written + timedata = time.groupby(('exec', 'kernel'))['value'].max() + opsdata = ops.groupby(('exec', 'kernel'))['value'].max() + + return timedata, opsdata + + +def calculate_floprate(): + time, ops = parse_data() + + for key in time.keys(): + exe, kernel = key + print "exe={}".format(exe) + print "kernel={}".format(kernel) + print "FLOPS={}\n".format(ops[exe][kernel] / time[exe][kernel]) + + +if __name__ == '__main__': + calculate_floprate() -- GitLab