面向Open64的OpenMP相关编译优化技术研究

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:jerrylucky
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近30年来,伴随着并行计算机的出现,并行计算迅速发展。SMP(对称共享存储多处理机)是一类被广泛使用的并行计算机系统。OpenMP则是其上最流行的并行程序开发模型。OpenMP具有如下几个优点:基于线程从而有更小的额外开销;面向循环容易实现增量并行化;简单、可移植性好。但是同时OpenMP也面临着一些问题:应用范围窄、受到循环表达形式的约束、基于共享变量进行通信对获得高性能的程序提出了更高的要求。这说明即使共享存储模型的程序设计比分布式系统简单,在程序模型和体系结构之间依然有较大的差距。本文讨论OpenMP程序的相关编译优化技术以弥补这种差距。本文工作主要分为三个部分。首先是分析Open64编译系统的构成,明确其中翻译OpenMP涉及的模块,着重讨论了OpenMP的两个翻译过程:OpenMP Prelowering和MP Lowering。此处涉及了并行域管理、共享任务分担和同步以及环境变量等问题,是OpenMP编译的最核心部分。最后,讨论了运行环境的支持。第二部分讨论了如何将简单的fork-join模型的OpenMP程序转化为SPMD类型,以达到更高效地表达程序中并行性的目的。通过并行域的合并与扩张,来减少fork-join模型下线程管理的开销,并且利用Open64的全局过程间分析模块,实现跨越过程边界的并行块的重构,这样做的好处至少有两点:进一步增大并行块的范围,增加计算的粒度;通过将并行块提升到调用函数中,可以进一步对调用中的并行块进行合并,这样使进一步改善程序的结构成为可能。第三部分,首先从理论上分析了四类循环结构下各个调度方式的性能,为用户针对应用的特点选取合适的调度策略提供指导,然后提针对指导调度不能很好地适应递减型循环结构的问题,本文提出一种将指导调度和动态调度结合的改进的调度方式-combined,实验表明该方式有效地弥补了指导调度的上述缺陷。
其他文献
MapReduce是支持数据并行的简单有效的编程模型,它最初为集群编程而设计。随着多核处理器的日益普及,研制面向多核的MapReduce编程库以充分利用多核单机系统的计算资源也变得
多文档自动摘要是自然语言理解领域的一个重要的研究方向。近年来,随着计算机和互联网技术的迅速发展和普及,信息增长的速度比以前各个时期都更快,人们越来越陷入到信息的海洋之
随着计算机网络时代的到来,人们开始通过网络的途径享受各种娱乐服务和学习各种知识,并对家庭数字媒体服务提出了更高的要求。人们需要一种方便可靠的途径,能在家庭环境下获
随着个人电脑市场的增长和存储设备数据存储能力的不断提高,个人数据量变得越来越大。文件系统作为管理用户数据的基础,其名字空间变得越来越复杂,这导致文件系统元数据访问
随着硬件工艺技术的进步,处理器芯片集成了越来越多的晶体管,处理器速度的飞速提高导致其与内存的速度鸿沟不断拉大。现代主流的体系结构都采用分层缓存架构来缓和处理器和内
农业虫害是常对作物造成严重危害的农业生产重要限制因素之一,也是我国农业经济惨遭严重损失的主要原因,而绝大部分的农业生产者对虫害的认识不清,盲目防治,造成农药的浪费,
选址问题是组合优化领域中的一类重要问题,它是对于一些网络服务器、核电站或者物流中心等有限且重要的资源进行选址决策,在生产管理与调度,网络通信,理论计算机科学等方面有
网络上信息的共享是人们关注的一大热点。目前资源组织管理以C/S方式为主,即资源集中存放在服务器端,资源的交换、用户之间的交流通过服务器完成,用户和服务器之间的交流是系
面向服务的体系架构(Service oriented Architecture,SOA)作为一种新的分布式软件系统架构,为互联网环境中服务共享、服务重用、业务集成提供了新的解决方案,它能实现系统之
无线传感器网络是近年来世界各国科学研究的热点之一,作为二十一世纪十大新兴技术之一,它将对人类生活的许多方面产生深远的影响。然而,目前无线传感器网络在安全方面面临着