Skip to content

feat(sunmmio): integrate pipeline planning and codegen updates - #374

Merged
xiaoyao-NKU merged 10 commits into
tilelang_mesh_mainfrom
dev/codegen
Sep 2, 2026
Merged

feat(sunmmio): integrate pipeline planning and codegen updates#374
xiaoyao-NKU merged 10 commits into
tilelang_mesh_mainfrom
dev/codegen

Conversation

@xiaoyao-NKU

Copy link
Copy Markdown
Collaborator

Summary

Merge the accumulated SunMMIO compiler and code-generation updates from
dev/codegen into tilelang_mesh_main.

This includes HiGHS-backed ILP pipeline planning, synchronization and
scheduling hardening, codegen correctness fixes, and migration to the current
mesh placement APIs.

Changes

  • Add ILP-based pipeline planning and injection with HiGHS, including resource
    constraints, diagnostics, pass configuration, and test coverage.
  • Harden greedy pipeline planning for collective ordering and SRAM bank
    awareness.
  • Improve asynchronous wait placement and synchronization handling inside
    loops.
  • Remove unused annotated SunMMIO allocations.
  • Add full-row DMA support between aligned row-major DRAM and RSRAM.
  • Preserve reduction completion order during tile-loop fusion.
  • Preserve cast-expression evaluation dtypes during SunMMIO code generation.
  • Optimize 1D tile squeeze/unsqueeze and reduction temporary-register tracking.
  • Reuse planner configuration and extend SUMMA routing validation.
  • Migrate examples, tests, and documentation to the current mesh placement
    APIs.
  • Add pipeline cost-model calibration documentation and expand C++ and Python
    regression coverage.

Included Work

weizzh and others added 10 commits August 14, 2026 16:21
* [SunMMIO] Add ILP-based pipeline planning and injection (#322)

* feat(sunmmio): add ILP pipeline infrastructure

* feat(sunmmio): add ILP pipeline planning

* feat(sunmmio): add ILP pipeline injection

* Feature/sunmmio ilp pipeline (#330)

* feat(sunmmio): add ILP pipeline infrastructure

* feat(sunmmio): add ILP pipeline planning

* feat(sunmmio): add ILP pipeline injection

* docs(sunmmio): clarify ILP model and restore generic costs

* Feature/sunmmio ilp pipeline (#331)

* feat(sunmmio): add ILP pipeline infrastructure

* feat(sunmmio): add ILP pipeline planning

* feat(sunmmio): add ILP pipeline injection

* docs(sunmmio): clarify ILP model and restore generic costs

* fix(sunmmio): restore generic pipeline cost model

* Add 'highs' submodule and build target to CI

Updated the CI workflow to include the 'highs' submodule and build target.

* Feature/sunmmio ilp pipeline (#344)

* feat(sunmmio): add ILP pipeline infrastructure

* feat(sunmmio): add ILP pipeline planning

* feat(sunmmio): add ILP pipeline injection

* docs(sunmmio): clarify ILP model and restore generic costs

* fix(sunmmio): restore generic pipeline cost model

* fix(sunmmio): model layout transform writes in ILP

* fix(sunmmio): align shifted access versions in ILP injection

* fix(build): package HiGHS with ILP builds

* Feature/sunmmio ilp pipeline (#348)

* feat(sunmmio): add ILP pipeline infrastructure

* feat(sunmmio): add ILP pipeline planning

* feat(sunmmio): add ILP pipeline injection

* docs(sunmmio): clarify ILP model and restore generic costs

* fix(sunmmio): restore generic pipeline cost model

* fix(sunmmio): model layout transform writes in ILP

* fix(sunmmio): align shifted access versions in ILP injection

* fix(sunmmio): model VC blocking issue in ILP

* fix(sunmmio): address remaining ILP review issues

* style(sunmmio): format ILP pipeline test

* fix(sunmmio): resolve ILP clang-tidy errors

* fix(sunmmio): avoid unnecessary PrimFunc copy
* fix(sunmmio): harden async wait placement in loops

* fix(sunmmio): handle transpose in async wait placement

* fix(build): use Python 3.9 stable ABI for wheels
…d SRAM Bank Awareness (#350)

* Fix/greedy (#347)

* feat(sunmmio): harden greedy collective pipeline scheduling

* test(sunmmio): make greedy collective fixture self-contained

* Fix/greedy (#349)

* feat(sunmmio): harden greedy collective pipeline scheduling

* test(sunmmio): make greedy collective fixture self-contained

* fix(sunmmio): avoid unnecessary PrimFunc copy

* test(sunmmio): align pipeline expectations with ping pong

* fix(sunmmio): preserve dynamic epilogue schedules

---------

Co-authored-by: Xiaoyao <39077302+xiaoyao-NKU@users.noreply.github.com>
Co-authored-by: Xiaoyao <39077302+xiaoyao-NKU@users.noreply.github.com>
…r DRAM and RSRAM (#357)

* fix(sunmmio): expand aligned row DMA extents

* test(sunmmio): cover aligned row DMA carriers

* fix(sunmmio): support aligned row matrix DMA copies

* test(sunmmio): align row-major copy fixtures

* fix(sunmmio): scope aligned row DMA validation

* style(sunmmio): satisfy pre-commit checks
…sion (#358)

* fix(sunmmio): preserve loop fusion dependence order

* fix(sunmmio): retain safe WAR loop fusion

* style(sunmmio): format loop fusion rewrite tests
@xiaoyao-NKU
xiaoyao-NKU requested a review from weizzh September 2, 2026 13:30
@xiaoyao-NKU
xiaoyao-NKU merged commit 75d8f2e into tilelang_mesh_main Sep 2, 2026
9 of 10 checks passed
@xiaoyao-NKU
xiaoyao-NKU deleted the dev/codegen branch September 2, 2026 15:44
@xiaoyao-NKU
xiaoyao-NKU restored the dev/codegen branch September 2, 2026 15:44
@xiaoyao-NKU xiaoyao-NKU mentioned this pull request Sep 3, 2026
38 tasks
@xiaoyao-NKU
xiaoyao-NKU deleted the dev/codegen branch September 4, 2026 08:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants