Skip to main content

Module eval

Module eval 

Source
Expand description

eval_choreography — the executable MEANING of a placed + scheduled spatial program.

Every engine program runs as a coroutine over bounded FIFOs, semaphores and accumulators with tt-metal’s enabling rules (a reserve needs free capacity, a push needs a reservation carrying data, a wait needs pages, a multicast needs every receiver’s reservation, a semaphore wait needs its value). A round in which no program can step while some are unfinished is a Deadlock; every protocol slip is a typed ChoreoFault. Five schedulers must agree (Kahn determinacy, executed). The numerics per tile are the systolic references: integer operands accumulate in wrapping i64 (I32 truncates at pack), float operands accumulate in f32 K-ascending exactly as eval_systolic_bf16, and a spill to a narrower intermediate rounds exactly where the schedule spills. This is the golden oracle every lowering is proven against.

Structs§

Inputs
Outputs
Trace

Enums§

ChoreoFault
Scheduler
Value
A tensor’s elements, row-major over its element shape.

Constants§

INDIRECT_MAP_DEFERRED
The refusal an element-level SCATTER earns: an indirect term on a compute stage’s OUTPUT map. Gathers (an indirect term on an operand map, an IndirectTile on a Load) and tile scatters (an IndirectTile on a Store) have semantics; an element scatter does not, and nothing lowers one.

Functions§

eval_choreography
The meaning of a scheduled program under the round-robin scheduler.
eval_choreography_confluent
Run five schedulers and demand bit-equal outputs — Kahn determinacy, executed.
eval_choreography_dry
A token-only run: every choreography check (reservations, pushes, waits, semaphore protocol, multicast landing, accumulator protocol, store coverage) with no arithmetic — the certificate’s dry run, every trip at its greatest count.
eval_choreography_dry_at
eval_choreography_dry with each trip t counting counts[t].
eval_choreography_every_tensor
eval_choreography with EVERY tensor the program holds at the end in the outputs — its activations and parameters as well as its results: the values a segment of a composed program starts from, and must reach.
eval_choreography_traced
eval_choreography_traced_with
eval_choreography_with
program_sites
Every site any program runs on (a placement view for the lowerings).
round_to
A value as the datapath of precision p stores it (bf16 / fp16 / fp32 rounding; integers untouched).
trip_counts
The count of each of p’s trips on inputs, in trip order: element elem of the trip’s input — as the tensor holds it, at its own precision — through Trip::count_of. An input inputs does not carry reads the tensor’s declared fill.