Now the static
router is very useful, but it would nice to have a tool to automatically
program it. That’s what RawCC does. It takes a sequential
C program and
parallelizes it across the tiles. This is process has a lot of simularities
to circuit partitioning, placement and routing.
RawCC starts
with a code, and then turns into a data flow graph. It partitions the
dataflow graph into threads, and then assigns those threads to tiles.
Finally, it
programs the static routers to route values between the tiles.