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
IsAvailable
Gets a value indicating whether this backend is currently available
bool IsAvailable { get; }
Property Value
Name
Gets the display name of this backend provider
string Name { get; }
Property Value
Type
Gets the backend type identifier
GpuBackend Type { get; }
Property Value
Methods
CreateContext(int)
Creates a compute context for the specified device
IComputeContext CreateContext(int deviceIndex = 0)
Parameters
deviceIndexintThe 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()