The goal of this extension is to allow programmers to improve the performance of their applications by taking advantage of the fact that some work items in a work group execute together as a group (a "subgroup"), and that work items in a subgroup can take advantage of hardware features that are not available to work items in a work group. Specifically, this extension is designed to allow work items in a subgroup to share data without the use of local memory and work group barriers, and to utilize specialized hardware to load and store blocks of data.
There is a large amount of overlap between the functionality in this extension and the functionality in the Khronos OpenCL 2.0 "cl_khr_subgroups" extension, so this extension reuses many of the names, concepts, and functions already described in the cl_khr_subgroups extension. The key differences between the Intel subgroups extension and the Khronos subgroups extension are:
Requires CL12.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR
Accepted as the |
| public static final int | CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR
Accepted as the |
| Access | Constructor and Description |
|---|---|
| private |
| CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR | back to summary |
|---|---|
| public static final int CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR Accepted as the | |
| CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR | back to summary |
|---|---|
| public static final int CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR Accepted as the | |
| INTELSubgroups | back to summary |
|---|---|
| private INTELSubgroups() | |