Skip to content

Commit 0acce6f

Browse files
authored
Merge pull request #902 from kbenzie/benie/adapters-workflow
[ur] Document the Adapter Change Process
2 parents 0d3c1fc + 2c6f729 commit 0acce6f

File tree

1 file changed

+61
-3
lines changed

1 file changed

+61
-3
lines changed

scripts/core/CONTRIB.rst

Lines changed: 61 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,19 @@ accepted into the project.
1313

1414
.. important::
1515

16-
Before making a contribution you *should* determine if the change should be
17-
made directly to the core specification or introduced as an experimental
18-
feature. The criteria we use to make this distinction are as follows:
16+
Any contributions that fall into the following criteria *must* follow the
17+
`Adapter Change Process`_:
18+
19+
* Changing the API/ABI of the specification and or loader.
20+
21+
* Changing the implementation of an adapter.
22+
23+
* Changing the implementation of shared/common code used by an adapter.
24+
25+
Before making a contribution to the specification you *should* determine if
26+
the change should be made directly to the core specification or introduced
27+
as an experimental feature. The criteria we use to make this distinction
28+
are as follows:
1929

2030
* The feature exists to enable an experimental feature in a parallel
2131
language runtime being built on top of Unified Runtime.
@@ -39,6 +49,54 @@ accepted into the project.
3949
Runtime team via the `GitHub issue tracker
4050
<https://github.com/oneapi-src/unified-runtime/issues/new>`_.
4151

52+
Adapter Change Process
53+
======================
54+
55+
1. Create a pull request containing the adapter changes in the
56+
`oneapi-src/unified-runtime`_ project targeting the `adapters
57+
<https://github.com/oneapi-src/unified-runtime/tree/adapters>`_ branch.
58+
59+
2. Create a draft pull request in the `intel/llvm`_ project to take advantage
60+
of the pre-merge testing. Add any required implementation changes in
61+
addition to changing:
62+
63+
* `UNIFIED_RUNTIME_REPO`_ to point at your fork of Unified Runtime.
64+
65+
* `UNIFIED_RUNTIME_TAG`_ to point at your development branch name used to
66+
create the Unified Runtime pull request in step 1.
67+
68+
3. Add a comment in the *oneapi-src/unified-runtime* pull request linking to
69+
the *intel/llvm* pull request created in step 2.
70+
71+
4. Code reviews for the adapter changes are carried out in the
72+
*oneapi-src/unified-runtime* pull request.
73+
74+
5. Any new commits to the *oneapi-src/unified-runtime* pull request *must* be
75+
accompanied by a corresponding update in the *intel/llvm* pull request as
76+
indicated in step 2, so the testing is always up-to-date.
77+
78+
6. The Unified Runtime maintainers *must* ensure that step 5 has been carried
79+
out and that all pre-merge testing has passed before accepting the
80+
*oneapi-src/unified-runtime* pull request.
81+
82+
7. Once the *oneapi-src/unified-runtime* pull request is accepted:
83+
84+
* Reverse the change to `UNIFIED_RUNTIME_REPO`_ made in step 2.
85+
* Update the `UNIFIED_RUNTIME_TAG`_ to point at the
86+
*oneapi-src/unified-runtime* commit/tag containing the merged adapter
87+
changes.
88+
* Mark the *intel/llvm* pull request as ready for review and follow their
89+
review process.
90+
91+
.. _oneapi-src/unified-runtime:
92+
https://github.com/oneapi-src/unified-runtime
93+
.. _intel/llvm:
94+
https://github.com/intel/llvm
95+
.. _UNIFIED_RUNTIME_REPO:
96+
https://github.com/intel/llvm/blob/sycl/sycl/plugins/unified_runtime/CMakeLists.txt#L7
97+
.. _UNIFIED_RUNTIME_TAG:
98+
https://github.com/intel/llvm/blob/sycl/sycl/plugins/unified_runtime/CMakeLists.txt#L8
99+
42100
Build Environment
43101
=================
44102

0 commit comments

Comments
 (0)