Table of Contents

Namespace DotCompute.Abstractions.RingKernels

Classes

RingKernelLaunchOptions

Configuration options for launching a ring kernel.

TelemetrySequenceControlledByCallerAttribute

Indicates that telemetry call sequencing is controlled by the caller, suppressing DC015, DC016, DC017 diagnostics for this method.

Structs

KernelMessage<T>

Represents a message passed between ring kernels.

MessageQueueStatistics

Statistics for monitoring message queue performance.

RingKernelContext

Provides the runtime context for ring kernel execution, exposing barriers, temporal operations, kernel-to-kernel messaging, and GPU intrinsics.

RingKernelMetrics

Performance metrics for a ring kernel.

RingKernelStatus

Represents the current status of a ring kernel.

RingKernelTelemetry

Ring kernel telemetry data collected on the GPU and polled by the CPU. This struct is cache-line aligned (64 bytes) for optimal GPU memory access. All fields use atomic operations for thread-safe GPU updates.

Interfaces

IMessageQueue

Non-generic base interface for GPU-resident message queues (used for reflection).

IMessageQueue<T>

Represents a GPU-resident lock-free message queue for inter-kernel communication.

IRingKernelRuntime

Runtime interface for managing persistent ring kernels.

Enums

KernelBackends

Defines the target backends for kernel compilation. Multiple backends can be specified using bitwise OR flags.

MessageDirection

Specifies the direction of message flow for ring kernel messages.

MessagePassingStrategy

Strategy for message passing between kernels.

MessageType

Specifies the type of message being passed between ring kernels.

RingKernelDomain

Application domain for ring kernel optimization.

RingKernelMode

Execution mode for ring kernels.

RingKernelStreamPriority

Stream priority levels for Ring Kernel execution scheduling.

RingProcessingMode

Specifies how a ring kernel processes messages from its input queue.