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
MaxConcurrentDevices
Maximum number of devices that can be used concurrently
public int MaxConcurrentDevices { get; init; }
Property Value
MinimumComputeCapability
Minimum compute capability required (e.g., for CUDA)
public Version? MinimumComputeCapability { get; init; }
Property Value
SupportedBackends
Supported GPU backends (CUDA, OpenCL, DirectCompute, Metal, etc.)
public IReadOnlyList<GpuBackend> SupportedBackends { get; init; }
Property Value
SupportedDataTypes
Supported data types for kernel operations
public IReadOnlyList<Type> SupportedDataTypes { get; init; }
Property Value
SupportedKernelLanguages
Supported kernel languages (e.g., "C#", "CUDA", "OpenCL C", "HLSL")
public IReadOnlyList<string> SupportedKernelLanguages { get; init; }
Property Value
SupportedPlatforms
Platform requirements (e.g., "Windows", "Linux", "macOS")
public IReadOnlyList<string> SupportedPlatforms { get; init; }
Property Value
SupportsAotCompilation
Supports ahead-of-time compilation
public bool SupportsAotCompilation { get; init; }
Property Value
SupportsAtomicOperations
Supports atomic operations
public bool SupportsAtomicOperations { get; init; }
Property Value
SupportsCpuDebugging
Supports CPU debugging of GPU code
public bool SupportsCpuDebugging { get; init; }
Property Value
SupportsDynamicSharedMemory
Supports dynamic shared memory allocation
public bool SupportsDynamicSharedMemory { get; init; }
Property Value
SupportsJitCompilation
Supports JIT compilation of kernels
public bool SupportsJitCompilation { get; init; }
Property Value
SupportsProfiling
Supports profiling and performance counters
public bool SupportsProfiling { get; init; }
Property Value
SupportsTensorOperations
Supports tensor operations
public bool SupportsTensorOperations { get; init; }
Property Value
SupportsUnifiedMemory
Supports unified memory (shared between CPU and GPU)
public bool SupportsUnifiedMemory { get; init; }
Property Value
SupportsWarpIntrinsics
Supports warp/wave intrinsics
public bool SupportsWarpIntrinsics { get; init; }
Property Value
Methods
CreateCpuFallback()
Creates default capabilities for CPU fallback
public static BackendCapabilities CreateCpuFallback()
Returns
CreateCuda()
Creates capabilities for CUDA backend
public static BackendCapabilities CreateCuda()
Returns
CreateDotCompute()
Creates capabilities for DotCompute backend
public static BackendCapabilities CreateDotCompute()