Package org.lwjgl.opencl
Class EXTDeviceFission
java.lang.Object
org.lwjgl.opencl.EXTDeviceFission
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
Modifier and TypeFieldDescriptionstatic final int
Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as a property being queried in theparam_name
argument of clGetDeviceInfo.static final int
Accepted as a property being queried in theparam_name
argument of clGetDeviceInfo.static final int
Accepted as a property being queried in theparam_name
argument of clGetDeviceInfo.static final int
Accepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.static final int
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 final int
Accepted as a property being queried in theparam_name
argument of clGetDeviceInfo.static final int
Accepted as a property being queried in theparam_name
argument of clGetDeviceInfo.static final int
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 final int
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 final int
Accepted as the partition counts list terminator in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as the partition names list terminator in theproperties
parameter of clCreateSubDeviceEXT.static final int
Accepted as the property list terminator in theproperties
parameter of clCreateSubDeviceEXT. -
Method Summary
Modifier and TypeMethodDescriptionstatic int
clCreateSubDevicesEXT
(long in_device, long[] properties, PointerBuffer out_devices, int[] num_devices) Array version of:CreateSubDevicesEXT
static int
clCreateSubDevicesEXT
(long in_device, LongBuffer properties, PointerBuffer out_devices, 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 Details
-
CL_DEVICE_PARTITION_EQUALLY_EXT
public static final int CL_DEVICE_PARTITION_EQUALLY_EXTAccepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_DEVICE_PARTITION_BY_COUNTS_EXT
public static final int CL_DEVICE_PARTITION_BY_COUNTS_EXTAccepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_DEVICE_PARTITION_BY_NAMES_EXT
public static final int CL_DEVICE_PARTITION_BY_NAMES_EXTAccepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT
public static final int CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXTAccepted as a property name in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_AFFINITY_DOMAIN_L1_CACHE_EXT
public static final int CL_AFFINITY_DOMAIN_L1_CACHE_EXTAccepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_AFFINITY_DOMAIN_L2_CACHE_EXT
public static final int CL_AFFINITY_DOMAIN_L2_CACHE_EXTAccepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_AFFINITY_DOMAIN_L3_CACHE_EXT
public static final int CL_AFFINITY_DOMAIN_L3_CACHE_EXTAccepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_AFFINITY_DOMAIN_L4_CACHE_EXT
public static final int CL_AFFINITY_DOMAIN_L4_CACHE_EXTAccepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_AFFINITY_DOMAIN_NUMA_EXT
public static final int 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.- See Also:
-
CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT
public static final int CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXTAccepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_DEVICE_PARENT_DEVICE_EXT
public static final int CL_DEVICE_PARENT_DEVICE_EXTAccepted as a property being queried in theparam_name
argument of clGetDeviceInfo.- See Also:
-
CL_DEVICE_PARITION_TYPES_EXT
public static final int CL_DEVICE_PARITION_TYPES_EXTAccepted as a property being queried in theparam_name
argument of clGetDeviceInfo.- See Also:
-
CL_DEVICE_AFFINITY_DOMAINS_EXT
public static final int CL_DEVICE_AFFINITY_DOMAINS_EXTAccepted as a property being queried in theparam_name
argument of clGetDeviceInfo.- See Also:
-
CL_DEVICE_REFERENCE_COUNT_EXT
public static final int CL_DEVICE_REFERENCE_COUNT_EXTAccepted as a property being queried in theparam_name
argument of clGetDeviceInfo.- See Also:
-
CL_DEVICE_PARTITION_STYLE_EXT
public static final int CL_DEVICE_PARTITION_STYLE_EXTAccepted as a property being queried in theparam_name
argument of clGetDeviceInfo.- See Also:
-
CL_PROPERTIES_LIST_END_EXT
public static final int CL_PROPERTIES_LIST_END_EXTAccepted as the property list terminator in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_PARTITION_BY_COUNTS_LIST_END_EXT
public static final int CL_PARTITION_BY_COUNTS_LIST_END_EXTAccepted as the partition counts list terminator in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_PARTITION_BY_NAMES_LIST_END_EXT
public static final int CL_PARTITION_BY_NAMES_LIST_END_EXTAccepted as the partition names list terminator in theproperties
parameter of clCreateSubDeviceEXT.- See Also:
-
CL_DEVICE_PARTITION_FAILED_EXT
public static final int CL_DEVICE_PARTITION_FAILED_EXTReturned by clCreateSubDevicesEXT when the indicated partition scheme is supported by the implementation, but the implementation can not further partition the device in this way.- See Also:
-
CL_INVALID_PARTITION_COUNT_EXT
public static final int CL_INVALID_PARTITION_COUNT_EXTReturned 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.- See Also:
-
CL_INVALID_PARTITION_NAME_EXT
public static final int CL_INVALID_PARTITION_NAME_EXTReturned by clCreateSubDevicesEXT when a compute unit name appearing in a name list following CL_DEVICE_PARTITION_BY_NAMES_EXT is not in range.- See Also:
-
-
Method Details
-
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, LongBuffer properties, @Nullable PointerBuffer out_devices, @Nullable IntBuffer num_devices) -
clCreateSubDevicesEXT
public static int clCreateSubDevicesEXT(long in_device, long[] properties, @Nullable PointerBuffer out_devices, @Nullable int[] num_devices) Array version of:CreateSubDevicesEXT
-