Table of Contents

Class OpenCLDeviceInfo

Namespace
DotCompute.Backends.OpenCL.Models
Assembly
DotCompute.Backends.OpenCL.dll

Information about an OpenCL compute device. Contains device capabilities, limits, and performance characteristics.

public sealed class OpenCLDeviceInfo
Inheritance
OpenCLDeviceInfo
Inherited Members

Properties

AddressBits

Gets the device address space size in bits (32 or 64).

public uint AddressBits { get; init; }

Property Value

uint

Available

Gets whether the device is available for use.

public bool Available { get; init; }

Property Value

bool

CompilerAvailable

Gets whether a compiler is available for the device.

public bool CompilerAvailable { get; init; }

Property Value

bool

DeviceId

Gets the native device ID handle.

public OpenCLTypes.DeviceId DeviceId { get; init; }

Property Value

OpenCLTypes.DeviceId

DriverVersion

Gets the device driver version.

public string DriverVersion { get; init; }

Property Value

string

EndianLittle

Gets whether the device uses little-endian byte ordering.

public bool EndianLittle { get; init; }

Property Value

bool

ErrorCorrectionSupport

Gets whether the device supports error correction.

public bool ErrorCorrectionSupport { get; init; }

Property Value

bool

EstimatedGFlops

Gets the estimated compute capability based on compute units and clock frequency.

public double EstimatedGFlops { get; }

Property Value

double

Extensions

Gets the supported extensions as a space-separated string.

public string Extensions { get; init; }

Property Value

string

GlobalMemoryCacheLineSize

Gets the global memory cache line size in bytes.

public uint GlobalMemoryCacheLineSize { get; init; }

Property Value

uint

GlobalMemoryCacheSize

Gets the global memory cache size in bytes.

public ulong GlobalMemoryCacheSize { get; init; }

Property Value

ulong

GlobalMemorySize

Gets the size of global device memory in bytes.

public ulong GlobalMemorySize { get; init; }

Property Value

ulong

ImageSupport

Gets whether the device supports images.

public bool ImageSupport { get; init; }

Property Value

bool

LocalMemorySize

Gets the size of local memory in bytes.

public ulong LocalMemorySize { get; init; }

Property Value

ulong

MaxClockFrequency

Gets the maximum clock frequency in MHz.

public uint MaxClockFrequency { get; init; }

Property Value

uint

MaxComputeUnits

Gets the maximum number of compute units available on the device.

public uint MaxComputeUnits { get; init; }

Property Value

uint

MaxConstantArgs

Gets the maximum number of constant arguments.

public uint MaxConstantArgs { get; init; }

Property Value

uint

MaxConstantBufferSize

Gets the size of constant buffer in bytes.

public ulong MaxConstantBufferSize { get; init; }

Property Value

ulong

MaxImage2DHeight

Gets the maximum 2D image height.

public nuint MaxImage2DHeight { get; init; }

Property Value

nuint

MaxImage2DWidth

Gets the maximum 2D image width.

public nuint MaxImage2DWidth { get; init; }

Property Value

nuint

MaxImage3DDepth

Gets the maximum 3D image depth.

public nuint MaxImage3DDepth { get; init; }

Property Value

nuint

MaxImage3DHeight

Gets the maximum 3D image height.

public nuint MaxImage3DHeight { get; init; }

Property Value

nuint

MaxImage3DWidth

Gets the maximum 3D image width.

public nuint MaxImage3DWidth { get; init; }

Property Value

nuint

MaxMemoryAllocationSize

Gets the maximum size of memory object allocation in bytes.

public ulong MaxMemoryAllocationSize { get; init; }

Property Value

ulong

MaxWorkGroupSize

Gets the maximum number of work-items in a work-group.

public nuint MaxWorkGroupSize { get; init; }

Property Value

nuint

MaxWorkItemDimensions

Gets the maximum work-item dimensions.

public uint MaxWorkItemDimensions { get; init; }

Property Value

uint

MaxWorkItemSizes

Gets the maximum work-item sizes for each dimension.

public IReadOnlyList<nuint> MaxWorkItemSizes { get; init; }

Property Value

IReadOnlyList<nuint>

MemoryBaseAddressAlignment

Gets the alignment requirement for memory base addresses.

public uint MemoryBaseAddressAlignment { get; init; }

Property Value

uint

MinDataTypeAlignmentSize

Gets the minimum alignment for any data type.

public uint MinDataTypeAlignmentSize { get; init; }

Property Value

uint

Name

Gets the device name.

public string Name { get; init; }

Property Value

string

OpenCLVersion

Gets the OpenCL version supported by the device.

public string OpenCLVersion { get; init; }

Property Value

string

Profile

Gets the device profile (FULL_PROFILE or EMBEDDED_PROFILE).

public string Profile { get; init; }

Property Value

string

ProfilingTimerResolution

Gets the profiling timer resolution in nanoseconds.

public nuint ProfilingTimerResolution { get; init; }

Property Value

nuint

Supports3DImageWrites

Gets whether this device supports 3D image writes.

public bool Supports3DImageWrites { get; }

Property Value

bool

SupportsDoublePrecision

Gets whether this device supports double-precision floating point.

public bool SupportsDoublePrecision { get; }

Property Value

bool

SupportsHalfPrecision

Gets whether this device supports half-precision floating point.

public bool SupportsHalfPrecision { get; }

Property Value

bool

Type

Gets the device type (GPU, CPU, Accelerator, etc.).

public DeviceType Type { get; init; }

Property Value

DeviceType

Vendor

Gets the device vendor name.

public string Vendor { get; init; }

Property Value

string

VendorId

Gets the vendor ID.

public uint VendorId { get; init; }

Property Value

uint

Methods

ToString()

Creates a string representation of the device information.

public override string ToString()

Returns

string