From 25c4d81069f576354d0279bf38417c236e924540 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Mon, 25 Mar 2019 17:49:39 +0100 Subject: move benchmark definitions into src/benchmarks bench now loads all *.py files from src/benchmarks as benchmarks --- src/benchmarks/loop.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/benchmarks/loop.py (limited to 'src/benchmarks/loop.py') diff --git a/src/benchmarks/loop.py b/src/benchmarks/loop.py new file mode 100644 index 0000000..4683549 --- /dev/null +++ b/src/benchmarks/loop.py @@ -0,0 +1,36 @@ +from src.benchmark import Benchmark + + +class Benchmark_Loop(Benchmark): + def __init__(self): + self.name = "loop" + self.descrition = """This benchmark allocates and frees n blocks in t concurrent + threads.""" + + self.cmd = "loop{binary_suffix} {nthreads} 1000000 {maxsize}" + + self.args = {"maxsize": [2 ** x for x in range(6, 16)], + "nthreads": Benchmark.scale_threads_for_cpus(2)} + + self.requirements = ["loop"] + super().__init__() + + def summary(self): + # Speed + self.plot_fixed_arg("perm.nthreads / ({task-clock}/1000)", + ylabel='"MOPS/cpu-second"', + title='"Loop: " + arg + " " + str(arg_value)', + filepostfix="time") + + # L1 cache misses + self.plot_fixed_arg("({L1-dcache-load-misses}/{L1-dcache-loads})*100", + ylabel='"L1 misses in %"', + title='"Loop l1 cache misses: " + arg + " " + str(arg_value)', + filepostfix="l1misses") + + # Speed Matrix + self.write_best_doublearg_tex_table("perm.nthreads / ({task-clock}/1000)", + filepostfix="memusage.matrix") + + +loop = Benchmark_Loop() -- cgit v1.2.3