OpenMP并行编程模型与能性优化方法的研究及应用

来源 :成都理工大学 | 被引量 : 0次 | 上传用户:lovelyhuanhuan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机硬件的不断发展,现在的多核处理器已经越来越成熟,目前推出的个人PC机处理器已经是双核或四核,因此,充分利用多核处理器的优势已经势在必行。在这样的情况下,以OpenMP为代表的共享存储模型编程技术随着多核技术的进步而迅猛地发展起来。   OpenMP编程模型是近些年来在共享存储系统基础上兴起的并行编程模型,目前在Windows和Unix/Linux平台上都有具体的实现,是一种非常适合共享存储系统的编程标准。利用OpenMP编写并行程序比传统的MPI开发程序更加简单,这是由于OpenMP利用多线程技术,比MPI的多进程方式管理更加节省开销。因此,OpenMP已成为共享存储编程模型事实上的标准。   本文首先研究了多核存储体系结构及适应该体系结构的并行计算模型,在此基础上进一步研究了并行程序设计模型和设计方法,分析了影响多核并行计算性能的主要因素,为进一步研究多核环境下OpenMP并行算法的设计及并行程序的开发奠定了基础。   通过分析OpenMP编程模型,重点研究了OpenMP并行编程模式的设计形式——fork-join模式和SPMD模式的程序设计,并经实验分析比较了两种模式开发程序的特点,验证了利用SPMD模式开发的大型应用程序具有的性能开销较小、可扩展性好等优点。在研究OpenMP并行程序的开销模型的基础上,分析了影响OpenMP并行算法性能的因素,提出了一套OpenMP程序的优化方法。优化方法包括并行域的扩展和合并、Cache命中率优化、循环调度方式优化、变量属性优化、处理器线程绑定优化和降低伪共享问题的优化等。通过实验测试表明,这些优化方法在解决实际问题中取得了较好的应用效果。   本文分析了大型稀疏矩阵的结构特点,并利用CSR压缩存储方式对稀疏矩阵进行压缩存储,从而节省了稀疏矩阵的存储空间。在此基础上,进一步分析了由于压缩存储结构而导致的性能因素,并提出了相应的OpenMP编程解决方案。   设计和实现了求解大型稀疏矩阵特征值的逆幂法,并且实现了逆幂法求解过程中求解大型稀疏方程组的共轭梯度法(CG)。通过分析逆幂法和共轭梯度法的内在并行性,设计了利用OpenMP进行逆幂法和共轭梯度法的并行化方案,并且给出了具体实现方法。   通过实验和结果表明,利用SPMD模式设计的openMP并行程序在求解大型稀疏矩阵应用中具有良好的性能表现,能够大幅度提升程序性能。本文提出的OpenMP并行程序优化方法也在求解大型稀疏矩阵问题上得到了验证,实践表明,通过综合使用这些并行程序优化方法,能够显著地提升OpenMP应用程序的性能。
其他文献
随着计算机仿真技术和硬件设备性能的不断提高,红外图像仿真技术能够很好的生成各种不同气象条件、不同时刻和季节下目标和背景的红外图像,近年来得到迅速发展,并获得了广泛
步入信息化时代,中文信息处理成了重要研究领域。中文信息存在错综复杂的关系,相关是对多种关系的总称,范指任意两个对象之间存在的关联关系,相关度是对相关的定量表示。词语
随着城市现代化建设的快速发展,城市轨道交通正逐步全面进入网络化运营时代。在大幅提升交通运力和出行便利的同时,也给运营调度带来了新的问题和挑战。在网络化运营及“无缝
室内定位技术的研究已有二十多年历史,人们使用超声波、红外、射频识别等技术研发出各种不同的室内定位系统,针对不同应用环境得到不同的定位精度。但是,它们通常需要较为昂
量子计算具有许多优良的特性,如并行性、存储容量达指数级以及指数加速等,当今许多国家都对其进行研究,并把其列为本国重点研究的前沿学科。量子理论中定义的量子态的叠加、纠缠
对人脸图像的研究问题一直是数字图像处理、模式识别、计算机视觉等领域的热点之一。然而,受制于成像设备、传输带宽、环境干扰等硬件条件的限制与影响,获取的人脸图像的分辨率
医学图像分割是对正常组织和病变组织进行三维重建、定量分析等后续操作的基础和关键,并可为临床诊断和辅助治疗提供有力的支持。由于在核磁共振成像的过程中存在电子噪声、
随着计算机动画技术的不断发展,人们对三维虚拟模型情感表达的真实感提出了更高的需求,三维口型动画就是其中的一个重要部分。论文根据汉语协同发音规律对口型合成的影响,提出了
随着互联网的飞速发展和智能移动终端的广泛使用,移动互联网已经深入到社交、交通、购物、物流等社会生活多个方面。在众多移动互联网应用中,LBS(Location BasedServices,基于位
多媒体技术的发展,使得每天都有海量图像数据不断产生。图像分类作为数据组织的一种基本方法,一直在研究领域备受关注。图像分类问题可以概括为两个大步骤:(a)首先就是要将视