Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 21 additions & 15 deletions devops/scripts/benchmarks/benches/compute/compute.py
Original file line number Diff line number Diff line change
Expand Up @@ -317,15 +317,15 @@ def createTorchSingleQueueBench(variant_name: str, **kwargs):
runtime,
variant_name,
profiler_type,
**{
**kwargs,
fixed_args={
"KernelBatchSize": 512,
"KernelName": "Add",
"KernelParamsNum": 5,
"KernelSubmitPattern": "Single",
"Profiling": 0,
"UseEvents": 0,
},
**kwargs,
)

benches += [
Expand Down Expand Up @@ -378,28 +378,30 @@ def createTorchMultiQueueBench(variant_name: str, **kwargs):
variant_name,
profiler_type,
measure_completion,
**{
**kwargs,
fixed_args={
"KernelWGCount": 512,
"KernelWGSize": 256,
"MeasureCompletionTime": measure_completion,
"Profiling": 0,
"UseEvents": 0,
},
**kwargs,
)

benches += [
createTorchMultiQueueBench(
"large",
KernelsPerQueue=20,
MeasureCompletionTime=measure_completion,
),
createTorchMultiQueueBench(
"medium",
KernelsPerQueue=10,
MeasureCompletionTime=measure_completion,
),
createTorchMultiQueueBench(
"small",
KernelsPerQueue=4,
MeasureCompletionTime=measure_completion,
),
]

Expand All @@ -414,26 +416,28 @@ def createTorchSlmSizeBench(variant_name: str, **kwargs):
variant_name,
profiler_type,
measure_completion,
**{
**kwargs,
fixed_args={
"KernelBatchSize": 512,
"MeasureCompletionTime": measure_completion,
"Profiling": 0,
},
**kwargs,
)

benches += [
createTorchSlmSizeBench(
"small",
SlmNum=1,
MeasureCompletionTime=measure_completion,
),
createTorchSlmSizeBench(
"medium",
SlmNum=1024,
MeasureCompletionTime=measure_completion,
),
createTorchSlmSizeBench(
"large",
SlmNum=16384,
MeasureCompletionTime=measure_completion,
),
]

Expand Down Expand Up @@ -491,11 +495,11 @@ def createTorchLinearKernelSizeBench(variant_name: str, **kwargs):
runtime,
variant_name,
profiler_type,
**{
**kwargs,
fixed_args={
"KernelBatchSize": 512,
"Profiling": 0,
},
**kwargs,
)

benches += [
Expand Down Expand Up @@ -536,29 +540,31 @@ def createTorchGraphSingleQueueBench(variant_name: str, **kwargs):
runtime,
variant_name,
profiler_type,
**{
**kwargs,
"KernelName": kernel_name.value,
fixed_args={
"KernelWGCount": 512,
"KernelWGSize": 256,
"Profiling": 0,
"UseEvents": 0,
},
**kwargs,
)

benches += [
createTorchGraphSingleQueueBench(
"small",
KernelName=kernel_name.value,
KernelsPerQueue=10,
KernelBatchSize=10,
),
createTorchGraphSingleQueueBench(
"medium",
KernelName=kernel_name.value,
KernelsPerQueue=32,
KernelBatchSize=32,
),
createTorchGraphSingleQueueBench(
"large",
KernelName=kernel_name.value,
KernelsPerQueue=64,
KernelBatchSize=64,
),
Expand All @@ -574,13 +580,13 @@ def createTorchGraphMultiQueueBench(variant_name: str, **kwargs):
runtime,
variant_name,
profiler_type,
**{
**kwargs,
fixed_args={
"workgroupCount": 512,
"workgroupSize": 256,
"Profiling": 0,
"UseEvents": 0,
},
**kwargs,
)

benches += [
Expand Down
23 changes: 21 additions & 2 deletions devops/scripts/benchmarks/benches/compute/compute_torch.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@ def __init__(
variant_name: str,
profiler_type: PROFILERS,
measure_completion: int = 0,
fixed_args: dict | None = None,
**kwargs,
):
self._variant_name = variant_name
self._measure_completion_str = (
" with measure completion" if measure_completion else ""
)
self._torch_params = kwargs
self._torch_params: dict = kwargs
self._fixed_args: dict | None = fixed_args # args used for charts legends
self._iterations_regular = 1000
self._iterations_trace = 10
super().__init__(
Expand Down Expand Up @@ -63,10 +65,14 @@ def _supported_runtimes(self) -> list[RUNTIMES]:

def _bin_args(self, run_trace: TracingType = TracingType.NONE) -> list[str]:
iters = self._get_iters(run_trace)
if self._fixed_args is not None:
params = dict(self._fixed_args | self._torch_params)
else:
params = self._torch_params
return (
[f"--iterations={iters}"]
+ [f"--profilerType={self._profiler_type.value}"]
+ [f"--{k}={v}" for k, v in self._torch_params.items()]
+ [f"--{k}={v}" for k, v in params.items()]
)


Expand All @@ -78,6 +84,7 @@ def __init__(
runtime: RUNTIMES,
variant_name: str,
profiler_type: PROFILERS,
fixed_args: dict | None = None,
**kwargs,
):
super().__init__(
Expand All @@ -86,6 +93,7 @@ def __init__(
"KernelSubmitSingleQueue",
variant_name,
profiler_type,
fixed_args=fixed_args,
**kwargs,
)

Expand All @@ -99,6 +107,7 @@ def __init__(
variant_name: str,
profiler_type: PROFILERS,
measure_completion: int = 0,
fixed_args: dict | None = None,
**kwargs,
):
super().__init__(
Expand All @@ -108,6 +117,7 @@ def __init__(
variant_name,
profiler_type,
measure_completion=measure_completion,
fixed_args=fixed_args,
**kwargs,
)

Expand All @@ -121,6 +131,7 @@ def __init__(
variant_name: str,
profiler_type: PROFILERS,
measure_completion: int = 0,
fixed_args: dict | None = None,
**kwargs,
):
super().__init__(
Expand All @@ -130,6 +141,7 @@ def __init__(
variant_name,
profiler_type,
measure_completion=measure_completion,
fixed_args=fixed_args,
**kwargs,
)

Expand All @@ -142,6 +154,7 @@ def __init__(
runtime: RUNTIMES,
variant_name: str,
profiler_type: PROFILERS,
fixed_args: dict | None = None,
**kwargs,
):
super().__init__(
Expand All @@ -150,6 +163,7 @@ def __init__(
"KernelSubmitLinearKernelSize",
variant_name,
profiler_type,
fixed_args=fixed_args,
**kwargs,
)

Expand Down Expand Up @@ -182,6 +196,7 @@ def __init__(
runtime: RUNTIMES,
variant_name: str,
profiler_type: PROFILERS,
fixed_args: dict | None = None,
**kwargs,
):
super().__init__(
Expand All @@ -190,17 +205,20 @@ def __init__(
"KernelSubmitGraphSingleQueue",
variant_name,
profiler_type,
fixed_args=fixed_args,
**kwargs,
)


class TorchGraphMultiQueue(TorchBenchmark):

def __init__(
self,
suite,
runtime: RUNTIMES,
variant_name: str,
profiler_type: PROFILERS,
fixed_args: dict | None = None,
**kwargs,
):
super().__init__(
Expand All @@ -209,6 +227,7 @@ def __init__(
"KernelSubmitGraphMultiQueue",
variant_name,
profiler_type,
fixed_args=fixed_args,
**kwargs,
)

Expand Down
Loading
Loading