Table of Contents

Class BackendCapabilities

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

Describes the capabilities of a GPU backend provider

public sealed class BackendCapabilities
Inheritance
BackendCapabilities
Inherited Members

Properties

ExtendedCapabilities

Additional capabilities specific to the backend

public IReadOnlyDictionary<string, object> ExtendedCapabilities { get; init; }

Property Value

IReadOnlyDictionary<string, object>

MaxConcurrentDevices

Maximum number of devices that can be used concurrently

public int MaxConcurrentDevices { get; init; }

Property Value

int

MinimumComputeCapability

Minimum compute capability required (e.g., for CUDA)

public Version? MinimumComputeCapability { get; init; }

Property Value

Version

SupportedBackends

Supported GPU backends (CUDA, OpenCL, DirectCompute, Metal, etc.)

public IReadOnlyList<GpuBackend> SupportedBackends { get; init; }

Property Value

IReadOnlyList<GpuBackend>

SupportedDataTypes

Supported data types for kernel operations

public IReadOnlyList<Type> SupportedDataTypes { get; init; }

Property Value

IReadOnlyList<Type>

SupportedKernelLanguages

Supported kernel languages (e.g., "C#", "CUDA", "OpenCL C", "HLSL")

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

Property Value

IReadOnlyList<string>

SupportedPlatforms

Platform requirements (e.g., "Windows", "Linux", "macOS")

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

Property Value

IReadOnlyList<string>

SupportsAotCompilation

Supports ahead-of-time compilation

public bool SupportsAotCompilation { get; init; }

Property Value

bool

SupportsAtomicOperations

Supports atomic operations

public bool SupportsAtomicOperations { get; init; }

Property Value

bool

SupportsCpuDebugging

Supports CPU debugging of GPU code

public bool SupportsCpuDebugging { get; init; }

Property Value

bool

SupportsDynamicSharedMemory

Supports dynamic shared memory allocation

public bool SupportsDynamicSharedMemory { get; init; }

Property Value

bool

SupportsJitCompilation

Supports JIT compilation of kernels

public bool SupportsJitCompilation { get; init; }

Property Value

bool

SupportsProfiling

Supports profiling and performance counters

public bool SupportsProfiling { get; init; }

Property Value

bool

SupportsTensorOperations

Supports tensor operations

public bool SupportsTensorOperations { get; init; }

Property Value

bool

SupportsUnifiedMemory

Supports unified memory (shared between CPU and GPU)

public bool SupportsUnifiedMemory { get; init; }

Property Value

bool

SupportsWarpIntrinsics

Supports warp/wave intrinsics

public bool SupportsWarpIntrinsics { get; init; }

Property Value

bool

Methods

CreateCpuFallback()

Creates default capabilities for CPU fallback

public static BackendCapabilities CreateCpuFallback()

Returns

BackendCapabilities

CreateCuda()

Creates capabilities for CUDA backend

public static BackendCapabilities CreateCuda()

Returns

BackendCapabilities

CreateDotCompute()

Creates capabilities for DotCompute backend

public static BackendCapabilities CreateDotCompute()

Returns

BackendCapabilities