Mojo struct
OutputProducerContext
@register_passable(trivial)
struct OutputProducerContext[origin: MutOrigin, num_stages: Int, stage_stride_cols: Int, cta_group: Int]
Context manager for MMA producer access to OutputRingBuffer.
Automatically calls acquire_for_mma on enter and release_from_mma on exit.
Usage: with output_rb.producer() as stage: # ... MMA into stage.tmem_offset ... # release_from_mma called automatically
Fields
- ring_buffer_ptr (
Pointer[OutputProducerContext[origin, num_stages, stage_stride_cols, cta_group].RingBufferType, origin]): - stage (
OutputProducerContext[origin, num_stages, stage_stride_cols, cta_group].Stage):
Implemented traits
AnyType,
Copyable,
ImplicitlyCopyable,
Movable,
UnknownDestructibility
comptime members
__copyinit__is_trivial
comptime __copyinit__is_trivial = True
__del__is_trivial
comptime __del__is_trivial = True
__moveinit__is_trivial
comptime __moveinit__is_trivial = True
RingBufferType
comptime RingBufferType = OutputRingBuffer[num_stages, stage_stride_cols, cta_group]
Stage
comptime Stage = OutputStage[num_stages]
Methods
__init__
__init__(ring_buffer_ptr: Pointer[OutputProducerContext[origin, num_stages, stage_stride_cols, cta_group].RingBufferType, origin]) -> Self
__enter__
__enter__(mut self) -> OutputProducerContext[origin, num_stages, stage_stride_cols, cta_group].Stage
Returns:
OutputProducerContext
__exit__
__exit__(mut self)
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!