IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).

Mojo struct

ClcPipelineStorage

struct ClcPipelineStorage[num_stages: Int]

Storage for CLC (Cluster Launch Control) scheduler pipeline.

CLC has a different barrier pattern:

  • full/empty: Standard producer-consumer for work items
  • throttle: Rate limiting barriers (2 per stage)
  • response: CLC response storage (UInt128 per stage)

Parameters

  • num_stages (Int): Number of CLC pipeline stages.

Fields

  • full_storage (ClcPipelineStorage[num_stages].BarrierArray.Storage):
  • empty_storage (ClcPipelineStorage[num_stages].BarrierArray.Storage):
  • throttle_storage (ClcPipelineStorage[num_stages].ThrottleArray.Storage):
  • response_storage (ClcPipelineStorage[num_stages].ResponseArray.Storage):

Implemented traits

AnyType, Deinitable, Movable

comptime members

BarrierArray

comptime BarrierArray = SMemArray[SharedMemBarrier, num_stages]

ResponseArray

comptime ResponseArray = SMemArray[UInt128, num_stages]

ThrottleArray

comptime ThrottleArray = SMemArray[SharedMemBarrier, (num_stages * Int(2))]

Methods

full

def full(ref[AddressSpace._value] self) -> Self.BarrierArray

Returns:

Self.BarrierArray

empty

def empty(ref[AddressSpace._value] self) -> Self.BarrierArray

Returns:

Self.BarrierArray

throttle

def throttle(ref[AddressSpace._value] self) -> Self.ThrottleArray

Returns:

Self.ThrottleArray

response

def response(ref[AddressSpace._value] self) -> Self.ResponseArray

Returns:

Self.ResponseArray