@@ -148,14 +148,13 @@ def additional_metadata(self) -> dict[str, BenchmarkMetadata]:
148
148
base_metadata = metadata ["SubmitGraph" ]
149
149
for order in ["in order" , "out of order" ]:
150
150
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
+ )
159
158
160
159
return metadata
161
160
@@ -207,15 +206,17 @@ def benchmarks(self) -> list[Benchmark]:
207
206
for in_order_queue in [0 , 1 ]:
208
207
for num_kernels in self .submit_graph_num_kernels :
209
208
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
+ )
217
219
)
218
- )
219
220
220
221
# Add other benchmarks
221
222
benches += [
@@ -830,28 +831,31 @@ def bin_args(self) -> list[str]:
830
831
]
831
832
832
833
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.
836
834
class GraphApiSubmitGraph (ComputeBenchmark ):
837
835
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 ,
839
843
):
840
844
self .inOrderQueue = inOrderQueue
841
845
self .numKernels = numKernels
842
846
self .measureCompletionTime = measureCompletionTime
847
+ self .useEvents = useEvents
843
848
self .ioq_str = "in order" if self .inOrderQueue else "out of order"
844
849
self .measure_str = (
845
850
" with measure completion" if self .measureCompletionTime else ""
846
851
)
852
+ self .use_events_str = f" with events" if self .useEvents else ""
847
853
super ().__init__ (
848
854
bench , f"graph_api_benchmark_{ runtime .value } " , "SubmitGraph" , runtime
849
855
)
850
856
851
857
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"
855
859
856
860
def description (self ) -> str :
857
861
return (
@@ -860,10 +864,10 @@ def description(self) -> str:
860
864
)
861
865
862
866
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 } "
864
868
865
869
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"
867
871
868
872
def get_tags (self ):
869
873
return [
@@ -882,7 +886,7 @@ def bin_args(self) -> list[str]:
882
886
f"--InOrderQueue={ self .inOrderQueue } " ,
883
887
"--Profiling=0" ,
884
888
"--KernelExecutionTime=1" ,
885
- "--UseEvents=0" , # not all implementations support UseEvents=1
889
+ f "--UseEvents={ self . useEvents } " ,
886
890
"--UseExplicit=0" ,
887
891
]
888
892
0 commit comments