Skip to content

[Bench] Add support for liboffload#22653

Open
311Volt wants to merge 2 commits into
intel:syclfrom
311Volt:bench-add-offload
Open

[Bench] Add support for liboffload#22653
311Volt wants to merge 2 commits into
intel:syclfrom
311Volt:bench-add-offload

Conversation

@311Volt

@311Volt 311Volt commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Add support for liboffload in the benchmarking script in devops/scripts/benchmarks and its SubmitKernel implementation.

To help with local development, this PR also adds:

  • A --benchmarks-source-dir=<dir> option to point the Compute Benchmarks suite at an existing source tree instead of cloning intel/compute-benchmarks. When set, all git clone/fetch/checkout operations are skipped.
  • After a successful build, GitProject writes a JSON build-complete marker (benchmark_build_complete.json) into the build dir recording the source commit and git status --porcelain fingerprint. Reruns skip the build when the fingerprint still matches, so editing a tracked file rebuilds automatically. A non-git source dir always rebuilds.

These are opt-in, for local development only. When called without these options ('Run benchmarks' action), the script behaves as before.

Stacked on: #22640 . Review 35eecae and later.

311Volt added 2 commits July 6, 2026 10:56
In upstream LLVM, olCreateEvent gained a `Flags` param - update UR
adapter to pass OL_EVENT_FLAGS_NONE, matching the old behavior.

Concurrently, olLaunchKernel switched to a pointer array for the kernel
launch args. Luckily the adapter already tracks the information needed
for the new API, which can be passed directly.

This patch is concerned with resolving build errors with current
upstream LLVM and retaining existing functionality, not with
feature-completeness against new liboffload features.
Make the benchmark runner usable for local development as opposed to
only CI/CD, and add support for the new liboffload SubmitKernel
benchmark.

liboffload (OL) SubmitKernel:
- Add an OL runtime, excluded from the default supported-runtime set so it
  stays scoped to SubmitKernel and does not leak into other benchmarks.
- Add --offload-install-dir / --offload-include-dir (passed through as
  OFFLOAD_INSTALL_DIR / OFFLOAD_INCLUDE_DIR). When both are set, the suite
  builds with -DBUILD_OL=ON and enables the OL SubmitKernel benchmark.
- Add --force-offload-plugin=<name> to export FORCE_OFFLOAD_PLUGIN (backend
  name, e.g. level_zero/cuda/amdgpu/host) into the benchmark process, which
  liboffload uses to select the offload device.

Local development:
- Add --benchmarks-source-dir=<dir> to point the Compute Benchmarks suite at
  an existing source tree instead of cloning intel/compute-benchmarks. When
  set, all git clone/fetch/checkout operations are skipped.
- After a successful build, GitProject writes a JSON build-complete marker
  (benchmark_build_complete.json) into the build dir recording the source
  commit and `git status --porcelain` fingerprint. Reruns skip the build when
  the fingerprint still matches, so editing a tracked file rebuilds
  automatically. A non-git source dir always rebuilds.
@311Volt
311Volt requested review from a team as code owners July 16, 2026 12:39
@dm-vodopyanov

Copy link
Copy Markdown
Contributor

@311Volt I see that you are a part of some internal Intel organizations on Github, so I suspect you are an Intel employee. I don't see your real name and Intel email in your profile. However, I see that you do commits with your Intel email address.

Because of lack of some info, we see the following:

image

@sarnex, could you please remind, what @311Volt should do so the workflows run automatically for him? One of the options is to complete the 1source onboard procedure (if was not completed yet).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants