Expand description
synthesize_handshakes — semaphore choreography DERIVED from the buffer/edge graph.
For every site and engine the pass emits the exact op sequence the edges’ handshake kinds demand:
local FIFO / valid-ready hand-offs (Reserve → fill → Push, Wait → use → Pop), the multicast sender’s
ready-wait / reset / data multicast / [flush] / valid-flag multicast, the receiver’s invalidate /
ready-increment / valid-wait, the compute engine’s acquire / [reload] / compute / pack / release with the
first and last K block peeled (no runtime if), and the writer’s wait / write / barrier / pop. Each
program is one ENGINE’s sequential code; loops over K blocks and sub-blocks are explicit; the item loop is
persist’s.
Functions§
- synthesize_
handshakes - The
synthesize_handshakespass.