11.9 Pipelining
11.9.1 Pipeline Definition
11.9.2 SOR Example
wavefront。
11.9.3 Fully Arrayable Loops
A loop set is fully permutable if the semantics of the original program are not changed after arbitrarily swapping the loops in the loop set.
SOR loops are not fully sequenceable.
After unimodular transformation, the SOR loop becomes fully permutable (that is, after the loop exchange in the loop set, the dependencies are still satisfied).
Fully permutable implies parallelism: see next section.
11.9.4 Fluidizing a Fully Arrangeable Loop Jacket
If the outermost k loops of a loop set are fully permutable, the loop set can be executed with k-1 dimension pipeline.
After the SOR transformation, k = 2, so a 1D linear pipeline can be used to perform it.
I don't understand the meaning of flow optimization. Compared with the previous affine parallelism, what are the advantages of pipeline-optimized parallelism?
11.10 Locality Optimization