21
21
== Notice
22
22
23
23
[%hardbreaks]
24
- Copyright (C) 2021 Intel Corporation. All rights reserved.
24
+ Copyright (C) 2024 Intel Corporation. All rights reserved.
25
25
26
26
Khronos(R) is a registered trademark and SYCL(TM) and SPIR(TM) are trademarks
27
27
of The Khronos Group Inc. OpenCL(TM) is a trademark of Apple Inc. used by
@@ -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 specification, Revision 4 and
40
+ This extension is written against the SYCL 2020 specification, Revision 9 and
41
41
the following extensions:
42
42
43
43
- link:sycl_ext_oneapi_properties.asciidoc[sycl_ext_oneapi_properties]
@@ -387,12 +387,6 @@ class handler {
387
387
}
388
388
```
389
389
390
- Passing a property list as an argument in this way allows properties to be
391
- associated with a kernel function without modifying its type. This enables
392
- the same kernel function (e.g. a lambda) to be submitted multiple times with
393
- different properties, or for libraries building on SYCL to add properties
394
- (e.g. for performance reasons) to user-provided kernel functions.
395
-
396
390
All the properties defined in this extension have compile-time values. However,
397
391
an implementation may support additional properties which could have run-time
398
392
values. When this occurs, the `properties` parameter may be a property list
@@ -412,18 +406,10 @@ q.parallel_for(range<2>{16, 16}, properties, [=](id<2> i) {
412
406
}).wait();
413
407
```
414
408
415
- NOTE: It is currently not possible to use the same kernel function in two
416
- commands with different properties. For example, the following will result in an
417
- error at compile-time:
409
+ A kernel function can only be associated with one set of kernel properties.
410
+ If a kernel function is associated with more than one set of kernel properties,
411
+ the implementation must issue a diagnostic.
418
412
419
- ```c++
420
- auto kernelFunc = [=](){};
421
- q.single_task(kernelFunc);
422
- q.single_task(
423
- sycl::ext::oneapi::experimental::properties{
424
- sycl::ext::oneapi::experimental::sub_group_size<8>},
425
- kernelFunc);
426
- ```
427
413
428
414
== Embedding Properties into a Kernel
429
415
0 commit comments