Table of Contents

Class GpuDevice

Namespace
Orleans.GpuBridge.Abstractions
Assembly
Orleans.GpuBridge.Abstractions.dll

Represents a comprehensive GPU device with production-grade capabilities

public sealed record GpuDevice : IEquatable<GpuDevice>
Inheritance
GpuDevice
Implements
Inherited Members

Constructors

GpuDevice(int, string, DeviceType, long, long, int, IReadOnlyList<string>)

Represents a comprehensive GPU device with production-grade capabilities

public GpuDevice(int Index, string Name, DeviceType Type, long TotalMemoryBytes, long AvailableMemoryBytes, int ComputeUnits, IReadOnlyList<string> Capabilities)

Parameters

Index int
Name string
Type DeviceType
TotalMemoryBytes long
AvailableMemoryBytes long
ComputeUnits int
Capabilities IReadOnlyList<string>

Properties

AvailableMemoryBytes

public long AvailableMemoryBytes { get; init; }

Property Value

long

Capabilities

public IReadOnlyList<string> Capabilities { get; init; }

Property Value

IReadOnlyList<string>

ClockRateMHz

Estimated clock rate in MHz

public int ClockRateMHz { get; }

Property Value

int

ComputeCapability

Compute capability for CUDA devices (null for non-CUDA)

public ComputeCapability? ComputeCapability { get; }

Property Value

ComputeCapability

ComputeUnits

public int ComputeUnits { get; init; }

Property Value

int

Id

Unique identifier for the device (derived from Index for compatibility)

public string Id { get; }

Property Value

string

Index

public int Index { get; init; }

Property Value

int

MaxSharedMemoryPerBlock

Maximum shared memory per block in bytes

public long MaxSharedMemoryPerBlock { get; }

Property Value

long

MaxThreadsPerBlock

Maximum threads per block (estimated from device type and compute units)

public int MaxThreadsPerBlock { get; }

Property Value

int

MemoryBytes

Available memory in bytes (alias for consistency)

public long MemoryBytes { get; }

Property Value

long

MemoryUtilization

Current memory utilization as a percentage (0.0 to 1.0)

public double MemoryUtilization { get; }

Property Value

double

Name

public string Name { get; init; }

Property Value

string

PerformanceMetrics

Performance metrics

public PerformanceMetrics? PerformanceMetrics { get; init; }

Property Value

PerformanceMetrics

Status

Current device status

public DeviceStatus Status { get; set; }

Property Value

DeviceStatus

SupportedFeatures

Supported features flags

public DeviceFeatures SupportedFeatures { get; }

Property Value

DeviceFeatures

ThermalInfo

Thermal information if available

public ThermalInfo? ThermalInfo { get; init; }

Property Value

ThermalInfo

TotalMemoryBytes

public long TotalMemoryBytes { get; init; }

Property Value

long

Type

public DeviceType Type { get; init; }

Property Value

DeviceType

WarpSize

Warp/wavefront size for SIMD execution

public int WarpSize { get; }

Property Value

int