skip to content
==> README.md <==
1# @ajax/mesh-rt-loop
2
3`mesh_rt_run(mb, slot, init, task)`: the node loop, the body of every program's kernel. Thread 0 of the
4node takes a ticket from the slot's ring, waits for its publication, hands the descriptor to the block
5through shared memory and a barrier; the block runs the op; thread 0 completes it (result, mark released,
6`P_DONE`, the node record, the trace record). Idle, it keeps the heartbeat and the node load record (time
7slices the context did not get), takes no ticket while `H_BLINK` is set, and leaves at a task boundary
8once `P_SHUTDOWN` is set.
9
10- **Ported from:** alpha-rust-mesh `crates/mesh-rt/src/ring.rs`, statement for statement (including the
11  one-wide-multiply-add indexing that works around ptxas 13.0 on sm_121).
12- **Tests:** @ajax/mesh-prog-hello runs batches over two nodes, a halt and a relaunch on the simulator,
13  checking results, marks, `P_DONE`, `P_ONLINE` and counters.