Package foundry.veil.api.opencl
Record Class VeilOpenCL.DeviceInfo
java.lang.Object
java.lang.Record
foundry.veil.api.opencl.VeilOpenCL.DeviceInfo
- Record Components:
platform
- The platform this device is onid
- The id of this devicecapabilities
- The capabilities of this devicetype
- The OpenCL device typevendorId
- A unique device vendor identifiermaxComputeUnits
- The number of parallel compute units on the OpenCL device. A work-group executes on a single compute unit. The minimum value is 1maxWorkItemDimensions
- Maximum dimensions that specify the global and local work-item IDs used by the data parallel execution model. (Refer toclEnqueueNDRangeKernel
)maxWorkGroupSize
- Maximum number of work-items in a work-group that a device is capable of executing on a single compute unit, for any given kernel-instance running on the devicemaxMemAllocSize
- Max size of memory object allocation in bytesmaxClockFrequency
- Maximum configured clock frequency of the device in MHzaddressBits
- The default compute device address space size of the global address space specified as an unsigned integer value in bits. Currently supported values are 32 or 64 bitsavailable
- If this device is able to execute commands sent to itcompilerAvailable
- If this device has a compiler available to compile program sourcerequireManualInteropSync
- If this requires the user to manually sync data when using CL/GL interoperabilityname
- Device name stringvendor
- Vendor name stringdriverVersion
- OpenCL software driver version string. Follows a vendor-specific formatprofile
- The profile name supported by the deviceversion
- The OpenCL version supported by the deviceopenclCVersion
- OpenCL C version string ornull
if not supported
- Enclosing class:
VeilOpenCL
public static record VeilOpenCL.DeviceInfo(long platform, long id, org.lwjgl.opencl.CLCapabilities capabilities, long type, int vendorId, int maxComputeUnits, int maxWorkItemDimensions, long maxWorkGroupSize, long maxMemAllocSize, int maxClockFrequency, int addressBits, boolean available, boolean compilerAvailable, boolean requireManualInteropSync, String name, String vendor, String driverVersion, String profile, String version, @Nullable String openclCVersion)
extends Record
Information about a device on an OpenCL platform.
-
Constructor Summary
ConstructorDescriptionDeviceInfo
(long platform, long id, org.lwjgl.opencl.CLCapabilities capabilities, long type, int vendorId, int maxComputeUnits, int maxWorkItemDimensions, long maxWorkGroupSize, long maxMemAllocSize, int maxClockFrequency, int addressBits, boolean available, boolean compilerAvailable, boolean requireManualInteropSync, String name, String vendor, String driverVersion, String profile, String version, @Nullable String openclCVersion) Creates an instance of aDeviceInfo
record class. -
Method Summary
Modifier and TypeMethodDescriptionint
Returns the value of theaddressBits
record component.boolean
Returns the value of theavailable
record component.org.lwjgl.opencl.CLCapabilities
Returns the value of thecapabilities
record component.boolean
Returns the value of thecompilerAvailable
record component.static VeilOpenCL.DeviceInfo
create
(long device, org.lwjgl.opencl.CLCapabilities platformCapabilities) Returns the value of thedriverVersion
record component.final boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.long
id()
Returns the value of theid
record component.boolean
Dedicated OpenCL accelerators (for example the IBM CELL Blade).boolean
isCpu()
An OpenCL device that is the host processor.boolean
The default OpenCL device in the system.boolean
isGpu()
An OpenCL device that is a GPU.int
Returns the value of themaxClockFrequency
record component.int
Returns the value of themaxComputeUnits
record component.long
Returns the value of themaxMemAllocSize
record component.long
Returns the value of themaxWorkGroupSize
record component.int
Returns the value of themaxWorkItemDimensions
record component.name()
Returns the value of thename
record component.@Nullable String
Returns the value of theopenclCVersion
record component.long
platform()
Returns the value of theplatform
record component.profile()
Returns the value of theprofile
record component.boolean
Returns the value of therequireManualInteropSync
record component.final String
toString()
Returns a string representation of this record class.long
type()
Returns the value of thetype
record component.vendor()
Returns the value of thevendor
record component.int
vendorId()
Returns the value of thevendorId
record component.version()
Returns the value of theversion
record component.
-
Constructor Details
-
DeviceInfo
public DeviceInfo(long platform, long id, org.lwjgl.opencl.CLCapabilities capabilities, long type, int vendorId, int maxComputeUnits, int maxWorkItemDimensions, long maxWorkGroupSize, long maxMemAllocSize, int maxClockFrequency, int addressBits, boolean available, boolean compilerAvailable, boolean requireManualInteropSync, String name, String vendor, String driverVersion, String profile, String version, @Nullable @Nullable String openclCVersion) Creates an instance of aDeviceInfo
record class.- Parameters:
platform
- the value for theplatform
record componentid
- the value for theid
record componentcapabilities
- the value for thecapabilities
record componenttype
- the value for thetype
record componentvendorId
- the value for thevendorId
record componentmaxComputeUnits
- the value for themaxComputeUnits
record componentmaxWorkItemDimensions
- the value for themaxWorkItemDimensions
record componentmaxWorkGroupSize
- the value for themaxWorkGroupSize
record componentmaxMemAllocSize
- the value for themaxMemAllocSize
record componentmaxClockFrequency
- the value for themaxClockFrequency
record componentaddressBits
- the value for theaddressBits
record componentavailable
- the value for theavailable
record componentcompilerAvailable
- the value for thecompilerAvailable
record componentrequireManualInteropSync
- the value for therequireManualInteropSync
record componentname
- the value for thename
record componentvendor
- the value for thevendor
record componentdriverVersion
- the value for thedriverVersion
record componentprofile
- the value for theprofile
record componentversion
- the value for theversion
record componentopenclCVersion
- the value for theopenclCVersion
record component
-
-
Method Details
-
create
public static VeilOpenCL.DeviceInfo create(long device, org.lwjgl.opencl.CLCapabilities platformCapabilities) throws CLException - Throws:
CLException
-
isCpu
public boolean isCpu()An OpenCL device that is the host processor. The host processor runs the OpenCL implementations and is a single or multi-core CPU -
isGpu
public boolean isGpu()An OpenCL device that is a GPU. By this we mean that the device can also be used to accelerate a 3D API such as OpenGL or DirectX -
isAccelerator
public boolean isAccelerator()Dedicated OpenCL accelerators (for example the IBM CELL Blade). These devices communicate with the host processor using a peripheral interconnect such as PCIe. -
isDefault
public boolean isDefault()The default OpenCL device in the system. The default device cannot be a CL_DEVICE_TYPE_CUSTOM device. -
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object)
; primitive components are compared with '=='. -
platform
public long platform()Returns the value of theplatform
record component.- Returns:
- the value of the
platform
record component
-
id
public long id()Returns the value of theid
record component.- Returns:
- the value of the
id
record component
-
capabilities
public org.lwjgl.opencl.CLCapabilities capabilities()Returns the value of thecapabilities
record component.- Returns:
- the value of the
capabilities
record component
-
type
public long type()Returns the value of thetype
record component.- Returns:
- the value of the
type
record component
-
vendorId
public int vendorId()Returns the value of thevendorId
record component.- Returns:
- the value of the
vendorId
record component
-
maxComputeUnits
public int maxComputeUnits()Returns the value of themaxComputeUnits
record component.- Returns:
- the value of the
maxComputeUnits
record component
-
maxWorkItemDimensions
public int maxWorkItemDimensions()Returns the value of themaxWorkItemDimensions
record component.- Returns:
- the value of the
maxWorkItemDimensions
record component
-
maxWorkGroupSize
public long maxWorkGroupSize()Returns the value of themaxWorkGroupSize
record component.- Returns:
- the value of the
maxWorkGroupSize
record component
-
maxMemAllocSize
public long maxMemAllocSize()Returns the value of themaxMemAllocSize
record component.- Returns:
- the value of the
maxMemAllocSize
record component
-
maxClockFrequency
public int maxClockFrequency()Returns the value of themaxClockFrequency
record component.- Returns:
- the value of the
maxClockFrequency
record component
-
addressBits
public int addressBits()Returns the value of theaddressBits
record component.- Returns:
- the value of the
addressBits
record component
-
available
public boolean available()Returns the value of theavailable
record component.- Returns:
- the value of the
available
record component
-
compilerAvailable
public boolean compilerAvailable()Returns the value of thecompilerAvailable
record component.- Returns:
- the value of the
compilerAvailable
record component
-
requireManualInteropSync
public boolean requireManualInteropSync()Returns the value of therequireManualInteropSync
record component.- Returns:
- the value of the
requireManualInteropSync
record component
-
name
Returns the value of thename
record component.- Returns:
- the value of the
name
record component
-
vendor
Returns the value of thevendor
record component.- Returns:
- the value of the
vendor
record component
-
driverVersion
Returns the value of thedriverVersion
record component.- Returns:
- the value of the
driverVersion
record component
-
profile
Returns the value of theprofile
record component.- Returns:
- the value of the
profile
record component
-
version
Returns the value of theversion
record component.- Returns:
- the value of the
version
record component
-
openclCVersion
Returns the value of theopenclCVersion
record component.- Returns:
- the value of the
openclCVersion
record component
-