Fri May 17 17:05:06 EDT 2019
In RAI, all intermediates were local and did not survive to the next
loop. I remember this being a problem for the FDN implementation.
EDIT: I believe it was the (sparse) matrix multiplication.
I think the central point is to have one loop compute something, and
have another loop use that value. The problem in RAI is that
multi-pass structures are not supported.
So start with something simple. Multipass is necessary when there is
some kind of global -> local data dependency. Anything goes really,
so let's pick vector normalization:
sum squares -> 1/sqrt^2 -> scale
The LTA language cannot yet express accumulators.
Ai <- A(i-1) + Bi
Can I express something that would need multipass without using
accumulators? It doesn't seem so. Accumulation is key.
- Any kind of triangle feedback would be allowed in a first iteration.
Only the regular ones should be replaced by accumulator variables.
- This "allowable range" idea should be extended to generic grids as
well: if a grid was computed in a previous loop, it can be used
entirely. Otherwise only the local part is accessible. Keep this
open and add it once an example pops up.