Mojo struct
SmemPipelineBundleNoClc
struct SmemPipelineBundleNoClc[num_group_pipeline_stages: Int, num_accum_pipeline_stages: Int, Payload: TilePayload]
Composed pipeline storage without CLC scheduler.
Used by kernels with 3-warp specialization (Load, MMA, Epilogue) that don't use a scheduler warp (e.g. Grouped1D1DSmem).
Parameters
- num_group_pipeline_stages (
Int): Number of grouped pipeline stages for input. - num_accum_pipeline_stages (
Int): Number of accumulator pipeline stages. - Payload (
TilePayload): Tile payload type.
Fields
- input_pipeline (
SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].InputPipeline): - output_pipeline (
SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].OutputPipeline): - tmem_dealloc_pipeline (
SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].TmemDeallocPipeline):
Implemented traits
AnyType,
ImplicitlyDestructible
comptime members
__del__is_trivial
comptime __del__is_trivial = True
AccumBarriers
comptime AccumBarriers = SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].OutputPipeline.BarrierArray
InputBarriers
comptime InputBarriers = SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].InputPipeline.BarrierArray
InputPipeline
comptime InputPipeline = InputPipelineStorage[num_group_pipeline_stages, Payload]
OutputPipeline
comptime OutputPipeline = OutputPipelineStorage[num_accum_pipeline_stages]
TmemAddr
comptime TmemAddr = SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].TmemDeallocPipeline.AddrArray
TmemDealloc
comptime TmemDealloc = SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].TmemDeallocPipeline.BarrierArray
TmemDeallocPipeline
comptime TmemDeallocPipeline = TmemDeallocStorage
Methods
input_barriers
input_barriers(ref[AddressSpace._value._mlir_value] self) -> SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].InputBarriers
Returns input tile pipeline barriers.
Returns:
SmemPipelineBundleNoClc
accum_barriers
accum_barriers(ref[AddressSpace._value._mlir_value] self) -> SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].AccumBarriers
Returns accumulator pipeline barriers.
Returns:
SmemPipelineBundleNoClc
tmem_dealloc
tmem_dealloc(ref[AddressSpace._value._mlir_value] self) -> SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].TmemDealloc
Returns TMEM deallocation barrier.
Returns:
SmemPipelineBundleNoClc
tmem_addr
tmem_addr(ref[AddressSpace._value._mlir_value] self) -> SmemPipelineBundleNoClc[num_group_pipeline_stages, num_accum_pipeline_stages, Payload].TmemAddr
Returns TMEM address storage.
Returns:
SmemPipelineBundleNoClc
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!