Table of Contents

Interface IBackendProvider

Namespace
Orleans.GpuBridge.Runtime.BackendProviders.Interfaces
Assembly
Orleans.GpuBridge.Runtime.dll

Simplified backend provider interface for GPU compute backends

public interface IBackendProvider : IDisposable
Inherited Members

Remarks

This interface defines the contract for backend providers that manage GPU compute resources. Each provider represents a specific compute backend (CUDA, OpenCL, DirectCompute, etc.) and handles device enumeration, context creation, and resource management for that backend.

Properties

DeviceCount

Gets the number of available devices for this backend

int DeviceCount { get; }

Property Value

int

IsAvailable

Gets a value indicating whether this backend is currently available

bool IsAvailable { get; }

Property Value

bool

Name

Gets the display name of this backend provider

string Name { get; }

Property Value

string

Type

Gets the backend type identifier

GpuBackend Type { get; }

Property Value

GpuBackend

Methods

CreateContext(int)

Creates a compute context for the specified device

IComputeContext CreateContext(int deviceIndex = 0)

Parameters

deviceIndex int

The index of the device to create a context for

Returns

IComputeContext

A compute context for the specified device

GetDevices()

Gets information about all available devices for this backend

IReadOnlyList<DeviceInfo> GetDevices()

Returns

IReadOnlyList<DeviceInfo>

A read-only list of device information

Initialize()

Initializes the backend provider

bool Initialize()

Returns

bool

true if initialization was successful; otherwise, false

Shutdown()

Shuts down the backend provider and releases resources

void Shutdown()