Fri Oct 9 17:38:36 CEST 2009
Seems to be centered around the idea of linear transformation of
iteration space, which is an integer lattice.
Dependence vectors are integer lattice elements representing spatial
dependencies. The 1D case is called a ``distance vector''.
``Optimizing Compilers for Modern Architectures: A Dependence-based
Approach'' allegedly gives a good introduction about these
EDIT: This is an interesting book. It starts from a lower-level
point: iterations with arbitrary dependencies, and tries to
reconstruct parallellism from that based on dependence.
However, from the point of constructing higher order combinators, the
distinctions between maps and folds is really important:
transformation laws can be expressed on a higher level. But, on the
implementation level of course loops are going to be ever present.