diff --git a/bin/calculate_floprate.py b/bin/calculate_floprate.py
new file mode 100644
index 0000000000000000000000000000000000000000..87824d369b119d9f045af2b2d739fdfee87778c9
--- /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()