@@ -37,7 +37,7 @@ https://github.com/intel/llvm/issues
37
37
38
38
== Dependencies
39
39
40
- This extension is written against the SYCL 2020 revision 8 specification.
40
+ This extension is written against the SYCL 2020 revision 10 specification.
41
41
All references below to the "core SYCL specification" or to section numbers in
42
42
the SYCL specification refer to that revision.
43
43
@@ -941,6 +941,27 @@ bytes) of the device local memory that is represented by the
941
941
The pointer passed to `zeKernelSetArgumentValue` or `clSetKernelArg` must be
942
942
NULL in this case.
943
943
944
+ Some kernel features are disallowed when submitting a kernel using Level Zero or
945
+ OpenCL.
946
+ Other features require the kernel to be invoked in some special way.
947
+ These features are detailed below:
948
+
949
+ * When a kernel's static call tree contains a call to
950
+ `get_work_group_scratch_memory` from
951
+ link:../experimental/sycl_ext_oneapi_work_group_scratch_memory.asciidoc[
952
+ sycl_ext_oneapi_work_group_scratch_memory], the kernel has an additional
953
+ "hidden" argument whose value must be set when the kernel is invoked.
954
+ This argument appears after all other kernel arguments.
955
+ The value corresponds to the `work_group_scratch_size` launch property, which
956
+ specifies the size of the dynamic device local memory that is available via
957
+ `get_work_group_scratch_memory`.
958
+ The kernel argument's size specifies the size (in bytes) of the dynamic device
959
+ local memory.
960
+ The kernel argument's pointer must be NULL.
961
+
962
+ * Kernels must not use specialization constants as defined in section 4.9.5
963
+ "Specialization constants" of the core SYCL specification.
964
+
944
965
945
966
== Implementation notes
946
967
0 commit comments