TOpenCLDevice Class

Source: clMtxVec.cs · Assembly: Dew.Math

public class TOpenCLDevice

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
AddressBitsInt32The 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 Dew.Math.TOpenCLVector and Dew.Math.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.
DeviceIDIntPtrReturns the Device ID assigned to the device by Open CL driver.
DeviceIndexInt32Returns 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.
GlobalMemCachelineSizeInt32Returns 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.
Image2DMaxHeightInt32Max height of 2D image in pixels.
Image2DMaxWidthInt32Max width of 2D image in pixels.
Image3DMaxDepthInt32Max depth of 3D image in pixels.
Image3DMaxHeightInt32Max height of 3D image in pixels.
Image3DMaxWidthInt32Max 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.
MaxClockFrequencyInt32Maximum configured clock frequency of the device in MHz.
MaxComputeUnitsInt32Returns 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.
MaxParameterSizeInt32Returns maximum size of the parameter in bytes.
MaxReadImageArgsInt32Max number of simultaneous image objects that can be read by a kernel.
MaxSamplersInt32Maximum number of samplers that can be used in a kernel.
MaxWorkGroupSizeInt32Maximum number of work-items in a work-group executing a kernel on a single compute unit, using the data parallel execution model.
MaxWorkItemDimensionsInt32Maximum dimensions that specify the global and local work-item IDs used by the data parallel execution model.
MaxWriteImageArgsInt32Max number of simultaneous image objects that can be written by a kernel.
MemBaseAddrAlignInt32Allignment in bits of memory buffers.
MinDataTypeAlignSizeInt32Minimum 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.
OpenCLVersionInt32Returns Open CL Version.
PlatformIndexInt32Returns the index of the platform in the list of platforms.
PreferredVectorWidthCharInt32Returns preffered vector width for Open CL char type.
PreferredVectorWidthDoubleInt32Returns preffered vector width for Open CL double type.
PreferredVectorWidthFloatInt32Returns preffered vector width for Open CL float type.
PreferredVectorWidthIntInt32Returns preffered vector width for Open CL int type.
PreferredVectorWidthLongInt32Returns preffered vector width for Open CL long type.
PreferredVectorWidthShortInt32Returns preffered vector width for Open CL short type.
ProfilingTimerResolutionInt32Describes 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.