IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /max/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. /max/get-started.md).

Mojo struct

SingleBufferSchedule

struct SingleBufferSchedule[num_k_tiles: Int]

Declarative schedule for the default single-buffer matmul.

The algorithm declares logical ops (tag + buffer metadata only). The target cost model supplies resource, latency, and role. The framework derives the pipeline ordering and dependency edges.

Parameters​

  • ​num_k_tiles (Int): Number of K-tiles along the contraction dimension, each producing one fragment load and one MMA compute op.

Fields​

  • ​hints (AMDScheduleHints):

Implemented traits​

AnyType, ImplicitlyDeletable, PipelineSchedule

Methods​

__init__​

def __init__(out self, hints: AMDScheduleHints, target: TargetProfile = mi355x_single_buffer_target())

config​

def config(self) -> PipelineConfig

Returns:

PipelineConfig

build_body​

def build_body(self) -> List[OpDesc]

Declare logical ops, annotate with cost model, reorder for pipeline.

Returns:

List[OpDesc]

transform_kernel​

def transform_kernel(self, ker: List[ScheduleEntry], body: List[OpDesc]) -> List[ScheduleEntry]

Append AMD schedule_group_barrier hints to kernel entries.

Args:

  • ​ker (List[ScheduleEntry]): The kernel schedule entries to append AMD schedule_group_barrier hints to.
  • ​body (List[OpDesc]): The annotated body ops used to count fragment loads and split loop-carried vs non-loop-carried frags.

Returns:

List[ScheduleEntry]

Was this page helpful?