Skip to main content

Module synthesize_handshakes

Module synthesize_handshakes 

Source
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_handshakes pass.