Class 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:

    1. To reserve part of the device for use for high priority / latency-sensitive tasks
    2. To more directly control the assignment of work to individual compute units
    3. 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 Detail

      • CL_DEVICE_PARTITION_EQUALLY_EXT

        public static final int CL_DEVICE_PARTITION_EQUALLY_EXT
        Accepted as a property name in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_DEVICE_PARTITION_BY_COUNTS_EXT

        public static final int CL_DEVICE_PARTITION_BY_COUNTS_EXT
        Accepted as a property name in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_DEVICE_PARTITION_BY_NAMES_EXT

        public static final int CL_DEVICE_PARTITION_BY_NAMES_EXT
        Accepted as a property name in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT

        public static final int CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT
        Accepted as a property name in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_AFFINITY_DOMAIN_L1_CACHE_EXT

        public static final int CL_AFFINITY_DOMAIN_L1_CACHE_EXT
        Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_AFFINITY_DOMAIN_L2_CACHE_EXT

        public static final int CL_AFFINITY_DOMAIN_L2_CACHE_EXT
        Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_AFFINITY_DOMAIN_L3_CACHE_EXT

        public static final int CL_AFFINITY_DOMAIN_L3_CACHE_EXT
        Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_AFFINITY_DOMAIN_L4_CACHE_EXT

        public static final int CL_AFFINITY_DOMAIN_L4_CACHE_EXT
        Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_AFFINITY_DOMAIN_NUMA_EXT

        public static final int CL_AFFINITY_DOMAIN_NUMA_EXT
        Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT

        public static final int CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT
        Accepted as a property name, when accompanying the CL_DEVICE_PARITION_BY_AFFINITY_DOMAIN_EXT property, in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_DEVICE_PARENT_DEVICE_EXT

        public static final int CL_DEVICE_PARENT_DEVICE_EXT
        Accepted as a property being queried in the param_name argument of clGetDeviceInfo.
        See Also:
        Constant Field Values
      • CL_DEVICE_PARITION_TYPES_EXT

        public static final int CL_DEVICE_PARITION_TYPES_EXT
        Accepted as a property being queried in the param_name argument of clGetDeviceInfo.
        See Also:
        Constant Field Values
      • CL_DEVICE_AFFINITY_DOMAINS_EXT

        public static final int CL_DEVICE_AFFINITY_DOMAINS_EXT
        Accepted as a property being queried in the param_name argument of clGetDeviceInfo.
        See Also:
        Constant Field Values
      • CL_DEVICE_REFERENCE_COUNT_EXT

        public static final int CL_DEVICE_REFERENCE_COUNT_EXT
        Accepted as a property being queried in the param_name argument of clGetDeviceInfo.
        See Also:
        Constant Field Values
      • CL_DEVICE_PARTITION_STYLE_EXT

        public static final int CL_DEVICE_PARTITION_STYLE_EXT
        Accepted as a property being queried in the param_name argument of clGetDeviceInfo.
        See Also:
        Constant Field Values
      • CL_PROPERTIES_LIST_END_EXT

        public static final int CL_PROPERTIES_LIST_END_EXT
        Accepted as the property list terminator in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_PARTITION_BY_COUNTS_LIST_END_EXT

        public static final int CL_PARTITION_BY_COUNTS_LIST_END_EXT
        Accepted as the partition counts list terminator in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_PARTITION_BY_NAMES_LIST_END_EXT

        public static final int CL_PARTITION_BY_NAMES_LIST_END_EXT
        Accepted as the partition names list terminator in the properties parameter of clCreateSubDeviceEXT.
        See Also:
        Constant Field Values
      • CL_DEVICE_PARTITION_FAILED_EXT

        public static final 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.
        See Also:
        Constant Field Values
      • CL_INVALID_PARTITION_COUNT_EXT

        public static final 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.
        See Also:
        Constant Field Values
      • CL_INVALID_PARTITION_NAME_EXT

        public static final 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.
        See Also:
        Constant Field Values
    • Method Detail

      • clReleaseDeviceEXT

        public static int clReleaseDeviceEXT(long device)
      • clRetainDeviceEXT

        public static int clRetainDeviceEXT(long device)
      • clCreateSubDevicesEXT

        public static int clCreateSubDevicesEXT(long in_device,
                                                java.nio.LongBuffer properties,
                                                PointerBuffer out_devices,
                                                java.nio.IntBuffer num_devices)
      • clCreateSubDevicesEXT

        public static int clCreateSubDevicesEXT(long in_device,
                                                long[] properties,
                                                PointerBuffer out_devices,
                                                int[] num_devices)
        Array version of: CreateSubDevicesEXT