Skip to content

Commit ef6ba98

Browse files
authored
clarify the free function for clEnqueueSVMFree must be thread-safe (#1016)
1 parent 4efd3a9 commit ef6ba98

2 files changed

Lines changed: 16 additions & 12 deletions

File tree

api/opencl_platform_layer.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1837,7 +1837,7 @@ include::{generated}/api/version-notes/clCreateContext.asciidoc[]
18371837
at runtime in this context.
18381838
This callback function may be called asynchronously by the OpenCL
18391839
implementation.
1840-
It is the applications responsibility to ensure that the callback function
1840+
It is the application's responsibility to ensure that the callback function
18411841
is thread-safe.
18421842
If _pfn_notify_ is `NULL`, no callback function is registered.
18431843
* _user_data_ will be passed as the _user_data_ argument when _pfn_notify_ is

api/opencl_runtime_layer.asciidoc

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4534,6 +4534,10 @@ include::{generated}/api/version-notes/clEnqueueSVMFree.asciidoc[]
45344534
function returns.
45354535
* _pfn_free_func_ specifies the callback function to be called to free the SVM
45364536
pointers.
4537+
This callback function may be called asynchronously by the OpenCL
4538+
implementation.
4539+
It is the application's responsibility to ensure that the callback function
4540+
is thread-safe.
45374541
_pfn_free_func_ takes four arguments: _queue_ which is the command-queue in
45384542
which {clEnqueueSVMFree} was enqueued, the count and list of SVM pointers to
45394543
free and _user_data_ which is a pointer to user specified data.
@@ -5663,7 +5667,7 @@ include::{generated}/api/version-notes/clSetProgramReleaseCallback.asciidoc[]
56635667
** _user_data_ is a pointer to user supplied data.
56645668
* _user_data_ will be passed as the _user_data_ argument when _pfn_notify_ is
56655669
called.
5666-
user data can be `NULL`.
5670+
_user_data_ can be `NULL`.
56675671

56685672
Each call to {clSetProgramReleaseCallback} registers the specified
56695673
callback function on a callback stack associated with _program_.
@@ -5816,10 +5820,10 @@ include::{generated}/api/version-notes/clBuildProgram.asciidoc[]
58165820
has completed.
58175821
This callback function may be called asynchronously by the OpenCL
58185822
implementation.
5819-
It is the applications responsibility to ensure that the callback function
5823+
It is the application's responsibility to ensure that the callback function
58205824
is thread-safe.
5821-
** _user_data_ will be passed as an argument when _pfn_notify_ is called.
5822-
_user_data_ can be `NULL`.
5825+
* _user_data_ will be passed as an argument when _pfn_notify_ is called.
5826+
_user_data_ can be `NULL`.
58235827

58245828
The program executable is built from the program source or binary for all
58255829
the devices, or a specific device(s) in the OpenCL context associated with
@@ -5954,10 +5958,10 @@ include::{generated}/api/version-notes/clCompileProgram.asciidoc[]
59545958
compiler has completed.
59555959
This callback function may be called asynchronously by the OpenCL
59565960
implementation.
5957-
It is the applications responsibility to ensure that the callback function
5961+
It is the application's responsibility to ensure that the callback function
59585962
is thread-safe.
5959-
** _user_data_ will be passed as an argument when _pfn_notify_ is called.
5960-
_user_data_ can be `NULL`.
5963+
* _user_data_ will be passed as an argument when _pfn_notify_ is called.
5964+
_user_data_ can be `NULL`.
59615965

59625966
The pre-processor runs before the program sources are compiled.
59635967
The compiled binary is built for all devices associated with _program_ or
@@ -6097,8 +6101,8 @@ include::{generated}/api/version-notes/clLinkProgram.asciidoc[]
60976101
The notification routine is a callback function that an application can
60986102
register and which will be called when the program executable has been built
60996103
(successfully or unsuccessfully).
6100-
** _user_data_ will be passed as an argument when _pfn_notify_ is called.
6101-
_user_data_ can be `NULL`.
6104+
* _user_data_ will be passed as an argument when _pfn_notify_ is called.
6105+
_user_data_ can be `NULL`.
61026106

61036107
If _pfn_notify_ is not `NULL`, {clLinkProgram} does not need to wait for the
61046108
linker to complete, and can return immediately once the linking operation can
@@ -6109,7 +6113,7 @@ Any state changes of the program object that result from calling {clLinkProgram}
61096113
(e.g. link status or log) will be observable from this callback function.
61106114
This callback function may be called asynchronously by the OpenCL
61116115
implementation.
6112-
It is the applications responsibility to ensure that the callback function
6116+
It is the application's responsibility to ensure that the callback function
61136117
is thread-safe.
61146118

61156119
If _pfn_notify_ is `NULL`, {clLinkProgram} does not return until the linker
@@ -8861,7 +8865,7 @@ include::{generated}/api/version-notes/clSetEventCallback.asciidoc[]
88618865
the application.
88628866
This callback function may be called asynchronously by the OpenCL
88638867
implementation.
8864-
It is the applications responsibility to ensure that the callback function
8868+
It is the application's responsibility to ensure that the callback function
88658869
is thread-safe.
88668870
The parameters to this callback function are:
88678871
** _event_ is the event object for which the callback function is invoked.

0 commit comments

Comments
 (0)