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
Copy file name to clipboardExpand all lines: interop_task/interop_task.md
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -28,12 +28,12 @@ thread to continue submitting command groups).
28
28
Other command groups enqueued in the same or different queues
29
29
can be executed following the sequential consistency by guaranteeing the
30
30
satisfaction of the requisites of this command group.
31
-
It is the user's responsability to ensure the lambda submitted via interop_task does not create race conditions with other command groups or with the host.
31
+
It is the user's responsibility to ensure the lambda submitted via interop_task does not create race conditions with other command groups or with the host.
32
32
33
33
The possibility of enqueuing host tasks on SYCL queues also enables the
34
34
runtime to perform further optimizations when available.
35
-
For example, a SYCL runtime may decide to map / unmap instead of copy operations,
36
-
or performing asynchronous transfers while data is being computed.
35
+
For example, a SYCL runtime may decide to map / unmap instead of performing copy operations,
36
+
or perform asynchronous transfers while data is being computed.
37
37
38
38
### cl::sycl::codeplay::handler
39
39
@@ -59,12 +59,12 @@ class handler : public cl::sycl::handler {
59
59
60
60
### codeplay::handler::interop_task
61
61
62
-
The `interop_task` allows users to submit tasks containing C++ statements with low-level API call (e.g. OpenCL Host API entries).
62
+
The `interop_task` allows users to submit tasks containing C++ statements with low-level API calls (e.g. OpenCL Host API entries).
63
63
The command group that encapsulates the task will execute following the usual SYCL dataflow execution rules.
64
64
The functor passed to the `interop_task` takes as input a const reference to a `cl::sycl::codeplay::interop_handle`. The handle can be used to retrieve underlying OpenCL objects relative to the execution of the task.
65
65
66
66
It is not allowed to allocate new SYCL object inside an `interop_task`.
67
-
It is the user responsibilities to ensure all operations peroformed inside the `interop_task` finished before returning from it.
67
+
It is the user's responsibility to ensure that all operations performed inside the `interop_task` are finished before returning from it.
68
68
69
69
Although the statements inside the lambda submitted to the `interop_task` are executed on the host, the requirements and actions for the command group are satisied for the device.
70
70
This is the opposite of the `host_handler` vendor extension, where requisites are satisfied for the host since the statements on the lambda submited to the single task are meant to have side effects on the host only.
@@ -132,7 +132,7 @@ This example calls the clFFT library from SYCL using the `interop_task`:
132
132
#include <stdlib.h>
133
133
#include <CL/sycl.hpp>
134
134
135
-
/* No need to explicitely include the OpenCL headers */
135
+
/* No need to explicitly include the OpenCL headers */
136
136
#include <clFFT.h>
137
137
138
138
int main( void )
@@ -150,7 +150,7 @@ int main( void )
150
150
device_queue.submit([=](codeplay::handler& cgh) {
151
151
auto X_accessor = X.get_access<access::mode::read_write>(cgh);
0 commit comments