Table of Contents

Class RingKernelInfrastructure

Namespace
DotCompute.Backends.CUDA.RingKernels
Assembly
DotCompute.Backends.CUDA.dll

Provides CUDA infrastructure headers for Ring Kernel compilation.

public static class RingKernelInfrastructure
Inheritance
RingKernelInfrastructure
Inherited Members

Remarks

This class supplies in-memory CUDA header files that are passed to NVRTC during Ring Kernel compilation. The headers define the low-level GPU data structures and algorithms needed for persistent kernel message processing.

Headers provided:

  • ring_buffer.cuh - Lock-free ring buffer implementation
  • message_queue.cuh - Message queue with atomic operations
  • memorypack_deserializer.cuh - MemoryPack deserialization support

Fields

HeaderNames

Header file names for NVRTC compilation.

public static readonly string[] HeaderNames

Field Value

string[]

Methods

GetHeaders()

Gets all Ring Kernel infrastructure headers as strings.

public static string[] GetHeaders()

Returns

string[]

Array of header content strings matching HeaderNames.

GetMemoryPackDeserializerHeader()

Gets the memorypack_deserializer.cuh header content.

public static string GetMemoryPackDeserializerHeader()

Returns

string

CUDA C++ source code for MemoryPack deserialization support.

GetMessageQueueHeader()

Gets the message_queue.cuh header content.

public static string GetMessageQueueHeader()

Returns

string

CUDA C++ source code for message queue infrastructure.

GetRingBufferHeader()

Gets the ring_buffer.cuh header content.

public static string GetRingBufferHeader()

Returns

string

CUDA C++ source code for ring buffer infrastructure.

RequiresRingKernelHeaders(string)

Checks if CUDA source code requires Ring Kernel infrastructure headers.

public static bool RequiresRingKernelHeaders(string cudaSource)

Parameters

cudaSource string

CUDA source code to check.

Returns

bool

True if any Ring Kernel headers are referenced in the source.