Table of Contents

Class RingBufferManager

Namespace
Orleans.GpuBridge.Runtime.Persistent
Assembly
Orleans.GpuBridge.Runtime.dll

Manages ring buffers for persistent kernel I/O

public sealed class RingBufferManager : IDisposable
Inheritance
RingBufferManager
Implements
Inherited Members

Constructors

RingBufferManager(ILogger<RingBufferManager>, int)

Initializes a new instance of the RingBufferManager class.

public RingBufferManager(ILogger<RingBufferManager> logger, int defaultBufferSize = 16777216)

Parameters

logger ILogger<RingBufferManager>

The logger for diagnostic output.

defaultBufferSize int

The default buffer size in bytes. Default is 16MB.

Methods

CreateBuffer(string, int?)

Creates a new ring buffer for kernel I/O

public RingBuffer CreateBuffer(string kernelId, int? bufferSize = null)

Parameters

kernelId string
bufferSize int?

Returns

RingBuffer

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

GetBuffer(string)

Gets an existing ring buffer

public RingBuffer? GetBuffer(string kernelId)

Parameters

kernelId string

Returns

RingBuffer

GetStatistics()

Gets statistics for all buffers

public Dictionary<string, RingBufferStats> GetStatistics()

Returns

Dictionary<string, RingBufferStats>

RemoveBuffer(string)

Removes and disposes a ring buffer

public void RemoveBuffer(string kernelId)

Parameters

kernelId string