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 ornullif 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
ConstructorsConstructorDescriptionDeviceInfo(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 aDeviceInforecord class. -
Method Summary
Modifier and TypeMethodDescriptionintReturns the value of theaddressBitsrecord component.booleanReturns the value of theavailablerecord component.org.lwjgl.opencl.CLCapabilitiesReturns the value of thecapabilitiesrecord component.booleanReturns the value of thecompilerAvailablerecord component.static VeilOpenCL.DeviceInfocreate(long device, org.lwjgl.opencl.CLCapabilities platformCapabilities) Returns the value of thedriverVersionrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.longid()Returns the value of theidrecord component.booleanDedicated OpenCL accelerators (for example the IBM CELL Blade).booleanisCpu()An OpenCL device that is the host processor.booleanThe default OpenCL device in the system.booleanisGpu()An OpenCL device that is a GPU.intReturns the value of themaxClockFrequencyrecord component.intReturns the value of themaxComputeUnitsrecord component.longReturns the value of themaxMemAllocSizerecord component.longReturns the value of themaxWorkGroupSizerecord component.intReturns the value of themaxWorkItemDimensionsrecord component.name()Returns the value of thenamerecord component.@Nullable StringReturns the value of theopenclCVersionrecord component.longplatform()Returns the value of theplatformrecord component.profile()Returns the value of theprofilerecord component.booleanReturns the value of therequireManualInteropSyncrecord component.final StringtoString()Returns a string representation of this record class.longtype()Returns the value of thetyperecord component.vendor()Returns the value of thevendorrecord component.intvendorId()Returns the value of thevendorIdrecord component.version()Returns the value of theversionrecord 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 aDeviceInforecord class.- Parameters:
platform- the value for theplatformrecord componentid- the value for theidrecord componentcapabilities- the value for thecapabilitiesrecord componenttype- the value for thetyperecord componentvendorId- the value for thevendorIdrecord componentmaxComputeUnits- the value for themaxComputeUnitsrecord componentmaxWorkItemDimensions- the value for themaxWorkItemDimensionsrecord componentmaxWorkGroupSize- the value for themaxWorkGroupSizerecord componentmaxMemAllocSize- the value for themaxMemAllocSizerecord componentmaxClockFrequency- the value for themaxClockFrequencyrecord componentaddressBits- the value for theaddressBitsrecord componentavailable- the value for theavailablerecord componentcompilerAvailable- the value for thecompilerAvailablerecord componentrequireManualInteropSync- the value for therequireManualInteropSyncrecord componentname- the value for thenamerecord componentvendor- the value for thevendorrecord componentdriverVersion- the value for thedriverVersionrecord componentprofile- the value for theprofilerecord componentversion- the value for theversionrecord componentopenclCVersion- the value for theopenclCVersionrecord 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 theplatformrecord component.- Returns:
- the value of the
platformrecord component
-
id
public long id()Returns the value of theidrecord component.- Returns:
- the value of the
idrecord component
-
capabilities
public org.lwjgl.opencl.CLCapabilities capabilities()Returns the value of thecapabilitiesrecord component.- Returns:
- the value of the
capabilitiesrecord component
-
type
public long type()Returns the value of thetyperecord component.- Returns:
- the value of the
typerecord component
-
vendorId
public int vendorId()Returns the value of thevendorIdrecord component.- Returns:
- the value of the
vendorIdrecord component
-
maxComputeUnits
public int maxComputeUnits()Returns the value of themaxComputeUnitsrecord component.- Returns:
- the value of the
maxComputeUnitsrecord component
-
maxWorkItemDimensions
public int maxWorkItemDimensions()Returns the value of themaxWorkItemDimensionsrecord component.- Returns:
- the value of the
maxWorkItemDimensionsrecord component
-
maxWorkGroupSize
public long maxWorkGroupSize()Returns the value of themaxWorkGroupSizerecord component.- Returns:
- the value of the
maxWorkGroupSizerecord component
-
maxMemAllocSize
public long maxMemAllocSize()Returns the value of themaxMemAllocSizerecord component.- Returns:
- the value of the
maxMemAllocSizerecord component
-
maxClockFrequency
public int maxClockFrequency()Returns the value of themaxClockFrequencyrecord component.- Returns:
- the value of the
maxClockFrequencyrecord component
-
addressBits
public int addressBits()Returns the value of theaddressBitsrecord component.- Returns:
- the value of the
addressBitsrecord component
-
available
public boolean available()Returns the value of theavailablerecord component.- Returns:
- the value of the
availablerecord component
-
compilerAvailable
public boolean compilerAvailable()Returns the value of thecompilerAvailablerecord component.- Returns:
- the value of the
compilerAvailablerecord component
-
requireManualInteropSync
public boolean requireManualInteropSync()Returns the value of therequireManualInteropSyncrecord component.- Returns:
- the value of the
requireManualInteropSyncrecord component
-
name
Returns the value of thenamerecord component.- Returns:
- the value of the
namerecord component
-
vendor
Returns the value of thevendorrecord component.- Returns:
- the value of the
vendorrecord component
-
driverVersion
Returns the value of thedriverVersionrecord component.- Returns:
- the value of the
driverVersionrecord component
-
profile
Returns the value of theprofilerecord component.- Returns:
- the value of the
profilerecord component
-
version
Returns the value of theversionrecord component.- Returns:
- the value of the
versionrecord component
-
openclCVersion
Returns the value of theopenclCVersionrecord component.- Returns:
- the value of the
openclCVersionrecord component
-