Skip to content

Commit

Permalink
[Doc] Document Unified Runtime update process (intel#14097)
Browse files Browse the repository at this point in the history
Add section to the contribution guide detailing the current process for
integrating Unified Runtime updates into DPC++.
  • Loading branch information
kbenzie authored and ianayl committed Jun 13, 2024
1 parent fd07268 commit 80eb9f5
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions sycl/doc/developer/ContributeToDPCPP.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,3 +164,39 @@ These tests verify SYCL specification conformance. All implementation details
are out of scope for the tests.
See DPC++ compiler invocation definitions at
[FindIntel_SYCL](https://github.com/KhronosGroup/SYCL-CTS/blob/SYCL-1.2.1/master/cmake/FindIntel_SYCL.cmake))
## Unified Runtime Updates
To integrate changes from the [Unified Runtime][ur] project into DPC++ there
two main options which depend on the scope of those changes and the current
state of DPC++.
1. Synchronized update:
* When: If the Unified Runtime change touches the API/ABI, more than one
adapter, or common code such as the loader.
* How: Update the `UNIFIED_RUNTIME_TAG` to point at the desired commit or tag
name in the Unified Runtime repository and ensure that any tag for specific
adapters are set to use `${UNIFIED_RUNTIME_TAG}`.
2. Decoupled update:
* When: If only a single Unified Runtime adatper has changed.
* How: Update the tag used in the `fetch_adapter_source()` call for a
specific Unified Runtime adapter, e.g. Level Zero, OpenCL, CUDA, HIP, or
Native CPU.
In general, a synchronized update should be the default. However, when there
are a lot of changes in flight in parallel always synchronizing the tag can be
troublesome. This is when a decoupled update can help sustain the merge
velocity of Unified Runtime changes.
The [intel/unified-runtime-reviewers][ur-reviewers-team] team is responsible
for ensuring that the Unified Runtime tag is updated correctly and will only
provide code owner approval to pull requests once the following criteria are
met:
* Tags are pointing to a valid commit or tag on Unified Runtime main branch.
* Changes to additional code owned files are in a good state.
* GitHub Actions checks are passing.
[ur]: https://github.com/oneapi-src/unified-runtime
[ur-reviewers-team]: https://github.com/orgs/intel/teams/unified-runtime-reviewers

0 comments on commit 80eb9f5

Please sign in to comment.