并行化编译器中基于工作量的条件并行化研究

并行化编译器中基于工作量的条件并行化研究

ID:34564845

大小:258.52 KB

页数:3页

时间:2019-03-08

并行化编译器中基于工作量的条件并行化研究_第1页
并行化编译器中基于工作量的条件并行化研究_第2页
并行化编译器中基于工作量的条件并行化研究_第3页
资源描述:

《并行化编译器中基于工作量的条件并行化研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据中文核心期刊《微计算机信息》(测控自动化)2005年第21卷第4期并行化编译器中基于工作量的条件并行化研究TheResearchofConditionalParallelizationBasedonWorkloadinParallelizationCompiler摘要:并行化编译器通过发掘串行程序中的并行性来提高程序的运行性能。但当可并行的工作量与并行的线程数目之比较小时,有可能采用并行执行反而会降低程序的整体性能。本文工作基于SUIF结构.研究精确的工作量计算方法,并实现了基于工作量的条件并行化技术,有效地提高了并行程序的执行

2、性能。,.关键宇:并行化编译器,条件并行化。性能预测,SUIF中图分类号:.I粥14文献标识码:A文章编号:100s-0570(2005)04-0220一舵Abstract:Parallelizationcompilerimprovesperformancebyex—ploitingtheparallelisminserialprogram.Butiftheradioofparallelworkloadtoparallelthreadnumberissmall,parallelex—ecutioncandegradesprogrampe

3、rformance.Inthispaperthemethodtoexactlycomputetheworkloadisstudied,andconditionalparallelizationbasedontheworkloadisrealizedintheSUIF,theparallelprogram7sperformanceisimprovedeffectively.Keyword:parailelizationcompiler;conditionalparalleliza-tion;performanceprediction;SU

4、IF1引言近些年来随着并行计算机技术和应用的发展.具有并行化功能的编译器受到了越来越多的研究和关注。它对继承原有的串行程序和技术有着重要的作用.它可大大减轻程序员的负担.降低并行程序开发成本,加快并行程序的开发。并行化编译中的条件并行化是通过给一段可并行代码附加一些特定条件,当条件满足时,并行执行这段代码,反之串行执行,使得代码的执行模式能够在并行和串行之间自动转换。通过基于工作量的条件并行化。可以排除工作量小的并行区对并行执行性能的负面影响,提高并行程序的运行效率。本文将从并行区工作量与并行化执行线程相关的角度来研究和探讨如何提高程序

5、执行性能方法和技术。本文工作基于SUIF结构,研究了精确的工作量计算方法.并进行了基于工作量的条件并行化技术实现,经部分程序运行测试,有效地提高了并行程序的执行性能。2基于工作量的条件并行化编译实现一个有效的并行编译系统不仅要能够识别出可以进行并行执行的并行区域.还要能够排除那些小工作量的并行区对并行程序运行效率的负面影响。本节以斯坦福大学的SUIF为并行编译结构平台。讨论如何实现基于工作量的条件并行编译。SUIF(StanfordUniversityIntermediateFormat)系统是斯坦福大学研制的并行编译器。它在源程序一级

6、对程序进行并行化,目前它并行化的对象主要是循环。SUIF中实现了许多先进的依赖侯永生:硕士研究生项目基金:河南省杰出人才创新基金:0521000200(郑州信息工程大学)侯永生赵荣彩张平韩枫Hou,YongshengZhao,RongcaiZhang,PingHan,Feng关系分析和并行化技术.能够识别出串行程序中绝大部分可并行的循环。通过SUIF中的依赖关系分析模块得到串行程序中可并行的循环。这些循环作为我们条件并行化的的输入,经过计算工作量和并行判断后.将那些值得并行的部分通过SUIF并行代码和优化模块生成高效的并行代码(图3.1

7、)。在实现基于工作量的条件并行时。有两个部分是关键:①如何计算可并行成分的工作量。②计算出工作量后,如何判断和认定它是否值得并行。下面分别从这两个方面阐述条件并行化的实现过程。(1)、并行工作量的计算:对工作量计算主要是如何实现对循环体工作量的计算。循环是将一段代码重复执行多次,所以将计算循环工作量分为两部分:一是对指令执行的计算,二是循环次数的计算。a、指令的开销:因为指令的开销随着硬件平台的不同而存在差异.所以我们采用指令描述文件的形式来描述指令的开销。这样做一是从程序实现上比较灵活:二是提高程序的可移植性。当运行环境和编译环境不同

8、时.可以将目标平台上的指令开销以指令描述文件形式表示出来.这样计算出来的是目标平台上的工作量.从而实现交叉编译。b、迭代次数:SUIF能够计算出上下界为常数的循环迭代次数。但它无法处理上下界是变量的循化迭代

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。