Skip to main content

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?