You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Address review on PR #3044:
* Lift the CoreTile/MemTile capacity dispatch into a single
`AIETargetModel::getDataMemorySize(AIETileType)` helper. Both
AIEAssignBuffers (basic + bank-aware) and the placer now consume it,
removing three copies of the same dispatch.
* Reserve `core.getStackSize()` per CoreTile LogicalTileOp at requirement-
build time. AIEAssignBuffers reserves the stack before laying out
buffers; the placer now matches that, so a CoreTile candidate that
passes here also fits at allocation time.
* Validate the per-LogicalTileOp upper bound for MemTiles too. Full
per-physical-tile accumulation across MemTile-sharing LogicalTileOps
is still left to AIEAssignBuffers (the channel-style accumulator is a
separate follow-up), but the necessary single-tile bound is now
caught here with the better diagnostic.
* Track in the partial-constraint loop whether buffer capacity was the
*only* reason candidates matching `col`/`row` were skipped, so the
unconstrained-failure suffix names buffer capacity only when that was
the actual cause. Document that on current homogeneous devices the
per-candidate buffer filter is forward-looking - all CoreTiles share
one capacity - so its purpose today is to feed the diagnostic.
* Switch `tileMemoryCapacity` to `int64_t`, matching `getAllocationSize`
and removing the `static_cast<uint64_t>` workaround.
* Diagnostic now distinguishes "buffers + stack" (CoreTile) from
"buffers" (MemTile), with the bytes-vs-capacity numbers reflecting
the actual demand including stack.
* Tests: add multi-buffer summation, physical-tile peer skip, MemTile
pinned fits/overflow, and an AIE2P/npu2 path. Update the existing
error wording / overflow byte counts for the stack-aware demand.
* Document the remaining limitations in code comments: ObjectFifo-
derived buffers are not yet visible at this pass and remain
AIEAssignBuffers' responsibility; mid-migration mixed physical/
logical IR is validated only for the LogicalTileOp share.
All 137 lit tests pass under test/place-tiles, test/dialect/AIE,
test/assign-buffer-addresses (1 pre-existing XFAIL); mlir-air rebuilds
clean against the updated shared library.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments