For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).
Mojo struct
InputPipelineStorage
struct InputPipelineStorage[num_stages: Int, Payload: TilePayload]
Unified storage for input tile pipeline (barriers + payload).
Bundles barrier storage with tile payload storage, ensuring they're always consistent. The pipeline can only be created from matching storage.
Example:
struct MySmem[...]:
var input: InputPipelineStorage[
4, # 4 stages
StandardTilePayload[float16, float16, a_layout, b_layout],
]
def get_pipeline(ref[SHARED] self):
return self.input.create_pipeline()Parametersβ
- βnum_stages (
Int): Number of pipeline stages. - βPayload (
TilePayload): Tile payload type (defines what's in each stage).
Fieldsβ
- βbarriers (
BarrierPair[num_stages]):
Implemented traitsβ
AnyType,
ImplicitlyDestructible
comptime membersβ
BarrierArrayβ
comptime BarrierArray = SMemArray[SharedMemBarrier, (num_stages * 2)]
Methodsβ
create_pipelineβ
create_pipeline(ref[AddressSpace._value] self) -> ProducerConsumerPipeline[num_stages]
Create runtime pipeline from this storage.
Returns:
ProducerConsumerPipeline[num_stages]
barrier_ptrβ
barrier_ptr(ref[AddressSpace._value] self) -> MbarPtr
Escape hatch: Get raw barrier pointer for custom initialization.
Returns:
MbarPtr
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!