File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
sycl/doc/extensions/proposed Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -182,3 +182,20 @@ error code if the device does not have `aspect::ext_oneapi_device_wait`.
182182Note that these functions wait for "commands", which includes host tasks and
183183memory copy operations.
184184The 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.
You can’t perform that action at this time.
0 commit comments