迈向时间最优软件流水化与指令调度方法对比
在计算机编程和优化领域,时间最优软件流水化以及指令调度方法是提高程序执行效率的重要方面。下面将详细介绍时间最优软件流水化的相关理论,以及两种指令调度方法——尾复制和补偿代码的对比。
时间最优软件流水化
时间最优软件流水化旨在让循环程序以最优的时间执行。在探讨这个概念之前,我们先了解几个重要的定义。
- 定义 5 :存在一个满射函数 $\beta : NSP \Rightarrow N$,其表达式为 $\beta(nsp) = sp \ ni\alpha(pe,sp),pe,sp - 1(nsp)$,其中 $pe,sp \in Pe,SP$ 是包含 $nsp$ 的唯一执行路径。
- 时间最优的定义 :对于并行程序 $LSP$,若对于每个执行路径 $pe,sp \in Pe,SP$,$\tau(t(pe,sp)[|pe,sp|])$ 等于执行路径 $pe$ 中最长依赖链的长度,则称 $LSP$ 是时间最优的。这里用 $pe$ 中的最长依赖链而非 $pe,sp$ 中的,是因为 $pe,sp$ 可能包含不应在时间最优定义中考虑的推测节点。路径 $p$ 中最长依赖链的长度用 $|p|$ 表示。
要使循环 $L$ 有等价的时间最优并行程序,需满足以下必要条件:
- 条件 1 :存在一个常数 $B > 0$,使得对于 $L$ 中的任何执行路径 $pe$,对于所有 $1 \leq i < j \leq |pe|$,都有 $|pe[1, i
超级会员免费看
订阅专栏 解锁全文
1058

被折叠的 条评论
为什么被折叠?



