You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add vec16 types for short types
Match cl_intel_subgroups_short version 1.1 and add vec16 types for block reads and writes for shorts.
* Version refers to short extension, update version
* update version and copyright date
---------
Co-authored-by: Ben Ashbaugh <[email protected]>
void intel_sub_group_block_write_us2( __local ushort* p, ushort2 data )
116
116
void intel_sub_group_block_write_us4( __local ushort* p, ushort4 data )
117
117
void intel_sub_group_block_write_us8( __local ushort* p, ushort8 data )
118
+
119
+
/* If cl_intel_subgroups_short version 1.1 or greater is supported: */
120
+
121
+
ushort16 intel_sub_group_block_read_us16( const __local ushort* p )
122
+
123
+
void intel_sub_group_block_write_us16( __local ushort* p, ushort16 data )
118
124
----
119
125
120
126
If `cl_intel_subgroups_long` is supported, add variants of the `ulong` subgroup block read and write functions that support loading from and storing to pointers to the `+__local+` address space:
/* If cl_intel_subgroups_short version 1.1 or greater is supported: */
329
+
330
+
ushort16 intel_sub_group_block_read_us16(
331
+
const __global ushort* p )
332
+
333
+
ushort16 intel_sub_group_block_read_us16(
334
+
const __local ushort* p )
321
335
----
322
336
323
-
| Reads 1, 2, 4, or 8 ushorts of data for each work item in the subgroup from the specified pointer as a block operation...
337
+
| Reads 1, 2, 4, or 8 (or 16, if `cl_intel_subgroups_short` version 1.1 or greater is supported) ushorts of data for each work item in the subgroup from the specified pointer as a block operation...
/* If cl_intel_subgroups_short version 1.1 or greater is supported: */
360
+
361
+
void intel_sub_group_block_write_us16(
362
+
__global ushort* p, ushort16 data )
363
+
364
+
void intel_sub_group_block_write_us16(
365
+
__local ushort* p, ushort16 data )
344
366
----
345
367
346
-
| Writes 1, 2, 4, or 8 ushorts of data for each work item in the subgroup to the specified pointer as a block operation...
368
+
| Writes 1, 2, 4, or 8 (or 16, if `cl_intel_subgroups_short` version 1.1 or greater is supported) ushorts of data for each work item in the subgroup to the specified pointer as a block operation...
347
369
348
370
|==================================
349
371
@@ -468,6 +490,7 @@ For consistency with `cl_intel_subgroups` we should include both the un-suffixed
468
490
|========================================
469
491
|Rev|Date|Author|Changes
470
492
|1.0.0|2023-11-29|Ben Ashbaugh|*Initial revision for publication*
493
+
|1.0.1|2025-07-01|Gergely Meszaros|Clarify vec16 type support for cl_intel_subgroups_short version 1.1
0 commit comments