Skip to content

Commit 4ff9395

Browse files
authored
[Benchmarks] Add SubmitGraph with events scenarios (#19654)
~Requires #19652 to be merged first. Please, review the latest commit.~
1 parent 8e6df81 commit 4ff9395

File tree

1 file changed

+30
-26
lines changed

1 file changed

+30
-26
lines changed

devops/scripts/benchmarks/benches/compute.py

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -148,14 +148,13 @@ def additional_metadata(self) -> dict[str, BenchmarkMetadata]:
148148
base_metadata = metadata["SubmitGraph"]
149149
for order in ["in order", "out of order"]:
150150
for completion in ["", " with completion"]:
151-
for num_kernels in self.submit_graph_num_kernels:
152-
group_name = (
153-
f"SubmitGraph {order}{completion}, {num_kernels} kernels"
154-
)
155-
metadata[group_name] = BenchmarkMetadata(
156-
type="group",
157-
tags=base_metadata.tags,
158-
)
151+
for events in ["", " using events"]:
152+
for num_kernels in self.submit_graph_num_kernels:
153+
group_name = f"SubmitGraph {order}{completion}{events}, {num_kernels} kernels"
154+
metadata[group_name] = BenchmarkMetadata(
155+
type="group",
156+
tags=base_metadata.tags,
157+
)
159158

160159
return metadata
161160

@@ -207,15 +206,17 @@ def benchmarks(self) -> list[Benchmark]:
207206
for in_order_queue in [0, 1]:
208207
for num_kernels in self.submit_graph_num_kernels:
209208
for measure_completion_time in [0, 1]:
210-
benches.append(
211-
GraphApiSubmitGraph(
212-
self,
213-
runtime,
214-
in_order_queue,
215-
num_kernels,
216-
measure_completion_time,
209+
for use_events in [0, 1]:
210+
benches.append(
211+
GraphApiSubmitGraph(
212+
self,
213+
runtime,
214+
in_order_queue,
215+
num_kernels,
216+
measure_completion_time,
217+
use_events,
218+
)
217219
)
218-
)
219220

220221
# Add other benchmarks
221222
benches += [
@@ -830,28 +831,31 @@ def bin_args(self) -> list[str]:
830831
]
831832

832833

833-
# TODO: once L0 SubmitGraph exists, this needs to be cleaned up split benchmarks into more groups,
834-
# set all the parameters (UseEvents 0/1) and
835-
# unify the benchmark naming scheme with SubmitKernel.
836834
class GraphApiSubmitGraph(ComputeBenchmark):
837835
def __init__(
838-
self, bench, runtime: RUNTIMES, inOrderQueue, numKernels, measureCompletionTime
836+
self,
837+
bench,
838+
runtime: RUNTIMES,
839+
inOrderQueue,
840+
numKernels,
841+
measureCompletionTime,
842+
useEvents,
839843
):
840844
self.inOrderQueue = inOrderQueue
841845
self.numKernels = numKernels
842846
self.measureCompletionTime = measureCompletionTime
847+
self.useEvents = useEvents
843848
self.ioq_str = "in order" if self.inOrderQueue else "out of order"
844849
self.measure_str = (
845850
" with measure completion" if self.measureCompletionTime else ""
846851
)
852+
self.use_events_str = f" with events" if self.useEvents else ""
847853
super().__init__(
848854
bench, f"graph_api_benchmark_{runtime.value}", "SubmitGraph", runtime
849855
)
850856

851857
def explicit_group(self):
852-
return (
853-
f"SubmitGraph {self.ioq_str}{self.measure_str}, {self.numKernels} kernels"
854-
)
858+
return f"SubmitGraph {self.ioq_str}{self.measure_str}{self.use_events_str}, {self.numKernels} kernels"
855859

856860
def description(self) -> str:
857861
return (
@@ -860,10 +864,10 @@ def description(self) -> str:
860864
)
861865

862866
def name(self):
863-
return f"graph_api_benchmark_{self.runtime.value} SubmitGraph numKernels:{self.numKernels} ioq {self.inOrderQueue} measureCompletion {self.measureCompletionTime}"
867+
return f"graph_api_benchmark_{self.runtime.value} SubmitGraph{self.use_events_str} numKernels:{self.numKernels} ioq {self.inOrderQueue} measureCompletion {self.measureCompletionTime}"
864868

865869
def display_name(self) -> str:
866-
return f"{self.runtime.value.upper()} SubmitGraph {self.ioq_str}{self.measure_str}, {self.numKernels} kernels"
870+
return f"{self.runtime.value.upper()} SubmitGraph {self.ioq_str}{self.measure_str}{self.use_events_str}, {self.numKernels} kernels"
867871

868872
def get_tags(self):
869873
return [
@@ -882,7 +886,7 @@ def bin_args(self) -> list[str]:
882886
f"--InOrderQueue={self.inOrderQueue}",
883887
"--Profiling=0",
884888
"--KernelExecutionTime=1",
885-
"--UseEvents=0", # not all implementations support UseEvents=1
889+
f"--UseEvents={self.useEvents}",
886890
"--UseExplicit=0",
887891
]
888892

0 commit comments

Comments
 (0)