龙书 11 并行和数据局部性优化-5

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 维线性流水来执行。

没看懂流水优化的意义。相对于之前的仿射并行,流水优化并行有什么优势呢?

11.10 局部性优化

猜你喜欢

转载自www.cnblogs.com/leoict2017/p/8932817.html

相关文章