Cloo 0.9.1

- Main Page
- Packages
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Properties
Cloo.ComputeDevice Class Reference

Represents an OpenCL device. More...

Inheritance diagram for Cloo.ComputeDevice:

List of all members.

## Properties
CLDeviceHandle | Handle`[get, set]`
| The handle of the ComputeDevice.
long | AddressBits`[get]`
| Gets the default ComputeDevice address space size in bits.
bool | Available`[get]`
| Gets the availability state of the ComputeDevice.
ComputeCommandQueueFlags | CommandQueueFlags`[get]`
| Gets the ComputeCommandQueueFlags supported by the ComputeDevice.
bool | CompilerAvailable`[get]`
| Gets the availability state of the OpenCL compiler of the ComputeDevice.Platform.
string | DriverVersion`[get]`
| Gets the OpenCL software driver version string of the ComputeDevice.
bool | EndianLittle`[get]`
| Gets the endianness of the ComputeDevice.
bool | ErrorCorrectionSupport`[get]`
| Gets the error correction support state of the ComputeDevice.
ComputeDeviceExecutionCapabilities | ExecutionCapabilities`[get]`
| Gets the ComputeDeviceExecutionCapabilities of the ComputeDevice.
ReadOnlyCollection< string > | Extensions`[get]`
| Gets a read-only collection of names of extensions that the ComputeDevice supports.
long | GlobalMemoryCacheLineSize`[get]`
| Gets the size of the global ComputeDevice memory cache line in bytes.
long | GlobalMemoryCacheSize`[get]`
| Gets the size of the global ComputeDevice memory cache in bytes.
ComputeDeviceMemoryCacheType | GlobalMemoryCacheType`[get]`
| Gets the ComputeDeviceMemoryCacheType of the ComputeDevice.
long | GlobalMemorySize`[get]`
| Gets the size of the global ComputeDevice memory in bytes.
long | Image2DMaxHeight`[get]`
| Gets the maximum ComputeImage2D.Height value that the ComputeDevice supports in pixels.
long | Image2DMaxWidth`[get]`
| Gets the maximum ComputeImage2D.Width value that the ComputeDevice supports in pixels.
long | Image3DMaxDepth`[get]`
| Gets the maximum ComputeImage3D.Depth value that the ComputeDevice supports in pixels.
long | Image3DMaxHeight`[get]`
| Gets the maximum ComputeImage3D.Height value that the ComputeDevice supports in pixels.
long | Image3DMaxWidth`[get]`
| Gets the maximum ComputeImage3D.Width value that the ComputeDevice supports in pixels.
bool | ImageSupport`[get]`
| Gets the state of image support of the ComputeDevice.
long | LocalMemorySize`[get]`
| Gets the size of local memory are of the ComputeDevice in bytes.
ComputeDeviceLocalMemoryType | LocalMemoryType`[get]`
| Gets the ComputeDeviceLocalMemoryType that is supported on the ComputeDevice.
long | MaxClockFrequency`[get]`
| Gets the maximum configured clock frequency of the ComputeDevice in MHz.
long | MaxComputeUnits`[get]`
| Gets the number of parallel compute cores on the ComputeDevice.
long | MaxConstantArguments`[get]`
| Gets the maximum number of arguments declared with the `__constant` or `constant` qualifier in a ComputeKernel executing in the ComputeDevice.
long | MaxConstantBufferSize`[get]`
| Gets the maximum size in bytes of a constant buffer allocation in the ComputeDevice memory.
long | MaxMemoryAllocationSize`[get]`
| Gets the maximum size of memory object allocation in the ComputeDevice memory in bytes.
long | MaxParameterSize`[get]`
| Gets the maximum size in bytes of the arguments that can be passed to a ComputeKernel executing in the ComputeDevice.
long | MaxReadImageArguments`[get]`
| Gets the maximum number of simultaneous ComputeImages that can be read by a ComputeKernel executing in the ComputeDevice.
long | MaxSamplers`[get]`
| Gets the maximum number of ComputeSamplers that can be used in a ComputeKernel.
long | MaxWorkGroupSize`[get]`
| Gets the maximum number of work-items in a work-group executing a ComputeKernel in a ComputeDevice using the data parallel execution model.
long | MaxWorkItemDimensions`[get]`
| Gets the maximum number of dimensions that specify the global and local work-item IDs used by the data parallel execution model.
ReadOnlyCollection< long > | MaxWorkItemSizes`[get]`
| Gets the maximum number of work-items that can be specified in each dimension of the globalWorkSize argument of ComputeCommandQueue.Execute.
long | MaxWriteImageArguments`[get]`
| Gets the maximum number of simultaneous ComputeImages that can be written to by a ComputeKernel executing in the ComputeDevice.
long | MemoryBaseAddressAlignment`[get]`
| Gets the alignment in bits of the base address of any ComputeMemory allocated in the ComputeDevice memory.
long | MinDataTypeAlignmentSize`[get]`
| Gets the smallest alignment in bytes which can be used for any data type allocated in the ComputeDevice memory.
string | Name`[get]`
| Gets the name of the ComputeDevice.
ComputePlatform | Platform`[get]`
| Gets the ComputePlatform associated with the ComputeDevice.
long | PreferredVectorWidthChar`[get]`
| Gets the ComputeDevice's preferred native vector width size for vector of `char`s.
long | PreferredVectorWidthDouble`[get]`
| Gets the ComputeDevice's preferred native vector width size for vector of `double`s or 0 if the `cl_khr_fp64` format is not supported.
long | PreferredVectorWidthFloat`[get]`
| Gets the ComputeDevice's preferred native vector width size for vector of `float`s.
long | PreferredVectorWidthHalf`[get]`
| Gets the ComputeDevice's preferred native vector width size for vector of `half`s or 0 if the `cl_khr_fp16` format is not supported.
long | PreferredVectorWidthInt`[get]`
| Gets the ComputeDevice's preferred native vector width size for vector of `int`s.
long | PreferredVectorWidthLong`[get]`
| Gets the ComputeDevice's preferred native vector width size for vector of `long`s.
long | PreferredVectorWidthShort`[get]`
| Gets the ComputeDevice's preferred native vector width size for vector of `short`s.
string | Profile`[get]`
| Gets the OpenCL profile name supported by the ComputeDevice.
long | ProfilingTimerResolution`[get]`
| Gets the resolution of the ComputeDevice timer in nanoseconds.
ComputeDeviceSingleCapabilities | SingleCapabilites`[get]`
| Gets the ComputeDeviceSingleCapabilities of the ComputeDevice.
ComputeDeviceTypes | Type`[get]`
| Gets the ComputeDeviceTypes of the ComputeDevice.
string | Vendor`[get]`
| Gets the ComputeDevice vendor name string.
long | VendorId`[get]`
| Gets a unique ComputeDevice vendor identifier.
Version | Version`[get]`
| Gets the OpenCL version supported by the ComputeDevice.
string | VersionString`[get]`
| Gets the OpenCL version string supported by the ComputeDevice.
bool | HostUnifiedMemory`[get]`
| Gets information about the presence of the unified memory subsystem.
long | NativeVectorWidthChar`[get]`
| Gets the native ISA vector width size for vector of `char`s.
long | NativeVectorWidthDouble`[get]`
| Gets the native ISA vector width size for vector of `double`s or 0 if the `cl_khr_fp64` format is not supported.
long | NativeVectorWidthFloat`[get]`
| Gets the native ISA vector width size for vector of `float`s.
long | NativeVectorWidthHalf`[get]`
| Gets the native ISA vector width size for vector of `half`s or 0 if the `cl_khr_fp16` format is not supported.
long | NativeVectorWidthInt`[get]`
| Gets the native ISA vector width size for vector of `int`s.
long | NativeVectorWidthLong`[get]`
| Gets the native ISA vector width size for vector of `long`s.
long | NativeVectorWidthShort`[get]`
| Gets the native ISA vector width size for vector of `short`s.
Version | OpenCLCVersion`[get]`
| Gets the OpenCL C version supported by the ComputeDevice.
string | OpenCLCVersionString`[get]`
| Gets the OpenCL C version string supported by the ComputeDevice.

## Detailed Description

Represents an OpenCL device.

A device is a collection of compute units. A command queue is used to queue commands to a device. Examples of commands include executing kernels, or reading and writing memory objects. OpenCL devices typically correspond to a GPU, a multi-core CPU, and other processors such as DSPs and the Cell/B.E. processor.

See also:
  ComputeCommandQueue, ComputeKernel, ComputeMemory, ComputePlatform

## Property Documentation

long Cloo.ComputeDevice.AddressBits`[get]`

Gets the default ComputeDevice address space size in bits.

Currently supported values are 32 or 64 bits.

bool Cloo.ComputeDevice.Available`[get]`

Gets the availability state of the ComputeDevice.

Is `true` if the ComputeDevice is available and `false` otherwise.

ComputeCommandQueueFlags Cloo.ComputeDevice.CommandQueueFlags`[get]`

Gets the ComputeCommandQueueFlags supported by the ComputeDevice.

The ComputeCommandQueueFlags supported by the ComputeDevice.

bool Cloo.ComputeDevice.CompilerAvailable`[get]`

Gets the availability state of the OpenCL compiler of the ComputeDevice.Platform.

Is `true` if the implementation has a compiler available to compile the program source and `false` otherwise. This can be `false` for the embededed platform profile only.

string Cloo.ComputeDevice.DriverVersion`[get]`

Gets the OpenCL software driver version string of the ComputeDevice.

The version string in the form `major_number.minor_number`.

bool Cloo.ComputeDevice.EndianLittle`[get]`

Gets the endianness of the ComputeDevice.

Is `true` if the ComputeDevice is a little endian device and `false` otherwise.

bool Cloo.ComputeDevice.ErrorCorrectionSupport`[get]`

Gets the error correction support state of the ComputeDevice.

Is `true` if the ComputeDevice implements error correction for the memories, caches, registers etc. Is `false` if the ComputeDevice does not implement error correction. This can be a requirement for certain clients of OpenCL.

ComputeDeviceExecutionCapabilities Cloo.ComputeDevice.ExecutionCapabilities`[get]`

Gets the ComputeDeviceExecutionCapabilities of the ComputeDevice.

The ComputeDeviceExecutionCapabilities of the ComputeDevice.

ReadOnlyCollection<string> Cloo.ComputeDevice.Extensions`[get]`

Gets a read-only collection of names of extensions that the ComputeDevice supports.

A read-only collection of names of extensions that the ComputeDevice supports.

long Cloo.ComputeDevice.GlobalMemoryCacheLineSize`[get]`

Gets the size of the global ComputeDevice memory cache line in bytes.

The size of the global ComputeDevice memory cache line in bytes.

long Cloo.ComputeDevice.GlobalMemoryCacheSize`[get]`

Gets the size of the global ComputeDevice memory cache in bytes.

The size of the global ComputeDevice memory cache in bytes.

ComputeDeviceMemoryCacheType Cloo.ComputeDevice.GlobalMemoryCacheType`[get]`

Gets the ComputeDeviceMemoryCacheType of the ComputeDevice.

The ComputeDeviceMemoryCacheType of the ComputeDevice.

long Cloo.ComputeDevice.GlobalMemorySize`[get]`

Gets the size of the global ComputeDevice memory in bytes.

The size of the global ComputeDevice memory in bytes.

CLDeviceHandle Cloo.ComputeDevice.Handle`[get, set]`

The handle of the ComputeDevice.

bool Cloo.ComputeDevice.HostUnifiedMemory`[get]`

Gets information about the presence of the unified memory subsystem.

Is `true` if the ComputeDevice and the host have a unified memory subsystem and `false` otherwise.

Requires OpenCL 1.1

long Cloo.ComputeDevice.Image2DMaxHeight`[get]`

Gets the maximum ComputeImage2D.Height value that the ComputeDevice supports in pixels.

The minimum value is 8192 if ComputeDevice.ImageSupport is `true`.

long Cloo.ComputeDevice.Image2DMaxWidth`[get]`

Gets the maximum ComputeImage2D.Width value that the ComputeDevice supports in pixels.

The minimum value is 8192 if ComputeDevice.ImageSupport is `true`.

long Cloo.ComputeDevice.Image3DMaxDepth`[get]`

Gets the maximum ComputeImage3D.Depth value that the ComputeDevice supports in pixels.

The minimum value is 2048 if ComputeDevice.ImageSupport is `true`.

long Cloo.ComputeDevice.Image3DMaxHeight`[get]`

Gets the maximum ComputeImage3D.Height value that the ComputeDevice supports in pixels.

The minimum value is 2048 if ComputeDevice.ImageSupport is `true`.

long Cloo.ComputeDevice.Image3DMaxWidth`[get]`

Gets the maximum ComputeImage3D.Width value that the ComputeDevice supports in pixels.

The minimum value is 2048 if ComputeDevice.ImageSupport is `true`.

bool Cloo.ComputeDevice.ImageSupport`[get]`

Gets the state of image support of the ComputeDevice.

Is `true` if ComputeImages are supported by the ComputeDevice and `false` otherwise.

long Cloo.ComputeDevice.LocalMemorySize`[get]`

Gets the size of local memory are of the ComputeDevice in bytes.

The minimum value is 16 KB (OpenCL 1.0) or 32 KB (OpenCL 1.1).

ComputeDeviceLocalMemoryType Cloo.ComputeDevice.LocalMemoryType`[get]`

Gets the ComputeDeviceLocalMemoryType that is supported on the ComputeDevice.

The ComputeDeviceLocalMemoryType that is supported on the ComputeDevice.

long Cloo.ComputeDevice.MaxClockFrequency`[get]`

Gets the maximum configured clock frequency of the ComputeDevice in MHz.

The maximum configured clock frequency of the ComputeDevice in MHz.

long Cloo.ComputeDevice.MaxComputeUnits`[get]`

Gets the number of parallel compute cores on the ComputeDevice.

The minimum value is 1.

long Cloo.ComputeDevice.MaxConstantArguments`[get]`

Gets the maximum number of arguments declared with the `__constant` or `constant` qualifier in a ComputeKernel executing in the ComputeDevice.

The minimum value is 8.

long Cloo.ComputeDevice.MaxConstantBufferSize`[get]`

Gets the maximum size in bytes of a constant buffer allocation in the ComputeDevice memory.

The minimum value is 64 KB.

long Cloo.ComputeDevice.MaxMemoryAllocationSize`[get]`

Gets the maximum size of memory object allocation in the ComputeDevice memory in bytes.

The minimum value is `max(ComputeDevice.GlobalMemorySize/4, 128*1024*1024)`.

long Cloo.ComputeDevice.MaxParameterSize`[get]`

Gets the maximum size in bytes of the arguments that can be passed to a ComputeKernel executing in the ComputeDevice.

The minimum value is 256 (OpenCL 1.0) or 1024 (OpenCL 1.1).

long Cloo.ComputeDevice.MaxReadImageArguments`[get]`

Gets the maximum number of simultaneous ComputeImages that can be read by a ComputeKernel executing in the ComputeDevice.

The minimum value is 128 if ComputeDevice.ImageSupport is `true`.

long Cloo.ComputeDevice.MaxSamplers`[get]`

Gets the maximum number of ComputeSamplers that can be used in a ComputeKernel.

The minimum value is 16 if ComputeDevice.ImageSupport is `true`.

long Cloo.ComputeDevice.MaxWorkGroupSize`[get]`

Gets the maximum number of work-items in a work-group executing a ComputeKernel in a ComputeDevice using the data parallel execution model.

The minimum value is 1.

long Cloo.ComputeDevice.MaxWorkItemDimensions`[get]`

Gets the maximum number of dimensions that specify the global and local work-item IDs used by the data parallel execution model.

The minimum value is 3.

ReadOnlyCollection<long> Cloo.ComputeDevice.MaxWorkItemSizes`[get]`

Gets the maximum number of work-items that can be specified in each dimension of the globalWorkSize argument of ComputeCommandQueue.Execute.

The maximum number of work-items that can be specified in each dimension of the globalWorkSize argument of ComputeCommandQueue.Execute.

long Cloo.ComputeDevice.MaxWriteImageArguments`[get]`

Gets the maximum number of simultaneous ComputeImages that can be written to by a ComputeKernel executing in the ComputeDevice.

The minimum value is 8 if ComputeDevice.ImageSupport is `true`.

long Cloo.ComputeDevice.MemoryBaseAddressAlignment`[get]`

Gets the alignment in bits of the base address of any ComputeMemory allocated in the ComputeDevice memory.

The alignment in bits of the base address of any ComputeMemory allocated in the ComputeDevice memory.

long Cloo.ComputeDevice.MinDataTypeAlignmentSize`[get]`

Gets the smallest alignment in bytes which can be used for any data type allocated in the ComputeDevice memory.

The smallest alignment in bytes which can be used for any data type allocated in the ComputeDevice memory.

string Cloo.ComputeDevice.Name`[get]`

Gets the name of the ComputeDevice.

The name of the ComputeDevice.

long Cloo.ComputeDevice.NativeVectorWidthChar`[get]`

Gets the native ISA vector width size for vector of `char`s.

The native ISA vector width size for vector of `char`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

Requires OpenCL 1.1

long Cloo.ComputeDevice.NativeVectorWidthDouble`[get]`

Gets the native ISA vector width size for vector of `double`s or 0 if the `cl_khr_fp64` format is not supported.

The native ISA vector width size for vector of `double`s or 0 if the `cl_khr_fp64` format is not supported.

The vector width is defined as the number of scalar elements that can be stored in the vector.

Requires OpenCL 1.1

long Cloo.ComputeDevice.NativeVectorWidthFloat`[get]`

Gets the native ISA vector width size for vector of `float`s.

The native ISA vector width size for vector of `float`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

Requires OpenCL 1.1

long Cloo.ComputeDevice.NativeVectorWidthHalf`[get]`

Gets the native ISA vector width size for vector of `half`s or 0 if the `cl_khr_fp16` format is not supported.

The native ISA vector width size for vector of `half`s or 0 if the `cl_khr_fp16` format is not supported.

The vector width is defined as the number of scalar elements that can be stored in the vector.

Requires OpenCL 1.1

long Cloo.ComputeDevice.NativeVectorWidthInt`[get]`

Gets the native ISA vector width size for vector of `int`s.

The native ISA vector width size for vector of `int`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

Requires OpenCL 1.1

long Cloo.ComputeDevice.NativeVectorWidthLong`[get]`

Gets the native ISA vector width size for vector of `long`s.

The native ISA vector width size for vector of `long`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

Requires OpenCL 1.1

long Cloo.ComputeDevice.NativeVectorWidthShort`[get]`

Gets the native ISA vector width size for vector of `short`s.

The native ISA vector width size for vector of `short`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

Requires OpenCL 1.1

Version Cloo.ComputeDevice.OpenCLCVersion`[get]`

Gets the OpenCL C version supported by the ComputeDevice.

Is `1.1` if ComputeDevice.Version is `1.1`. Is `1.0` or `1.1` if ComputeDevice.Version is `1.0`.

Requires OpenCL 1.1.

string Cloo.ComputeDevice.OpenCLCVersionString`[get]`

Gets the OpenCL C version string supported by the ComputeDevice.

The OpenCL C version string supported by the ComputeDevice. The version string has the following format: `OpenCL[space]C[space][major_version].[minor_version][space][vendor-specific information]`.

Requires OpenCL 1.1.

ComputePlatform Cloo.ComputeDevice.Platform`[get]`

Gets the ComputePlatform associated with the ComputeDevice.

The ComputePlatform associated with the ComputeDevice.

long Cloo.ComputeDevice.PreferredVectorWidthChar`[get]`

Gets the ComputeDevice's preferred native vector width size for vector of `char`s.

The ComputeDevice's preferred native vector width size for vector of `char`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

long Cloo.ComputeDevice.PreferredVectorWidthDouble`[get]`

Gets the ComputeDevice's preferred native vector width size for vector of `double`s or 0 if the `cl_khr_fp64` format is not supported.

The ComputeDevice's preferred native vector width size for vector of `double`s or 0 if the `cl_khr_fp64` format is not supported.

The vector width is defined as the number of scalar elements that can be stored in the vector.

long Cloo.ComputeDevice.PreferredVectorWidthFloat`[get]`

Gets the ComputeDevice's preferred native vector width size for vector of `float`s.

The ComputeDevice's preferred native vector width size for vector of `float`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

long Cloo.ComputeDevice.PreferredVectorWidthHalf`[get]`

Gets the ComputeDevice's preferred native vector width size for vector of `half`s or 0 if the `cl_khr_fp16` format is not supported.

The ComputeDevice's preferred native vector width size for vector of `half`s or 0 if the `cl_khr_fp16` format is not supported.

The vector width is defined as the number of scalar elements that can be stored in the vector.

long Cloo.ComputeDevice.PreferredVectorWidthInt`[get]`

Gets the ComputeDevice's preferred native vector width size for vector of `int`s.

The ComputeDevice's preferred native vector width size for vector of `int`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

long Cloo.ComputeDevice.PreferredVectorWidthLong`[get]`

Gets the ComputeDevice's preferred native vector width size for vector of `long`s.

The ComputeDevice's preferred native vector width size for vector of `long`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

long Cloo.ComputeDevice.PreferredVectorWidthShort`[get]`

Gets the ComputeDevice's preferred native vector width size for vector of `short`s.

The ComputeDevice's preferred native vector width size for vector of `short`s.

The vector width is defined as the number of scalar elements that can be stored in the vector.

string Cloo.ComputeDevice.Profile`[get]`

Gets the OpenCL profile name supported by the ComputeDevice.

The profile name returned can be one of the following strings:

- FULL_PROFILE The ComputeDevice supports the OpenCL specification (functionality defined as part of the core specification and does not require any extensions to be supported).
- EMBEDDED_PROFILE The ComputeDevice supports the OpenCL embedded profile.

long Cloo.ComputeDevice.ProfilingTimerResolution`[get]`

Gets the resolution of the ComputeDevice timer in nanoseconds.

The resolution of the ComputeDevice timer in nanoseconds.

ComputeDeviceSingleCapabilities Cloo.ComputeDevice.SingleCapabilites`[get]`

Gets the ComputeDeviceSingleCapabilities of the ComputeDevice.

The ComputeDeviceSingleCapabilities of the ComputeDevice.

ComputeDeviceTypes Cloo.ComputeDevice.Type`[get]`

Gets the ComputeDeviceTypes of the ComputeDevice.

The ComputeDeviceTypes of the ComputeDevice.

string Cloo.ComputeDevice.Vendor`[get]`

Gets the ComputeDevice vendor name string.

The ComputeDevice vendor name string.

long Cloo.ComputeDevice.VendorId`[get]`

Gets a unique ComputeDevice vendor identifier.

A unique ComputeDevice vendor identifier.

An example of a unique device identifier could be the PCIe ID.

Version Cloo.ComputeDevice.Version`[get]`

Gets the OpenCL version supported by the ComputeDevice.

The OpenCL version supported by the ComputeDevice.

string Cloo.ComputeDevice.VersionString`[get]`

Gets the OpenCL version string supported by the ComputeDevice.

The version string has the following format: `OpenCL[space][major_version].[minor_version][space][vendor-specific information]`.

The documentation for this class was generated from the following file:

- Cloo/Source/ComputeDevice.cs