Deprecate IRON sequential placer and generate unplaced tiles#2899
Draft
Deprecate IRON sequential placer and generate unplaced tiles#2899
Conversation
- Replace tileOp use with TileLike for ops that want to support unplaced tiles. - Right now this replacement is only in op verification as placement is expected to be first lowering pass. - Future passes above placement level should query ops using this interface instead of concrete tileOp.
…d ShimNOCs existing on same row.
- Tile class now stores tile type and optional coordinates - Device creates logical tiles without placement - Worker, Buffer, ObjectFifo updated for logical tile support - Remove tile placement from Program.resolve() - Update Python dialect bindings for logical_tile op
Update 100+ examples in programming_examples/ and programming_guide/ to use new IRON API that emits logical tiles. Changes are mechanical one-liners.
e3a0c39 to
82b8159
Compare
10 tasks
…o same tile were recreating them. Cleaned up test files and removed deprecated placeable.py and placers.py .
…ile, should functionally be the same.
yenjames
added a commit
that referenced
this pull request
Feb 27, 2026
Contributor
Coverage ReportCreated: 2026-02-27 22:31Click here for information about interpreting this report.
Generated by llvm-cov -- llvm version 18.1.3 |
923d200 to
2136ab3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note: This PR will fail CI tests as it removes IRON placement without the corresponding placement pass.
Summary
IRON API now creates logical tiles with tile types and optional coordinates, deferring placement to MLIR pass. This PR deprecates python-side placement concepts including Placer, Placeable class and tile resolve.
Changes
Tilesnow store tile type and optional coordinates.RuntimeEndpointsand endpoints generated by.forward()now demand a unique logical Shim/Mem tile which will be placed.aie.tile, workers (Core/computation tiles) are not.AsmResultName, but since logical tiles don't necessarily have coordinates, ops using logical tiles will use default%0etc result names, causing a change in Asm numbering for tests.TODO: Update documentation.
Blocked by