Circuit Transformations, Loop Fusion, and Inductive Proof (natetyoung.github.io)

41 points by matt_d 4 days ago

2 comments:

by ngruhn 10 minutes ago

> A classic compiler optimisation is to fuse these two loops together, so that you only iterate over a once

Honest question: why is that true? If x is the cost of running one iteration of the first loop and y is the cost for the second loop then the total cost is:

    n*x + n*y
After fusing, the cost is:

    n*(x+y)
which is the same.
by discarded1023 9 hours ago

There's a tonne of work done in this space, e.g. Mary Sheeran's µFP from the early 1980s [1], at least for classical synchronous digital circuits. Some googling will dig up a survey or two on modelling circuits with functions and a variety of systems in various languages. BlueSpec was and perhaps is interesting too but is quite a different approach.

[1] see e.g. https://www.jucs.org/jucs_11_7/hardware_design_and_functiona...

Data from: Hacker News, provided by Hacker News (unofficial) API