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 implementationmessage_queue.cuh- Message queue with atomic operationsmemorypack_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
cudaSourcestringCUDA source code to check.
Returns
- bool
True if any Ring Kernel headers are referenced in the source.