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 function

derive_edges_from_ops

derive_edges_from_ops(body: List[OpDesc], config: PipelineConfig) -> List[DepEdge]

Derive all dependency edges from op metadata and pipeline config.

Delegates to apply_edge_rules() with the appropriate declarative rule table. Edge predicates are derived from role, channel, and stage metadata — no kernel-specific tag knowledge.

depth=1 (single-buffer): 8 structural rules via role-based matching (sync chains, loop-carried fragments, subtile-matched frag→compute) depth>=2 (double-buffer): 5 rules encoding 4 phases via channel-based matching (register FLOW, accumulator, LDS FLOW, LDS ANTI)

This enables the PipelineSchedule trait to derive edges automatically from config() + build_body(), eliminating derive_edges as a required method.

Returns:

List[DepEdge]