TOpenCLDevice Class

type TOpenCLDevice = class;

Stores data and information associated with the Open CL computing device.

The object holds all information describing the properties of the device, programs, command queues and cache (buffer objects). To use the device we first define the size of the Cache and load the Programs. Then we can access Kernels which can be enqueued to Command queues.

Properties

NameTypeDescription
AddressBitsIntegerThe default compute device address space size specified as an unsigned integer value in bits. Currently supported values are 32 or 64 bits.
AMDInfoTAMDDeviceInfoHolds AMD specific device information.
AvailableBooleanReturns true, if the device is available for use.
ByteAddressableStoreBooleanReturns true for Open CL v1.1.
CacheTOpenCLCacheThe Cache object holds a list of TOpenCLVector and TOpenCLMatrix objects.
CommandQueueTOpenCLCommandQueueListThe list of available command queues. There is always at least one queue.
CompilerAvailableBooleanReturns true, if the Open CL driver has a compiler included.
D3D10SharingBooleanIf true then interoperability between OpenCL and Direct3D 10 is supported.
DeviceIDNativeIntReturns the Device ID assigned to the device by Open CL driver.
DeviceIndexIntegerReturns the index of the device in the list of devices for the platform.
DevicePlatformTOpenCLPlatformReturns the platform of the device.
DeviceProfilestringOpenCL profile string.
DeviceVersionstringReturns the device version.
DriverVersionstringReturns the Open CL driver version.
ErrorCorrectionSupportBooleanReturns true, if global memory uses ECC.
ExecutionCapabilityNativeBooleanReturns true, if the driver can execute native (not Open CL) kernels.
ExtensionsTStringListHolds a list of extension names supported by the device.
FP16BooleanReturns true if 16bit half precision floating point math is supported on the device.
FP64BooleanReturns true if 64bit double precision floating point math is supported on the device.
FPDoubleInfoTFPInfoHolds information about double precision floating point math.
FPHalfInfoTFPInfoHolds information about half precision floating point math.
FPSingleInfoTFPInfoHolds information about single precision floating point math.
GlobalMemCachelineSizeIntegerReturns global memory cache line size in Bytes.
GLobalMemCacheSizeInt64Returns global memory cache size in KBytes.
GlobalMemSizeInt64Size of global device memory in KBytes.
GLSharingBooleanCreating CL context from a GL context or share group is supported, if this property returns true.
Image2DMaxHeightIntegerMax height of 2D image in pixels.
Image2DMaxWidthIntegerMax width of 2D image in pixels.
Image3DMaxDepthIntegerMax depth of 3D image in pixels.
Image3DMaxHeightIntegerMax height of 3D image in pixels.
Image3DMaxWidthIntegerMax width of 3D image in pixels.
ImageSupportBooleanReturns true, if immages are supported by the device.
IsAccTypeBooleanReturns true if the device is of Accelerator type.
IsCpuTypeBooleanReturns true if the device is of CPU type.
IsDefaultBooleanReturns true if the device is of the default type.
IsGpuTypeBooleanReturns true if the device is of GPU type.
KernelsTOpenCLKernelListThe kernel list holds the list of kernels (Open CL functions) that are available.
LocalMemSizeInt64Returns the size of local memory (if present) in Bytes.
LocalMemTypeTLocalMemTypeReturns lmtLocal, if dedicated local memory storage is available. Returns lmtGlobal oterwhise.
MaxClockFrequencyIntegerMaximum configured clock frequency of the device in MHz.
MaxComputeUnitsIntegerReturns the number of parallel compute units on the OpenCL device.
MaxConstantBufferSizeInt64Returns the size of constant memory in Bytes.
MaxMemAllocSizeInt64Max size of memory object allocation in KBytes.
MaxParameterSizeIntegerReturns maximum size of the parameter in bytes.
MaxReadImageArgsIntegerMax number of simultaneous image objects that can be read by a kernel.
MaxSamplersIntegerMaximum number of samplers that can be used in a kernel.
MaxWorkGroupSizeIntegerMaximum number of work-items in a work-group executing a kernel on a single compute unit, using the data parallel execution model.
MaxWorkItemDimensionsIntegerMaximum dimensions that specify the global and local work-item IDs used by the data parallel execution model.
MaxWriteImageArgsIntegerMax number of simultaneous image objects that can be written by a kernel.
MemBaseAddrAlignIntegerAllignment in bits of memory buffers.
MinDataTypeAlignSizeIntegerMinimum data alignment size.
NamestringReturns the name of the device.
NativeCPUBooleanIf true, application will run optimal CPU code without Open CL when this device will be the target .
NVInfoTNVDeviceInfoHolds NVidia specific device information.
OpenCLVersionIntegerReturns Open CL Version.
PlatformIndexIntegerReturns the index of the platform in the list of platforms.
PreferredVectorWidthCharIntegerReturns preffered vector width for Open CL char type.
PreferredVectorWidthDoubleIntegerReturns preffered vector width for Open CL double type.
PreferredVectorWidthFloatIntegerReturns preffered vector width for Open CL float type.
PreferredVectorWidthIntIntegerReturns preffered vector width for Open CL int type.
PreferredVectorWidthLongIntegerReturns preffered vector width for Open CL long type.
PreferredVectorWidthShortIntegerReturns preffered vector width for Open CL short type.
ProfilingTimerResolutionIntegerDescribes the resolution of device timer. This is measured in nanoseconds.
ProgramsTOpenCLProgramListThe program list holds the list of compiled Open CL programs.
QueueImmediateExecutionBooleanIf true, the commands queued in the command-queue can be executed within the callers thread when the clEnqueue* is called.
QueueOutOfOrderExecBooleanIf true, the commands queued in the command-queue can be executed in-order or out-oforder.
QueueProfilingBooleanIf true, command queues support profiling.
VendorstringReturns the name of the Vendor.
VendorIDInt64Returns the value of the Vendor ID.

Methods

NameDescription
GetMaxWorkItemSizesMaximum number of work-items that can be specified in each dimension of the work-group.