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
IndexintNamestringTypeDeviceTypeTotalMemoryByteslongAvailableMemoryByteslongComputeUnitsintCapabilitiesIReadOnlyList<string>
Properties
AvailableMemoryBytes
public long AvailableMemoryBytes { get; init; }
Property Value
Capabilities
public IReadOnlyList<string> Capabilities { get; init; }
Property Value
ClockRateMHz
Estimated clock rate in MHz
public int ClockRateMHz { get; }
Property Value
ComputeCapability
Compute capability for CUDA devices (null for non-CUDA)
public ComputeCapability? ComputeCapability { get; }
Property Value
ComputeUnits
public int ComputeUnits { get; init; }
Property Value
Id
Unique identifier for the device (derived from Index for compatibility)
public string Id { get; }
Property Value
Index
public int Index { get; init; }
Property Value
MaxSharedMemoryPerBlock
Maximum shared memory per block in bytes
public long MaxSharedMemoryPerBlock { get; }
Property Value
MaxThreadsPerBlock
Maximum threads per block (estimated from device type and compute units)
public int MaxThreadsPerBlock { get; }
Property Value
MemoryBytes
Available memory in bytes (alias for consistency)
public long MemoryBytes { get; }
Property Value
MemoryUtilization
Current memory utilization as a percentage (0.0 to 1.0)
public double MemoryUtilization { get; }
Property Value
Name
public string Name { get; init; }
Property Value
PerformanceMetrics
Performance metrics
public PerformanceMetrics? PerformanceMetrics { get; init; }
Property Value
Status
Current device status
public DeviceStatus Status { get; set; }
Property Value
SupportedFeatures
Supported features flags
public DeviceFeatures SupportedFeatures { get; }
Property Value
ThermalInfo
Thermal information if available
public ThermalInfo? ThermalInfo { get; init; }
Property Value
TotalMemoryBytes
public long TotalMemoryBytes { get; init; }
Property Value
Type
public DeviceType Type { get; init; }
Property Value
WarpSize
Warp/wavefront size for SIMD execution
public int WarpSize { get; }