Package org.lwjgl.opencl
Class EXTDeviceFission
- java.lang.Object
-
- org.lwjgl.opencl.EXTDeviceFission
-
public class EXTDeviceFission extends java.lang.Object
Native bindings to the ext_device_fission extension.This extension provides an interface for sub-dividing an OpenCL device into multiple sub-devices. There are a number of cases in which a typical user would like to subdivide a device:
- To reserve part of the device for use for high priority / latency-sensitive tasks
- To more directly control the assignment of work to individual compute units
- To subdivide compute devices along some shared hardware feature like a cache
Typically these are areas where some level of additional control is required to get optimal performance beyond that provided by standard OpenCL 1.1 APIs. Proper use of this interface assumes some detailed knowledge of the devices in question.
-
-
Field Summary
Fields Modifier and Type Field Description static int
CL_AFFINITY_DOMAIN_L1_CACHE_EXT
CL_AFFINITY_DOMAIN_L2_CACHE_EXT
CL_AFFINITY_DOMAIN_L3_CACHE_EXT
CL_AFFINITY_DOMAIN_L4_CACHE_EXT
CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT
CL_AFFINITY_DOMAIN_NUMA_EXTAccepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.static int
CL_DEVICE_AFFINITY_DOMAINS_EXT
CL_DEVICE_PARENT_DEVICE_EXT
CL_DEVICE_PARITION_TYPES_EXTAccepted as a property being queried in theparam_name
argument of clGetDeviceInfo.static int
CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT
CL_DEVICE_PARTITION_BY_COUNTS_EXT
CL_DEVICE_PARTITION_BY_NAMES_EXT
CL_DEVICE_PARTITION_EQUALLY_EXTAccepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.static int
CL_DEVICE_PARTITION_FAILED_EXT
Returned by clCreateSubDevicesEXT when the indicated partition scheme is supported by the implementation, but the implementation can not further partition the device in this way.static int
CL_DEVICE_PARTITION_STYLE_EXT
CL_DEVICE_REFERENCE_COUNT_EXTAccepted as a property being queried in theparam_name
argument of clGetDeviceInfo.static int
CL_INVALID_PARTITION_COUNT_EXT
Returned by clCreateSubDevicesEXT when the total number of compute units requested exceeds CL_DEVICE_MAX_COMPUTE_UNITS, or the number of compute units for any one sub-device is less than 1.static int
CL_INVALID_PARTITION_NAME_EXT
Returned by clCreateSubDevicesEXT when a compute unit name appearing in a name list following CL_DEVICE_PARTITION_BY_NAMES_EXT is not in range.static int
CL_PARTITION_BY_COUNTS_LIST_END_EXT
Accepted as the partition counts list terminator in theproperties
parameter of clCreateSubDeviceEXT.static int
CL_PARTITION_BY_NAMES_LIST_END_EXT
Accepted as the partition names list terminator in theproperties
parameter of clCreateSubDeviceEXT.static int
CL_PROPERTIES_LIST_END_EXT
Accepted as the property list terminator in theproperties
parameter of clCreateSubDeviceEXT.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
clCreateSubDevicesEXT(long in_device, long[] properties, org.lwjgl.PointerBuffer out_devices, int[] num_devices)
Array version of:CreateSubDevicesEXT
static int
clCreateSubDevicesEXT(long in_device, java.nio.LongBuffer properties, org.lwjgl.PointerBuffer out_devices, java.nio.IntBuffer num_devices)
static int
clReleaseDeviceEXT(long device)
static int
clRetainDeviceEXT(long device)
static int
nclCreateSubDevicesEXT(long in_device, long properties, int num_entries, long out_devices, long num_devices)
-
-
-
Field Detail
-
CL_DEVICE_PARTITION_EQUALLY_EXT, CL_DEVICE_PARTITION_BY_COUNTS_EXT, CL_DEVICE_PARTITION_BY_NAMES_EXT, CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT
Accepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.
-
CL_AFFINITY_DOMAIN_L1_CACHE_EXT, CL_AFFINITY_DOMAIN_L2_CACHE_EXT, CL_AFFINITY_DOMAIN_L3_CACHE_EXT, CL_AFFINITY_DOMAIN_L4_CACHE_EXT, CL_AFFINITY_DOMAIN_NUMA_EXT, CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT
Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.
-
CL_DEVICE_PARENT_DEVICE_EXT, CL_DEVICE_PARITION_TYPES_EXT, CL_DEVICE_AFFINITY_DOMAINS_EXT, CL_DEVICE_REFERENCE_COUNT_EXT, CL_DEVICE_PARTITION_STYLE_EXT
Accepted as a property being queried in theparam_name
argument of clGetDeviceInfo.
-
CL_PROPERTIES_LIST_END_EXT
Accepted as the property list terminator in theproperties
parameter of clCreateSubDeviceEXT.
-
CL_PARTITION_BY_COUNTS_LIST_END_EXT
Accepted as the partition counts list terminator in theproperties
parameter of clCreateSubDeviceEXT.
-
CL_PARTITION_BY_NAMES_LIST_END_EXT
Accepted as the partition names list terminator in theproperties
parameter of clCreateSubDeviceEXT.
-
CL_DEVICE_PARTITION_FAILED_EXT
Returned by clCreateSubDevicesEXT when the indicated partition scheme is supported by the implementation, but the implementation can not further partition the device in this way.
-
CL_INVALID_PARTITION_COUNT_EXT
Returned by clCreateSubDevicesEXT when the total number of compute units requested exceeds CL_DEVICE_MAX_COMPUTE_UNITS, or the number of compute units for any one sub-device is less than 1.
-
CL_INVALID_PARTITION_NAME_EXT
Returned by clCreateSubDevicesEXT when a compute unit name appearing in a name list following CL_DEVICE_PARTITION_BY_NAMES_EXT is not in range.
-
-
Method Detail
-
clReleaseDeviceEXT
public static int clReleaseDeviceEXT(long device)
-
clRetainDeviceEXT
public static int clRetainDeviceEXT(long device)
-
nclCreateSubDevicesEXT
public static int nclCreateSubDevicesEXT(long in_device, long properties, int num_entries, long out_devices, long num_devices)
-
clCreateSubDevicesEXT
public static int clCreateSubDevicesEXT(long in_device, java.nio.LongBuffer properties, @Nullable org.lwjgl.PointerBuffer out_devices, @Nullable java.nio.IntBuffer num_devices)
-
clCreateSubDevicesEXT
public static int clCreateSubDevicesEXT(long in_device, long[] properties, @Nullable org.lwjgl.PointerBuffer out_devices, @Nullable int[] num_devices)
Array version of:CreateSubDevicesEXT
-
-