[SYCL][Doc] Clarify WI funcs in kernel compiler #12891
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Clarify the SPIR-V and OpenCL kernel compiler specifications to explain
how the SYCL iteration space maps to the SPIR-V / OpenCL C languages
and clarify that these kernels can use their normal language mechanisms
to find the current work-item's position in the iteration space.
We also disallow launching a SPIR-V or OpenCL C kernel as a simple
"range" kernel. This seems consistent with our view that a "range"
kernel is not just a degenerate form of an nd-range kernel. Since
SPIR-V and OpenCL C kernels always have access to nd-range features, it
does not make sense to launch them as range kernels. This is also
consistent with our decision to limit SYCL free function kernels to
"nd-range" and "single-task" forms.
Some other cleanup of these specifications also:
Clarify what happens when a
local_accessor
is passed as a kernelargument to a SPIR-V or OpenCL kernel. This was causing some
confusion from users.
Reformat the table in the OpenCL spec describing kernel arguments
so that it has the same layout as the equivalent SPIR-V table.
Fix the name of the OpenCL header file in the example.