tt-metal tensor sharding visualizer

JS model of tensor_spec.hpp's element → page → core mapping. A logical N-D shape folds (by layout) into pages, which scatter across cores (by sharding). The page → core step reuses the buffer model.

Tensor
N-D, row-major. e.g. 64,96 or 2,64,64
affects row-major recommended shard width
Sharding
Pick one — the other is derived (1 shard / core).
Sets how many cores; shard shape is even-split auto.
Blank = auto: even split, 1 shard/core. Width sets shard width (full height); block sets both. Height sharding always auto-splits.
Advanced
Optional Alignment arg to TensorLayout(dtype, page_config, memory_config, alignment = {}). Blank = create_default_alignment; otherwise merged by initialize_alignment (each dim rounded up to the default).
Final per-core view of which elements land where (below shards → cores).
On by default. Rank-3 elements / page grid / shards render as rotatable cubes of layers; uncheck for flat 2D.
→
Click an element / tile / page / shard / core to toggle its highlight — the same page lights up across every view.

Elements → Cores

page grid → core

① pages → shards

② shards → cores (device pages, shards stacked per core)

Result: elements → core

Each core shows the elements it owns — same core grid as shards → cores, linked highlight.

stats