高性能计算机软件循环流水,多重循环的软件流水_比较与提高.pdf

计算机科学2004V01.31N9-3

多重循环的软件流水:比较和提高

李文龙汤志忠

(清华大学计算机科学与技术系 北京100084)

摘要循环井行化是并行编译的核心问题之一。许多科学计算程序的太部分执行时间花费在循环上.有效开发循环

中的并行性将提高整个程序的执行羲率。多重循环最为常见,固此井行化多重循环具有重要的理论和现实意义。现代

处理器中硬件资源迅速增长,也使得在整个多堆循环空问中开发井行性成为必要。目前太多教软件流水算法只对最内

层循环,仅有少数的算法对多重循环进行软件流水t本文介绍几种多重循环的软件流水算法.比较它们之间的相似与

不同之处,为编译器实现中算法的选择提供了指导。

关键词较件流水.启动间距,并行性识别,多重循环

A

TheSoftware of and

PipeliningMultiloops:ComparisonImprovement

LIWen—LongTANG

Zhi—Zhong

of

(DepartmentComputer 100084)

Science&TechniquetTsinghuaUniversity。Beiiing

Abstract isoneof of lots

Loopsparallelizationkeyproblems ofScience

parallelizingcompile.A Computation

ofexecutiontimeOn

programsspendgreaterpart in will

loops.Effectivelydevelopingparallelismloops improve

executionoftheentire This introducessomeotsoItware

speed programpaper of

pipeliaingalgorithmsmuhiloops,and

similaritiesanddifIerencesbetweenthem.

compares

Software

Keywords pipelining,Initiationinterval,Parallelism,Multiloop

题,一个NP难题。因此,不得不寻找启发式,希望阻较小的时

1介绍

间复杂度,得到近优解。

软件流水01通过重叠不同循环体的执行来获得加速。在 最重要的启发式之一是模调度口]:所有循环体按照一十

一个循环体(Iteration)未执行完毕之前,可以启动下一个循

固定的启动间距依次启动,每个循环体的调度都相同。调度结

环体。二者的启动时刻之差称为启动间距(II:Initiation

果由装入、核心和排空三部分组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值