aboutsummaryrefslogtreecommitdiff
path: root/src/benchmarks/espresso.py
blob: 0916c6ccaae002a963c568e4bac6d176d4d2c69c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
"""Definition of the espresso benchmark"""

import os

from src.benchmark import Benchmark
import src.globalvars

class BenchmarkEspresso(Benchmark):
    """TODO"""
    def __init__(self):
        self.name = "espresso"

        self.cmd = "espresso{binary_suffix} {file}"
        self.args = {"file": [os.path.join(src.globalvars.benchsrcdir, self.name,
                                           "largest.espresso")]}

        super().__init__()

        self.requirements = ["espresso"]

    def summary(self):
        # Speed
        self.barplot_single_arg("{task-clock}/1000",
                                ylabel='"cpu-second"',
                                title='"Espresso: runtime"',
                                filepostfix="time")

        # L1 cache misses
        self.barplot_single_arg("({L1-dcache-load-misses}/{L1-dcache-loads})*100",
                                ylabel='"L1 misses in %"',
                                title='"Espresso l1 cache misses"',
                                filepostfix="l1misses",
                                yerr=False)

        # Memusage
        self.barplot_single_arg("{VmHWM}",
                                ylabel='"VmHWM in KB"',
                                title='"Espresso VmHWM"',
                                filepostfix="vmhwm")

        self.export_stats_to_dataref("task-clock")

        self.export_stats_to_dataref("VmHWM")


espresso = BenchmarkEspresso()