You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To improve code portability between AMD and NVIDIA GPU programming models specific changes were made to the HIP API in the 7.0 release to simplify cross-platform programming. These changes align HIP C++ even more closely with NVIDIA CUDA. These changes are incompatible with prior releases, and might require recompiling existing HIP applications for use in the 7.0 release, or editing and recompiling code in some cases. In the best case, the change requires no modification of existing applications. These changes were made available in a preview release based on the 6.4.1 release, and as such, hopefully, you have had advanced notice and prepared for the following changes.
11
+
To improve code portability between AMD and NVIDIA GPU programming models, changes were made to the HIP API in ROCm 7.0 to simplify cross-platform programming. These changes align HIP C++ even more closely with NVIDIA CUDA. These changes are incompatible with prior releases, and might require recompiling existing HIP applications for use with ROCm 7.0, or editing and recompiling code in some cases. In the best case, the change requires no modification of existing applications. These changes were made available in a preview release based on ROCm 6.4.1 to help you prepare.
12
12
13
13
Behavior changes in HIP Runtime API
14
14
===================================
@@ -163,23 +163,13 @@ Stream capture updates
163
163
Restrict stream capture modes
164
164
-----------------------------
165
165
166
-
Stream capture mode has been restricted in HIP APIs through the addition of the macro ``CHECK_STREAM_CAPTURE_SUPPORTED``.
167
-
168
-
In the HIP enumeration ``hipStreamCaptureMode``, three capture modes were previously supported:
169
-
170
-
* Global
171
-
* ThreadLocal
172
-
* Relaxed
173
-
174
-
As of the 7.0 release, when checking with the ``CHECK_STREAM_CAPTURE_SUPPORTED`` macro the only supported stream capture mode is ``hipStreamCaptureModeRelaxed``. The rest are not supported, and the macro will return ``hipErrorStreamCaptureUnsupported``.
175
-
176
-
This change matches the behavior of CUDA. There is no impact on any application if stream capture works correctly on the CUDA platform. However, in the HIP runtime the API will return ``hipErrorStreamCaptureUnsupported`` on unsupported stream capture modes.
177
-
178
-
This update involves the following APIs. They are allowed only in relaxed stream capture mode. Not all three capture modes.
166
+
Stream capture mode has been restricted in the following APIs to relaxed (``hipStreamCaptureModeRelaxed``) mode:
179
167
180
168
* :cpp:func:`hipMallocManaged`
181
169
* :cpp:func:`hipMemAdvise`
182
170
171
+
These APIs are allowed only in relaxed stream capture mode. If the functions are used with stream capture, the HIP runtime the will return ``hipErrorStreamCaptureUnsupported`` on unsupported stream capture modes.
172
+
183
173
Check stream capture mode
184
174
-------------------------
185
175
@@ -230,7 +220,7 @@ More conditional checks are added in the API implementation, and the return erro
230
220
* If the input stream handle is invalid, the returned error is changed to ``hipErrorContextIsDestroyed`` from ``hipErrorInvalidValue``
231
221
* Adds a grid dimension check, if any input global work size dimension is zero, returns ``hipErrorInvalidValue``
232
222
* Adds extra shared memory size check, if exceeds the size limit, returns ``hipErrorInvalidValue``
233
-
* If the total number of threads per block exceeds the maximum work group limit during a kernel launch, the return value is changed to``hipErrorInvalidConfiguration`` from ``hipErrorInvalidValue``
223
+
* If the total number of threads per block exceeds the maximum work group limit during a kernel launch, the return value is changed to``hipErrorInvalidConfiguration`` from ``hipErrorInvalidValue``
0 commit comments