Table of Contents

Interface IGpuBackendProvider

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

Main interface for GPU backend providers (ILGPU, DotCompute, etc.)

public interface IGpuBackendProvider : IDisposable
Inherited Members

Properties

Capabilities

Gets the capabilities of this backend provider

BackendCapabilities Capabilities { get; }

Property Value

BackendCapabilities

DisplayName

Display name for this backend provider

string DisplayName { get; }

Property Value

string

ProviderId

Unique identifier for this backend provider

string ProviderId { get; }

Property Value

string

Version

Version of the backend provider

Version Version { get; }

Property Value

Version

Methods

CheckHealthAsync(CancellationToken)

Performs a health check on the backend

Task<HealthCheckResult> CheckHealthAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<HealthCheckResult>

CreateContext(int)

Creates a compute context for the specified device

Task<object> CreateContext(int deviceIndex = 0)

Parameters

deviceIndex int

Returns

Task<object>

GetDeviceManager()

Gets the device manager for this backend

IDeviceManager GetDeviceManager()

Returns

IDeviceManager

GetKernelCompiler()

Gets the kernel compiler for this backend

IKernelCompiler GetKernelCompiler()

Returns

IKernelCompiler

GetKernelExecutor()

Gets the kernel executor for this backend

IKernelExecutor GetKernelExecutor()

Returns

IKernelExecutor

GetMemoryAllocator()

Gets the memory allocator for this backend

IMemoryAllocator GetMemoryAllocator()

Returns

IMemoryAllocator

GetMetricsAsync(CancellationToken)

Gets backend-specific metrics

Task<IReadOnlyDictionary<string, object>> GetMetricsAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<IReadOnlyDictionary<string, object>>

InitializeAsync(BackendConfiguration, CancellationToken)

Initializes the backend provider

Task InitializeAsync(BackendConfiguration configuration, CancellationToken cancellationToken = default)

Parameters

configuration BackendConfiguration
cancellationToken CancellationToken

Returns

Task

IsAvailable()

Checks if the backend is available on this system (synchronous version)

bool IsAvailable()

Returns

bool

IsAvailableAsync(CancellationToken)

Checks if the backend is available on this system

Task<bool> IsAvailableAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<bool>