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
BarrierPair
struct BarrierPair[num_stages: Int]
Storage for a producer-consumer barrier pair (full + empty).
Each stage has two barriers:
- full[i]: Producer signals when stage i is filled
- empty[i]: Consumer signals when stage i is consumed
Parametersβ
- βnum_stages (
Int): Number of pipeline stages (ring buffer depth).
Fieldsβ
- βstorage (
BarrierPair[num_stages].Array.Storage):
Implemented traitsβ
AnyType,
ImplicitlyDestructible
comptime membersβ
Arrayβ
comptime Array = SMemArray[SharedMemBarrier, (num_stages * 2)]
Methodsβ
barriersβ
barriers(ref[AddressSpace._value] self) -> BarrierPair[num_stages].Array
Get barrier array accessor.
Returns:
BarrierPair[num_stages].Array
ptrβ
ptr(ref[AddressSpace._value] self) -> MbarPtr
Get raw barrier pointer for initialization or custom usage.
Returns:
MbarPtr
create_pipelineβ
create_pipeline(ref[AddressSpace._value] self) -> ProducerConsumerPipeline[num_stages]
Create a runtime pipeline from this barrier storage.
Returns:
ProducerConsumerPipeline[num_stages]
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!