@@ -13,9 +13,19 @@ accepted into the project.
13
13
14
14
.. important ::
15
15
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:
19
29
20
30
* The feature exists to enable an experimental feature in a parallel
21
31
language runtime being built on top of Unified Runtime.
@@ -39,6 +49,54 @@ accepted into the project.
39
49
Runtime team via the `GitHub issue tracker
40
50
<https://github.com/oneapi-src/unified-runtime/issues/new> `_.
41
51
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
+
42
100
Build Environment
43
101
=================
44
102
0 commit comments