What problem does it solve?
This Skill provides a structured recipe to add a new target-specific MmaOp/CopyOp to a FlyDSL backend dialect, enabling support for new hardware backends and the associated lowering and wiring.
Core Features & Use Cases
- Two-level type design: generic payloads in the fly dialect and backend payloads in the backend dialect (e.g., !fly.mma_atom and !fly_rocdl.cdna3.mfma)
- Full interface implementation guidance: Fly_MmaOpTypeInterface, Fly_CopyOpTypeInterface, and optional stateful interfaces, plus example lowering paths (emitAtomCall, emitAtomCallSSA)
- End-to-end roadmap: TableGen declarations, backend code, CMake, Python bindings, and tests to wire a new backend op (e.g., CDNA5_MFMA)
Quick Start
Follow the recipe to implement a new backend-specific MmaOp/CopyOp by declaring the payload types in the backend dialect, wiring up interface methods, adding lowering paths, and integrating build and Python bindings.