Skip to content
Open
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
1 change: 1 addition & 0 deletions .github/workflows/sycl-ur-perf-benchmarking.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ on:
- Full
- SYCL
- Minimal
- Core
- Normal
- Test
- Gromacs
Expand Down
2 changes: 1 addition & 1 deletion devops/scripts/benchmarks/CONTRIB.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ Descriptions should:
* If adding to an existing category, modify the corresponding `Suite` class (e.g., `benches/compute.py`) to instantiate and return your new benchmark in its `benchmarks()` method.
* If creating a new category, create a new `Suite` class inheriting from `benches.base.Suite`. Implement `name()` and `benchmarks()`. Add necessary `setup()` if the suite requires shared setup. Add group metadata via `additional_metadata()` if needed.
3. **Register Suite:** Import and add your new `Suite` instance to the `suites` list in `main.py`.
4. **Add to Presets:** If adding a new suite, add its `name()` to the relevant lists in `presets.py` (e.g., "Full", "Normal") so it runs with those presets. Update `README.md` and benchmarking workflow to include the new suite in presets' description/choices.
4. **Add to Presets:** If adding a new suite, add its `name()` to the relevant lists in `presets.py` (e.g., "Full", "Normal") so it runs with those presets. Update `README.md` and benchmarking workflow to include the new suite in presets' description/choices. Don't forget to create a new Suite object in `main.py`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the new sentence is literally the point no 3. above. So, perhaps re-phrase it a little here, e.g.:
... description/choices. If you're only adding new preset, don't forget ...


## Recommendations

Expand Down
1 change: 1 addition & 0 deletions devops/scripts/benchmarks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ The available benchmarks options are:
* `Full` (BenchDNN, Compute, Gromacs, llama, SYCL, Velocity and UMF benchmarks)
* `SYCL` (Compute, llama, SYCL, Velocity)
* `Minimal` (Compute)
* `Core` (Compute: SubmitKernel)
* `Normal` (BenchDNN, Compute, Gromacs, llama, Velocity)
* `Gromacs` (Gromacs)
* `OneDNN` (BenchDNN)
Expand Down
35 changes: 35 additions & 0 deletions devops/scripts/benchmarks/benches/compute.py
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,41 @@ def createRrBench(variant_name: str, **kwargs):
return benches


class ComputeBenchCoreSuite(ComputeBench):
"""
A suite for core compute benchmarks scenarios for quick runs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

didn't we expect 100x more runs here?

"""

def name(self) -> str:
return "Compute Benchmarks Core"

def benchmarks(self) -> list[Benchmark]:
core_benches = []
submit_kernel_params = product(
list(RUNTIMES),
[0, 1], # in_order_queue
[0, 1], # measure_completion
[0, 1], # use_events
)
for (
runtime,
in_order_queue,
measure_completion,
use_events,
) in submit_kernel_params:
core_benches.append(
SubmitKernel(
self,
runtime,
in_order_queue,
measure_completion,
use_events,
KernelExecTime=1,
)
)
return core_benches


class ComputeBenchmark(Benchmark):
def __init__(
self,
Expand Down
1 change: 1 addition & 0 deletions devops/scripts/benchmarks/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ def main(directory, additional_env_vars, compare_names, filter, execution_stats)

suites = [
ComputeBench(),
ComputeBenchCoreSuite(),
VelocityBench(),
SyclBench(),
LlamaCppBench(),
Expand Down
3 changes: 3 additions & 0 deletions devops/scripts/benchmarks/presets.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
"Minimal": [
"Compute Benchmarks",
],
"Core": [
"Compute Benchmarks Core",
],
"Normal": [
"BenchDNN",
"Compute Benchmarks",
Expand Down