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
Copy file name to clipboardExpand all lines: sycl/doc/extensions/SubGroupMask/SubGroupMask.asciidoc
+48-48Lines changed: 48 additions & 48 deletions
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
= SYCL_EXT_ONEAPI_GROUP_MASK
1
+
= SYCL_EXT_ONEAPI_SUB_GROUP_MASK
2
2
:source-highlighter: coderay
3
3
:coderay-linenums-mode: table
4
4
@@ -21,7 +21,7 @@ IMPORTANT: This specification is a draft.
21
21
22
22
NOTE: Khronos(R) is a registered trademark and SYCL(TM) and SPIR(TM) are trademarks of The Khronos Group Inc. OpenCL(TM) is a trademark of Apple Inc. used by permission by Khronos.
23
23
24
-
This document describes an extension which adds a `group_mask` type. Such a mask can be used to efficiently represent subsets of work-items in a group for which a given Boolean condition holds. Group mask functionality is currently limited to groups that are instances of the `sub_group` class.
24
+
This document describes an extension which adds a `sub_group_mask` type. Such a mask can be used to efficiently represent subsets of work-items in a sub-group for which a given Boolean condition holds.
25
25
26
26
== Notice
27
27
@@ -51,9 +51,9 @@ This extension is written against the SYCL 2020 specification, Revision 3.
51
51
This extension provides a feature-test macro as described in the core SYCL
52
52
specification section 6.3.3 "Feature test macros". Therefore, an
53
53
implementation supporting this extension must predefine the macro
54
-
`SYCL_EXT_ONEAPI_GROUP_MASK` to one of the values defined in the table below.
55
-
Applications can test for the existence of this macro to determine if the
56
-
implementation supports this feature, or applications can test the macro's
54
+
`SYCL_EXT_ONEAPI_SUB_GROUP_MASK` to one of the values defined in the table
55
+
below. Applications can test for the existence of this macro to determine if
56
+
the implementation supports this feature, or applications can test the macro's
57
57
value to determine which of the extension's APIs the implementation supports.
58
58
59
59
[%header,cols="1,5"]
@@ -81,18 +81,18 @@ must be encountered by all work-items in the group in converged control flow.
|Return a `sub_group_mask` with one bit for each work-item in group _g_. A bit is set in this mask if and only if the corresponding work-item's _predicate_ is `true`.
86
86
|===
87
87
88
88
=== Group Masks
89
89
90
90
The group mask type is an opaque type, permitting implementations to use any
91
91
mask representation that has the same size and alignment across host and
92
-
device. The maximum number of bits that can be stored in a `group_mask` is
93
-
exposed as a static member variable, `group_mask::max_bits`.
92
+
device. The maximum number of bits that can be stored in a `sub_group_mask` is
93
+
exposed as a static member variable, `sub_group_mask::max_bits`.
94
94
95
-
Functions declared in the `group_mask` class can be called independently by
95
+
Functions declared in the `sub_group_mask` class can be called independently by
96
96
different work-items in the same group. An instance of a group class (e.g.
97
97
`group` or `sub_group`) is not required to manipulate a group mask.
98
98
@@ -107,7 +107,7 @@ work-item with the id `max_local_range()-1`.
107
107
|Return `true` if the bit corresponding to the specified _id_ is set in the
108
108
mask.
109
109
110
-
|`group_mask::reference operator[](id<1> id)`
110
+
|`sub_group_mask::reference operator[](id<1> id)`
111
111
|Return a reference to the bit corresponding to the specified _id_ in the mask.
112
112
113
113
|`bool test(id<1> id) const`
@@ -137,17 +137,15 @@ work-item with the id `max_local_range()-1`.
137
137
|Return the highest `id` with a corresponding bit set in the mask. If no bits
0 commit comments