public class INTELSubgroups
extends java.lang.Object
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 |
|---|---|
static int |
CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR
Accepted as the
param_name parameter of GetKernelSubGroupInfoKHR. |
static int |
CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR
Accepted as the
param_name parameter of GetKernelSubGroupInfoKHR. |
| Modifier and Type | Method and Description |
|---|---|
static int |
clGetKernelSubGroupInfoKHR(long kernel,
long device,
int param_name,
java.nio.ByteBuffer input_value,
java.nio.ByteBuffer param_value,
org.lwjgl.PointerBuffer param_value_size_ret)
Returns information about a kernel object.
|
static int |
clGetKernelSubGroupInfoKHR(long kernel,
long device,
int param_name,
java.nio.ByteBuffer input_value,
org.lwjgl.PointerBuffer param_value,
org.lwjgl.PointerBuffer param_value_size_ret)
Returns information about a kernel object.
|
static int |
nclGetKernelSubGroupInfoKHR(long kernel,
long device,
int param_name,
long input_value_size,
long input_value,
long param_value_size,
long param_value,
long param_value_size_ret)
Unsafe version of:
GetKernelSubGroupInfoKHR |
public static final int CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR
param_name parameter of GetKernelSubGroupInfoKHR.public static final int CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR
param_name parameter of GetKernelSubGroupInfoKHR.public static int nclGetKernelSubGroupInfoKHR(long kernel,
long device,
int param_name,
long input_value_size,
long input_value,
long param_value_size,
long param_value,
long param_value_size_ret)
GetKernelSubGroupInfoKHRinput_value_size - specifies the size in bytes of memory pointed to by input_value. This size must be equal to the size of the input type.param_value_size - the size in bytes of memory pointed to by param_value. This size must be ≥ size of return type. If param_value is NULL, it is ignored.public static int clGetKernelSubGroupInfoKHR(long kernel,
long device,
int param_name,
java.nio.ByteBuffer input_value,
@Nullable
java.nio.ByteBuffer param_value,
@Nullable
org.lwjgl.PointerBuffer param_value_size_ret)
kernel - the kernel object being querieddevice - identifies a specific device in the list of devices associated with kernel. The list of devices is the list of devices in the OpenCL
context that is associated with kernel. If the list of devices associated with kernel is a single device, device can be a
NULL value.param_name - specifies the information to query. One of:KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR | KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR |
input_value - a pointer to memory where the appropriate parameterization of the query is passed from. If input_value is NULL it is ignored.param_value - a pointer to memory where the appropriate result being queried is returned. If param_value is NULL, it is ignored.param_value_size_ret - the actual size in bytes of data being queried by param_value. If NULL, it is ignored.public static int clGetKernelSubGroupInfoKHR(long kernel,
long device,
int param_name,
java.nio.ByteBuffer input_value,
@Nullable
org.lwjgl.PointerBuffer param_value,
@Nullable
org.lwjgl.PointerBuffer param_value_size_ret)
kernel - the kernel object being querieddevice - identifies a specific device in the list of devices associated with kernel. The list of devices is the list of devices in the OpenCL
context that is associated with kernel. If the list of devices associated with kernel is a single device, device can be a
NULL value.param_name - specifies the information to query. One of:KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR | KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR |
input_value - a pointer to memory where the appropriate parameterization of the query is passed from. If input_value is NULL it is ignored.param_value - a pointer to memory where the appropriate result being queried is returned. If param_value is NULL, it is ignored.param_value_size_ret - the actual size in bytes of data being queried by param_value. If NULL, it is ignored.Copyright LWJGL. All Rights Reserved. License terms.