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

OutPipeline

struct OutPipeline[num_out_stages: Int, num_producer: Int, num_consumer: Int]

OutPipeline has num_out_stages stages. num_out_stages refers to how many output stages we pipeline for performing the output store.

Parameters

  • num_out_stages (Int): Number of output tiles pipelined for the output store.
  • num_producer (Int): Number of producer threads arriving on each producer mbarrier.
  • num_consumer (Int): Number of consumer threads arriving on each consumer mbarrier.

Fields

  • mbar (MBarType):
  • state (PipelineState[num_out_stages]):

Implemented traits

AnyType, Copyable, Deinitable, ImplicitlyCopyable, Movable, RegisterPassable, TrivialRegisterPassable

comptime members

num_stages

comptime num_stages = num_out_stages

Methods

__init__

def __init__(mbar: Pointer[SharedMemBarrier, MutAnyOrigin, address_space=AddressSpace.SHARED]) -> Self

init

def init(self)

producer_mbar

def producer_mbar(self) -> MBarType

Returns:

MBarType

consumer_mbar

def consumer_mbar(self) -> MBarType

Returns:

MBarType

producer_acquire

def producer_acquire(self)

Returns the dynamic pipe idx.

consumer_wait

def consumer_wait(self)

consumer_release

def consumer_release(mut self, e: Int32)

producer_commit

def producer_commit(mut self)

num_mbars

static def num_mbars() -> UInt32

Returns:

UInt32