Skip to content

Commit e34b7ff

Browse files
authored
[Doc] Document Unified Runtime update process (#14097)
Add section to the contribution guide detailing the current process for integrating Unified Runtime updates into DPC++.
1 parent 9942378 commit e34b7ff

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

sycl/doc/developer/ContributeToDPCPP.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,3 +164,39 @@ These tests verify SYCL specification conformance. All implementation details
164164
are out of scope for the tests.
165165
See DPC++ compiler invocation definitions at
166166
[FindIntel_SYCL](https://github.com/KhronosGroup/SYCL-CTS/blob/SYCL-1.2.1/master/cmake/FindIntel_SYCL.cmake))
167+
168+
## Unified Runtime Updates
169+
170+
To integrate changes from the [Unified Runtime][ur] project into DPC++ there
171+
two main options which depend on the scope of those changes and the current
172+
state of DPC++.
173+
174+
1. Synchronized update:
175+
* When: If the Unified Runtime change touches the API/ABI, more than one
176+
adapter, or common code such as the loader.
177+
* How: Update the `UNIFIED_RUNTIME_TAG` to point at the desired commit or tag
178+
name in the Unified Runtime repository and ensure that any tag for specific
179+
adapters are set to use `${UNIFIED_RUNTIME_TAG}`.
180+
181+
2. Decoupled update:
182+
* When: If only a single Unified Runtime adatper has changed.
183+
* How: Update the tag used in the `fetch_adapter_source()` call for a
184+
specific Unified Runtime adapter, e.g. Level Zero, OpenCL, CUDA, HIP, or
185+
Native CPU.
186+
187+
In general, a synchronized update should be the default. However, when there
188+
are a lot of changes in flight in parallel always synchronizing the tag can be
189+
troublesome. This is when a decoupled update can help sustain the merge
190+
velocity of Unified Runtime changes.
191+
192+
The [intel/unified-runtime-reviewers][ur-reviewers-team] team is responsible
193+
for ensuring that the Unified Runtime tag is updated correctly and will only
194+
provide code owner approval to pull requests once the following criteria are
195+
met:
196+
197+
* Tags are pointing to a valid commit or tag on Unified Runtime main branch.
198+
* Changes to additional code owned files are in a good state.
199+
* GitHub Actions checks are passing.
200+
201+
[ur]: https://github.com/oneapi-src/unified-runtime
202+
[ur-reviewers-team]: https://github.com/orgs/intel/teams/unified-runtime-reviewers

0 commit comments

Comments
 (0)