Skip to main content

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, ImplicitlyDestructible

comptime members

__del__is_trivial

comptime __del__is_trivial = True

BarrierArray

comptime BarrierArray = SMemArray[SharedMemBarrier, num_stages]

ResponseArray

comptime ResponseArray = SMemArray[UInt128, num_stages]

ThrottleArray

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

Methods

full

full(ref[AddressSpace._value._mlir_value] self) -> ClcPipelineStorage[num_stages].BarrierArray

Returns:

ClcPipelineStorage

empty

empty(ref[AddressSpace._value._mlir_value] self) -> ClcPipelineStorage[num_stages].BarrierArray

Returns:

ClcPipelineStorage

throttle

throttle(ref[AddressSpace._value._mlir_value] self) -> ClcPipelineStorage[num_stages].ThrottleArray

Returns:

ClcPipelineStorage

response

response(ref[AddressSpace._value._mlir_value] self) -> ClcPipelineStorage[num_stages].ResponseArray

Returns:

ClcPipelineStorage

Was this page helpful?