Skip to content

Commit 37e81a5

Browse files
committed
apply comments
Signed-off-by: Mateusz P. Nowak <[email protected]>
1 parent 7291772 commit 37e81a5

File tree

2 files changed

+43
-97
lines changed

2 files changed

+43
-97
lines changed

devops/scripts/benchmarks/benches/base.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ def traceable(self, tracing_type: TracingType) -> bool:
8080
"""
8181
return True
8282

83+
def tracing_enabled(self, run_trace, force_trace, tr_type: TracingType):
84+
"""Returns whether tracing is enabled for the given type."""
85+
return (self.traceable(tr_type) or force_trace) and run_trace == tr_type
86+
8387
@abstractmethod
8488
def setup(self):
8589
pass
@@ -145,9 +149,7 @@ def run_bench(
145149
ld_libraries.extend(ld_library)
146150

147151
unitrace_output = None
148-
if (
149-
self.traceable(TracingType.UNITRACE) or force_trace
150-
) and run_trace == TracingType.UNITRACE:
152+
if self.tracing_enabled(run_trace, force_trace, TracingType.UNITRACE):
151153
if extra_trace_opt is None:
152154
extra_trace_opt = []
153155
unitrace_output, command = get_unitrace().setup(
@@ -159,9 +161,7 @@ def run_bench(
159161
# flamegraph run
160162

161163
perf_data_file = None
162-
if (
163-
self.traceable(TracingType.FLAMEGRAPH) or force_trace
164-
) and run_trace == TracingType.FLAMEGRAPH:
164+
if self.tracing_enabled(run_trace, force_trace, TracingType.FLAMEGRAPH):
165165
perf_data_file, command = get_flamegraph().setup(
166166
self.name(), self.get_suite_name(), command
167167
)
@@ -184,15 +184,13 @@ def run_bench(
184184
raise
185185

186186
if (
187-
(self.traceable(TracingType.UNITRACE) or force_trace)
188-
and run_trace == TracingType.UNITRACE
187+
self.tracing_enabled(run_trace, force_trace, TracingType.UNITRACE)
189188
and unitrace_output
190189
):
191190
get_unitrace().handle_output(unitrace_output)
192191

193192
if (
194-
(self.traceable(TracingType.FLAMEGRAPH) or force_trace)
195-
and run_trace == TracingType.FLAMEGRAPH
193+
self.tracing_enabled(run_trace, force_trace, TracingType.FLAMEGRAPH)
196194
and perf_data_file
197195
):
198196
svg_file = get_flamegraph().handle_output(

devops/scripts/benchmarks/benches/compute.py

Lines changed: 35 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def setup(self) -> None:
9797
run(configure_command, add_sycl=True)
9898

9999
run(
100-
f"cmake --build {build_path} -j {options.build_jobs} -- -k -i ",
100+
f"cmake --build {build_path} -j {options.build_jobs}",
101101
add_sycl=True,
102102
)
103103

@@ -310,23 +310,17 @@ def __init__(self, bench, name, test, runtime: RUNTIMES = None):
310310
# Subclasses MUST set both `self.iterations_regular` and
311311
# `self.iterations_trace` (positive ints) in their __init__ before
312312
# calling super().__init__(). The base class enforces this.
313-
if (
314-
not hasattr(self, "iterations_regular")
315-
or not isinstance(getattr(self, "iterations_regular", None), int)
316-
or getattr(self, "iterations_regular", 0) <= 0
317-
):
318-
raise ValueError(
319-
f"{self.bench_name}: subclasses must set `iterations_regular` (positive int) before calling super().__init__"
320-
)
321313

322-
if (
323-
not hasattr(self, "iterations_trace")
324-
or not isinstance(getattr(self, "iterations_trace", None), int)
325-
or getattr(self, "iterations_trace", 0) <= 0
326-
):
327-
raise ValueError(
328-
f"{self.bench_name}: subclasses must set `iterations_trace` (positive int) before calling super().__init__"
329-
)
314+
self._validate_attr("iterations_regular")
315+
self._validate_attr("iterations_trace")
316+
317+
def get_iters(self, run_trace: TracingType):
318+
"""Returns the number of iterations to run for the given tracing type."""
319+
return (
320+
self.iterations_trace
321+
if run_trace != TracingType.NONE
322+
else self.iterations_regular
323+
)
330324

331325
def supported_runtimes(self) -> list[RUNTIMES]:
332326
"""Base runtimes supported by this benchmark, can be overridden."""
@@ -452,6 +446,16 @@ def parse_output(self, output):
452446
def teardown(self):
453447
return
454448

449+
def _validate_attr(self, attr_name: str):
450+
if (
451+
not hasattr(self, attr_name)
452+
or not isinstance(getattr(self, attr_name, None), int)
453+
or getattr(self, attr_name, 0) <= 0
454+
):
455+
raise ValueError(
456+
f"{self.bench_name}: subclasses must set `{attr_name}` (positive int) before calling super().__init__"
457+
)
458+
455459

456460
class SubmitKernel(ComputeBenchmark):
457461
def __init__(
@@ -541,11 +545,7 @@ def range(self) -> tuple[float, float]:
541545
return (0.0, None)
542546

543547
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
544-
iters = (
545-
self.iterations_trace
546-
if run_trace != TracingType.NONE
547-
else self.iterations_regular
548-
)
548+
iters = self.get_iters(run_trace)
549549
return [
550550
f"--iterations={iters}",
551551
f"--Ioq={self.ioq}",
@@ -605,11 +605,7 @@ def get_tags(self):
605605
return ["memory", "submit", "latency", "SYCL", "micro"]
606606

607607
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
608-
iters = (
609-
self.iterations_trace
610-
if run_trace != TracingType.NONE
611-
else self.iterations_regular
612-
)
608+
iters = self.get_iters(run_trace)
613609
return [
614610
f"--iterations={iters}",
615611
f"--ioq={self.ioq}",
@@ -650,11 +646,7 @@ def get_tags(self):
650646
return ["memory", "latency", "SYCL", "micro"]
651647

652648
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
653-
iters = (
654-
self.iterations_trace
655-
if run_trace != TracingType.NONE
656-
else self.iterations_regular
657-
)
649+
iters = self.get_iters(run_trace)
658650
return [
659651
f"--iterations={iters}",
660652
f"--IsCopyOnly={self.isCopyOnly}",
@@ -692,11 +684,7 @@ def get_tags(self):
692684
return ["memory", "latency", "SYCL", "micro"]
693685

694686
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
695-
iters = (
696-
self.iterations_trace
697-
if run_trace != TracingType.NONE
698-
else self.iterations_regular
699-
)
687+
iters = self.get_iters(run_trace)
700688
return [
701689
f"--iterations={iters}",
702690
f"--sourcePlacement={self.source}",
@@ -735,11 +723,7 @@ def get_tags(self):
735723
return ["memory", "throughput", "SYCL", "micro"]
736724

737725
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
738-
iters = (
739-
self.iterations_trace
740-
if run_trace != TracingType.NONE
741-
else self.iterations_regular
742-
)
726+
iters = self.get_iters(run_trace)
743727
return [
744728
f"--iterations={iters}",
745729
f"--type={self.type}",
@@ -775,11 +759,7 @@ def get_tags(self):
775759
return ["math", "throughput", "SYCL", "micro"]
776760

777761
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
778-
iters = (
779-
self.iterations_trace
780-
if run_trace != TracingType.NONE
781-
else self.iterations_regular
782-
)
762+
iters = self.get_iters(run_trace)
783763
return [
784764
f"--iterations={iters}",
785765
"--numberOfElementsX=512",
@@ -873,11 +853,7 @@ def get_tags(self):
873853
return ["memory", "latency", runtime_to_tag_name(self.runtime), "micro"]
874854

875855
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
876-
iters = (
877-
self.iterations_trace
878-
if run_trace != TracingType.NONE
879-
else self.iterations_regular
880-
)
856+
iters = self.get_iters(run_trace)
881857
return [
882858
f"--iterations={iters}",
883859
"--Ioq=1",
@@ -934,11 +910,7 @@ def get_tags(self):
934910
]
935911

936912
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
937-
iters = (
938-
self.iterations_trace
939-
if run_trace != TracingType.NONE
940-
else self.iterations_regular
941-
)
913+
iters = self.get_iters(run_trace)
942914
return [
943915
f"--iterations={iters}",
944916
f"--numKernels={self.numKernels}",
@@ -1002,11 +974,7 @@ def get_tags(self):
1002974
]
1003975

1004976
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
1005-
iters = (
1006-
self.iterations_trace
1007-
if run_trace != TracingType.NONE
1008-
else self.iterations_regular
1009-
)
977+
iters = self.get_iters(run_trace)
1010978
return [
1011979
f"--iterations={iters}",
1012980
f"--NumKernels={self.numKernels}",
@@ -1052,11 +1020,7 @@ def get_tags(self):
10521020
return [runtime_to_tag_name(self.runtime), "micro", "latency", "submit"]
10531021

10541022
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
1055-
iters = (
1056-
self.iterations_trace
1057-
if run_trace != TracingType.NONE
1058-
else self.iterations_regular
1059-
)
1023+
iters = self.get_iters(run_trace)
10601024
return [
10611025
f"--iterations={iters}",
10621026
f"--wgs={self.wgs}",
@@ -1108,11 +1072,7 @@ def get_tags(self):
11081072
return [runtime_to_tag_name(self.runtime), "micro", "latency", "submit"]
11091073

11101074
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
1111-
iters = (
1112-
self.iterations_trace
1113-
if run_trace != TracingType.NONE
1114-
else self.iterations_regular
1115-
)
1075+
iters = self.get_iters(run_trace)
11161076
return [
11171077
f"--iterations={iters}",
11181078
f"--count={self.count}",
@@ -1172,11 +1132,7 @@ def description(self) -> str:
11721132
)
11731133

11741134
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
1175-
iters = (
1176-
self.iterations_trace
1177-
if run_trace != TracingType.NONE
1178-
else self.iterations_regular
1179-
)
1135+
iters = self.get_iters(run_trace)
11801136
return [
11811137
f"--iterations={iters}",
11821138
f"--type={self.usm_memory_placement}",
@@ -1240,11 +1196,7 @@ def description(self) -> str:
12401196
)
12411197

12421198
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
1243-
iters = (
1244-
self.iterations_trace
1245-
if run_trace != TracingType.NONE
1246-
else self.iterations_regular
1247-
)
1199+
iters = self.get_iters(run_trace)
12481200
return [
12491201
f"--iterations={iters}",
12501202
f"--type={self.usm_memory_placement}",
@@ -1316,11 +1268,7 @@ def get_tags(self):
13161268
]
13171269

13181270
def bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
1319-
iters = (
1320-
self.iterations_trace
1321-
if run_trace != TracingType.NONE
1322-
else self.iterations_regular
1323-
)
1271+
iters = self.get_iters(run_trace)
13241272
return [
13251273
f"--iterations={iters}",
13261274
f"--rebuildGraphEveryIter={self.rebuild_graph_every_iteration}",

0 commit comments

Comments
 (0)