Skip to content

Commit e688815

Browse files
committed
Add open issue about CUDA
1 parent 24d3a3c commit e688815

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

sycl/doc/extensions/proposed/sycl_ext_oneapi_device_wait.asciidoc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,3 +182,20 @@ error code if the device does not have `aspect::ext_oneapi_device_wait`.
182182
Note that these functions wait for "commands", which includes host tasks and
183183
memory copy operations.
184184
The implementation and the tests should cover these cases too.
185+
186+
187+
== Issues
188+
189+
* The API described above is implementable on Level Zero.
190+
If we are being pedantic, we cannot easily implement this API on CUDA because
191+
`cudaDeviceSynchronize` waits only for tasks that were submitted to the device
192+
using the current context.
193+
(The current context can only be changed from the CUDA driver API.)
194+
We cannot implement that semantic on Level Zero because Level Zero provides
195+
only a function that waits for all tasks on the device (from all contexts).
196+
If we wanted to support this extension on CUDA in the future, one option would
197+
be to expose the difference to users.
198+
In that case, we'd add an additional aspect and additional APIs that take a
199+
context.
200+
CUDA would support the APIs that take a context and Level Zero would support
201+
the APIs that do not.

0 commit comments

Comments
 (0)