diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2018-09-08 15:51:20 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2018-09-08 15:51:20 +0200 |
| commit | 5e78c1ccda63bcbfd065f5dbde70f7e3ee1b881c (patch) | |
| tree | f66d22c8c2f8862cf37b5dbc3e443559e54d1fc4 /falsesharing.py | |
| parent | 68ddcf81f2768509b4bdc14df70d518dbd9e6811 (diff) | |
| download | allocbench-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.py | 16 |
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]: |
