Expand description
SpatialTarget — the described MESH a spatial program is placed onto.
One descriptor per chip class: how many sites, what each site holds (local memory, accumulator tiles,
movement engines, NOCs), the native compute tile, which interconnect and handshake primitives exist, and
which compute capabilities (tile matmul, elementwise, row-reduce, a scalar datapath) the site offers. The
passes read ONLY this descriptor; every number is cited at its constructor, and the fields that a public
datasheet does not give are listed in modeled so the descriptor never pretends to know them.
The scalar datapath capability EMBEDS the existing FabricTarget descriptor — the fabric lane is a
consumer of the spatial IR, not a sibling of it.
Structs§
- Credit
Latency - The latencies a bounded buffer’s credit loop is sized against, in cycles.
- Mesh
Shape - The mesh of sites:
xcolumns ×yrows. - NocRule
- The NOC-direction convention a mesh imposes on multicast roles — measured, not chosen: on Wormhole the in0 senders must multicast on NOC 0 and the receivers listen on NOC 1 (all-on-one-NOC inverted the multicast rectangle under ttsim); the writer takes the complement, except the first column.
- Numerics
Knobs - The three numerics knobs the measurement harness varies, and the PCC the program then requires of
itself.
scripts/tt-matmul-measure.shsets them asLOGOS_TT_FIDELITY/_FP32/_L1ACC, and every ledger row records what the program PRINTED rather than what was asked for — so this parser is part of the measurement contract, not a convenience. - Site
Spec - What one site holds.
- Spatial
Target - The described mesh.
- Tile
Shape - Geometry of one native compute tile — 32×32 on Tensix, a 16×16 fragment on a tensor core, 1×1 for a scalar fabric cell.
Enums§
- Block
Api - How a matrix engine’s sub-block API runs one compute op over an
osh × oswsub-block and itsibwinner steps: the calls it makes and the operand tiles it loads. - Compute
Cap - A compute capability a site offers.
- Dataflow
Policy - Which operand stays resident in the compute engine while the other streams.
- Fidelity
- Matmul math fidelity of a tile engine.
- Handshake
Kind - The synchronization primitive an edge may use.
- Interconnect
- How sites exchange data.
- Packer
Accumulate - Whether a matrix engine’s packer can ADD into a local-memory page instead of overwriting it.
- Write
Ordering - Whether NOC writes retire in issue order (Wormhole) or need an explicit flush before a dependent semaphore multicast (Blackhole).
Functions§
- int_
precision_ max - The largest value a signed integer precision holds.
- int_
precision_ of_ bits - The signed integer precision of exactly
bitsbits, if the dial has one. - precision_
bytes - Bytes per element of a precision.
- precision_
int_ bits - Bit width of an integer precision (the operand truncation the systolic reference applies).
- precision_
is_ int - Whether a precision is an integer format.
- sim_
grid - The compute-with-storage grid the cycle-accurate simulator exposes for a chip id (slow dispatch):
wormhole_b0_80_arch.yaml→ 8×9,blackhole_140_arch.yaml→ 13×10 (one column of the 14×10 reserved). Read from the vendor examples’compute_with_storage_grid_size()on each descriptor.