aboutsummaryrefslogtreecommitdiff
path: root/falsesharing.py
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2018-09-08 15:51:20 +0200
committerFlorian Fischer <florian.fl.fischer@fau.de>2018-09-08 15:51:20 +0200
commit5e78c1ccda63bcbfd065f5dbde70f7e3ee1b881c (patch)
treef66d22c8c2f8862cf37b5dbc3e443559e54d1fc4 /falsesharing.py
parent68ddcf81f2768509b4bdc14df70d518dbd9e6811 (diff)
downloadallocbench-5e78c1ccda63bcbfd065f5dbde70f7e3ee1b881c.tar.gz
allocbench-5e78c1ccda63bcbfd065f5dbde70f7e3ee1b881c.zip
measure wall time in falsesharing and fix summary for results with different args
Diffstat (limited to 'falsesharing.py')
-rw-r--r--falsesharing.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/falsesharing.py b/falsesharing.py
index 7159e04..05a193e 100644
--- a/falsesharing.py
+++ b/falsesharing.py
@@ -9,6 +9,8 @@ import subprocess
from benchmark import Benchmark
+time_re = re.compile("^Time elapsed = (?P<time>\d*\.\d*) seconds.$")
+
class Benchmark_Falsesharing( Benchmark ):
def __init__(self):
self.name = "falsesharing"
@@ -27,9 +29,13 @@ class Benchmark_Falsesharing( Benchmark ):
self.requirements = ["build/cache-thrash", "build/cache-scratch"]
super().__init__()
+ def process_stdout(self, result, stdout, verbose):
+ result["time"] = time_re.match(stdout).group("time")
+
def summary(self, sd=None):
# Speedup thrash
- nthreads = self.results["args"]["threads"]
+ args = self.results["args"]
+ nthreads = args["threads"]
targets = self.results["targets"]
sd = sd or ""
@@ -39,12 +45,12 @@ class Benchmark_Falsesharing( Benchmark ):
y_vals = []
single_threaded_perm = self.Perm(bench=bench, threads=1)
- single_threaded = np.mean([float(m["task-clock"])
+ single_threaded = np.mean([float(m["time"])
for m in self.results[target][single_threaded_perm]])
- for perm in self.iterate_args_fixed({"bench" : bench}):
+ for perm in self.iterate_args_fixed({"bench" : bench}, args=args):
- d = [float(m["task-clock"]) for m in self.results[target][perm]]
+ d = [float(m["time"]) for m in self.results[target][perm]]
y_vals.append(single_threaded / np.mean(d))
@@ -61,7 +67,7 @@ class Benchmark_Falsesharing( Benchmark ):
for target in targets:
y_vals = []
- for perm in self.iterate_args_fixed({"bench" : bench}):
+ for perm in self.iterate_args_fixed({"bench" : bench}, args=args):
l1_load_misses = []
for m in self.results[target][perm]: