Skip to main content

Module place

Module place 

Source
Expand description

place — pin every work item, stage and buffer to a site and an engine.

Blocked plans map output block (oy, ox) to site (x = ox, y = oy) — the alignment that lets a row of sites share its A blocks and a column its B blocks (a sequential n % grid_x mapping would break reader fusion). Streaming plans reproduce tt-metal’s split_work_to_cores exactly (column-major core-range selection, x-fastest offsets inside each range), so the streamed program is the vendor’s cycle-for-cycle. After placement stages and buffers are explicit PER-SITE INSTANCES (origin remembers the template), and every engine slot carries the NOC the target’s rule assigns.

Functions§

place
The place pass.
split_work_to_sites
tt-metal’s split_work_to_cores(grid, units, row_wise = false) + the host’s per-range iteration: (site, first unit, unit count) in assignment order.