Skip to content

Commit 0133db7

Browse files
authored
clarify the conditions where the global work size may be null or zero (#1381)
1 parent fd21916 commit 0133db7

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

api/opencl_runtime_layer.asciidoc

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11909,12 +11909,6 @@ include::{generated}/api/version-notes/clEnqueueNDRangeKernel.asciidoc[]
1190911909
and work-items in the work-group.
1191011910
_work_dim_ must be greater than zero and less than or equal to
1191111911
{CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS}.
11912-
If _global_work_size_ is `NULL`, or the value in any passed dimension is 0
11913-
then the kernel command will trivially succeed after its event dependencies
11914-
are satisfied and subsequently update its completion event.
11915-
The behavior in this situation is similar to that of an enqueued marker,
11916-
except that unlike a marker, an enqueued kernel with no events passed to
11917-
_event_wait_list_ may run at any time.
1191811912
* _global_work_offset_ can be used to specify an array of _work_dim_ unsigned
1191911913
values that describe the offset used to calculate the global ID of a
1192011914
work-item.
@@ -11925,6 +11919,14 @@ include::{generated}/api/version-notes/clEnqueueNDRangeKernel.asciidoc[]
1192511919
execute the kernel function.
1192611920
The total number of global work-items is computed as _global_work_size_[0]
1192711921
{times} ... {times} _global_work_size_[_work_dim_ - 1].
11922+
If the device associated with _command_queue_ is an OpenCL 2.1 or newer
11923+
device, and _global_work_size_ is `NULL` or the value in any passed
11924+
dimension is zero,
11925+
then the kernel command will trivially succeed after its event dependencies
11926+
are satisfied and subsequently update its completion event.
11927+
The behavior in this situation is similar to that of an enqueued marker,
11928+
except that unlike a marker, an enqueued kernel with no events passed to
11929+
_event_wait_list_ may run at any time.
1192811930
* _local_work_size_ points to an array of _work_dim_ unsigned values that
1192911931
describe the number of work-items that make up a work-group (also referred
1193011932
to as the size of the work-group) that will execute the kernel specified by
@@ -12016,7 +12018,7 @@ successfully queued.
1201612018
Otherwise, it returns one of the following errors:
1201712019

1201812020
* {CL_INVALID_PROGRAM_EXECUTABLE} if there is no successfully built program
12019-
executable available for device associated with _command_queue_.
12021+
executable available for the device associated with _command_queue_.
1202012022
* {CL_INVALID_COMMAND_QUEUE} if _command_queue_ is not a valid host
1202112023
command-queue.
1202212024
* {CL_INVALID_KERNEL} if _kernel_ is not a valid kernel object.
@@ -12029,9 +12031,9 @@ Otherwise, it returns one of the following errors:
1202912031
value between 1 and {CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS}).
1203012032
* {CL_INVALID_GLOBAL_WORK_SIZE} if _global_work_size_ is NULL or if any of
1203112033
the values specified in _global_work_size_[0], ...
12032-
_global_work_size_[_work_dim_ - 1] are 0.
12033-
Returning this error code under these circumstances is <<unified-spec,
12034-
deprecated by>> version 2.1.
12034+
_global_work_size_[_work_dim_ - 1] are zero.
12035+
This error condition does not apply when the device associated with
12036+
_command_queue_ supports OpenCL 2.1 or newer.
1203512037
* {CL_INVALID_GLOBAL_WORK_SIZE} if any of the values specified in
1203612038
_global_work_size_[0], ... _global_work_size_[_work_dim_ - 1] exceed the
1203712039
maximum value representable by {size_t_TYPE} on the device on which the

0 commit comments

Comments
 (0)