11.9 流水线
11.9.1 流水线定义
11.9.2 SOR 例子
wavefront。
11.9.3 全可排列循环
如果任意交换循环套中的循环后不改变原程序的语义,则循环套是全可排列的。
SOR 循环不是全可排列的。
经过幺模变换之后,SOR 循环变成了全可排列(即循环套中的循环交换之后,依赖关系依然满足)。
全可排列意味着并行性:见下节。
11.9.4 将全可排列的循环套流水化
一个循环套的最外 k 层循环是全可排列的,则该循环套可以用 k-1 维的流水来执行。
SOR 变换之后,k = 2,所以可以使用一个 1 维线性流水来执行。
没看懂流水优化的意义。相对于之前的仿射并行,流水优化并行有什么优势呢?