首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
程海英  张武 《计算机工程与设计》2004,25(11):1961-1963,2011
根据解反应扩散方程的自适应样条小波-交替方向(SW-ADI)方法,使用MPI、OpenMP两种并行编程模式,对串行程序进行了直接并行化,并在上海大学的高性能计算机自强2000上分别用MPI和OpenMP实现了对方程的求解。对运算结果进行了分析并给出了与串行程序相比较的并行加速比。  相似文献   

2.
在神威高性能多核服务器上,自动并行化编译系统为识别和申明程序中的并行性,产生的OpenMP程序没有经过充分的优化,其采用简单的fork-join模型,存在大量的并行循环嵌套,导致运行效率低。为提升自动并行化编译系统产生的OpenMP程序的运行效率,提出一种并行域重构优化技术。并行域重构技术通过合并程序中的并行域和扩展嵌套循环中的并行域范围,减少OpenMP程序的并行域数目,降低线程组频繁创建和合并等控制开销,将简单fork-join模型的OpenMP程序转换为性能更为高效的单程序多数据模型的OpenMP程序。实验结果表明,在新一代神威高性能多核服务器SW1621平台上,并行域重构技术在NPB3.3-OMP测试集和SPEC OMP2012测试集上的运行效率分别提高了10.77%和7.94%的,可有效提升自动并行化编译系统OpenMP程序的执行效率。  相似文献   

3.
马红途  赵荣彩  张平  高翔 《计算机工程》2005,31(8):90-92,114
介绍了如何基于SUIF实现具有OpenMP编译指示的自动并行化工作,即利用SUIF系统所提供的遍(pass)、注释(annotation)和C抽象语法树等技术,通过对类Ctrec的修改,把并行注释转化为OpenMP编译指示,实现由串行程序到并行C程序的自动生成。  相似文献   

4.
程序可以看作由很多计算组成(例如一个循环或一个平直代码片断),它们彼此相关或者无关,共同为计算最终的结果服务,其中彼此不相关的计算是并行性的重要来源。程序切片(Program Slicing)是一种程序分解技术,能够根据切片标准从程序中提取出特定的计算,切片技术的应用很广泛,例如程序调试、理解、维护等软件工程应用。切片技术作为一项程序分解技术,也可以用来帮助串行程序并行化。研究利用切片技术表示和发掘程序中的无关计算带来的并行性。首先提出一种基于OpenMP扩展的切片并行编程模型,用以表达程序中的切片并行性。另外,开发了一个基于切片的并行化分析系统,用来辅助程序员发掘程序中的切片并行性。  相似文献   

5.
采用多核技术。通过使用Win32API、OpenMP、MPI三种并行模式将求解非线性方程的蒙特卡洛方法的串行方法并行化,得到5种并行化方法。根据数值试验结果,对各种并行方法进行比较,发现Win32API并行模式计算速度最快,最终将结论加以推广。  相似文献   

6.
分析了并行关联规则挖掘算法存在的不足,提出了一种改进的关联规则挖掘的多核并行优化算法。该算法对Apriori算法的压缩矩阵进行了改造,并在多核平台下利用OpenMP技术和TBB技术对串行程序进行循环并行化和任务分配的并行化设计,最大限度地实现并行关联规则挖掘。  相似文献   

7.
使用Intel Parallel Amplifier高性能工具,针对模糊C均值聚类算法在多核平台的性能问题,找出串行程序的热点和并发性,提出并行化设计方案.基于Intel并行库TBB(线程构建模块)和OpenMP运行时库函数,对多核平台下的串行程序进行循环并行化和任务分配的并行化设计.  相似文献   

8.
研究了多核计算机上0penMP+Vc++编程模式的并行程序,并在双核和四核计算机上分别使用传统算法和并行算法计算数列求和、矩阵乘积及矩阵Cholesky分解。试验表明,传统串行程序只能利用多核计算机的一个核资源,而采用OpenMP程序的并行效率很高。  相似文献   

9.
基于分块数据结构的冲击问题并行计算   总被引:1,自引:0,他引:1  
针对三维冲击问题,基于分块数据结构在共享内存并行机上实现OpenMP并行计算.分块数据结构不仅能有效利用计算机多层存储结构,而且增加OpenMP的并行粒度.数值实验表明:在使用分块数据结构后,串行程序的计算速度能提高3倍.通过柱体冲击平板数值模拟实验讨论并行程序的加速比和效率,表明并行程序能有效减少总计算时间.  相似文献   

10.
国家气象局天气组网雷达定量估测降水系统不仅拥有较大的计算量,而且具有较大的数据吞吐量,同时对实时性要求较高。如果缩短其执行时间,无疑将会带来巨大的收益。鉴于这些特点,使用VTune Amplifer XE对串行程序进行了热点分析和并行性分析,得出程序中有较多线程级并行性,从而制定了相应的并行化方案;然后使用Win32多线程和OpenMP两种技术对该程序在Intel四核处理器平台上进行了并行化。程序主要由单站处理和组网处理两部分组成。由于计算资源的限制,并行后的单站处理程序只有大约10%的性能提升,而组网处理程序则可以达到近似线性的性能提升。通过调整计算负载,并行化版本的加速比可以达到5.5。最后,可以得出该并行化方法适用于计算密集且数据吞吐量较大的一类应用。  相似文献   

11.
并行计算是指同时使用多种计算资源解决计算问题的过程,节省了大量计算时间,极大地提高计算效率.目前各领域大量的串行程序已经相当成熟,所以如何通过一种转换,将现有大量的串行程序转化成并行程序,是提高程序运行速度的突破口.为了将串行程序并行化,以提高程序的运行效率,充分利用已经非常成熟的大量串行程序,文中从图论出发,建立并讨论了串行算法并行化的三个数学模型:有向带权图模型、集合划分模型、标记AVL树模型.通过这些数学模型,基于图论的思想方法,文中讨论了串行算法并行化的可行性,并提出了串行程序并行化的算法思想  相似文献   

12.
OpenMP的多核并行程序设计   总被引:3,自引:0,他引:3  
介绍一种多核并行编程标准OpenMP,对循环并行化的指令和使用方法进行详细解释,并给出实例证明使用OpenMP对多核环境下程序效率的提高。  相似文献   

13.
随着社会生产生活的发展,对计算机的依赖越来越大,要解决庞大计算量的实际问题就需要高性能的计算机以及高速的计算方法。在应用蒙特卡洛方法求解非线性方程组时,利用多线程技术,串行改并行,使用WinAPI、OpenMP、MPI三种并行模式得出三种最优的并行计算方法。根据数值试验分析了各种计算模式的优缺点,发现MPI并行模式计算速度最快,最终得以结论并行计算模式可以推广到各种数值计算问题。  相似文献   

14.
志愿者计算模型在电力系统潮流计算中的运用   总被引:4,自引:0,他引:4  
提出了一种电力系统潮流计算并行处理的新方法,该方法使用基于协同服务器组的志愿者计算平台P2HP作为高性能编程环境和运行平台。分析了大规模电力系统潮流计算问题在P2HP计算平台上的任务划分、并行粒度和实现技术。使用对象序列化技术和本地接口调用技术可以使潮流计算应用程序跨平台运行。仿真计算结果证明,这种方法能够满足安全性、实时性要求很高的大规模潮流计算应用的需求,具有较好的加速比和运行效率。  相似文献   

15.
负载均衡是OpenMP并行化串行程序后所带来的影响程序运行性能的重要因素之一。为了精确分析负载均衡问题,以优化程序运行性能,本文确定了负载均衡分析单元,度量了负载不均衡程度以及潜在的并行调整效率,提出了一种以负载均衡分析单元为分析对象来检测、分析、调整OpenMP多线程程序负载均衡的方法。该方法在隐含同步显示化的基础上,使用指导语句改写的方法对源程序进行插桩并获取性能数据,在负载均衡方面,对程序进行性能分析,根据潜在的并行调整效率有选择的对程序进行负载均衡调整。实验表明该方法是可行有效的。  相似文献   

16.
多核处理器能够提升多线程程序的性能,但早已存在的诸多单线程程序无法从中获益,程序员也习惯于编写单线程程序.自动并行化技术是将单线程程序移植到多核上的重要手段,但是当循环中存在无法确定的数据依赖或复杂的控制流时,传统的自动并行化技术无法取得良好效果.Ottoni等人针对传统自动并行失败的循环提出了Decoupled Software Pipelining(DSWP)算法用以实现指令级的细粒度并行,但其需要对处理器体系结构的深入了解以及对核间通信队列和专用指令的硬件支持,并行性能和应用广泛性受到限制.基于OpenMP应用编程接口实现的DSWP并行不依赖于硬件上对核间通信队列和专用指令的支持,且不受平台的限制,但现有的OpenMP任务调度机制无法满足DSWP并行中对任务调度的需求.对现有的OpenMP任务调度机制进行扩展,增加了任务与线程绑定的属性,保证了基于OpenMP的DSWP并行程序的正确执行.在GCC的OpenMP运行库libgomp中扩展了任务绑定属性子句的功能,扩展后的GCC作为OpenMP DSWP程序的基础编译器,为自动并行提供支持.通过对基准测试集NPB3.3.1的测试表明,传统自动并行失败的循环,经OpenMP DSWP自动并行后在双核处理器上平均加速比达到1.23以上;使用添加了OpenMP DSWP算法的Open64编译器生成的并行程序,与仅使用传统自动并行方法的Intel 编译器和Open64编译器所得程序相比,平均加速比分别高出22%和26%.  相似文献   

17.
目的 空间位置检索是遥感影像检索中的关键步骤,为进一步提高海量遥感影像编目数据定位检索效率,降低误检率,提出一种基于MPI和OpenMP混合编程模型对射线法进行多层次并行化实现。方法 首先完善传统射线法处理点在多边形边上以及射线与边的端点相交的情况;其次采用MPI实现基于程序层面多机并行,OpenMP实现算法层面单机多线程并行,通过开启多个线程同时处理多边形的各个点,判断它们是否在另一个多边形的内部。结果 当系统中所有节点开启线程数之和等于主节点的最佳线程数时,全局计算速度达到最佳。混合并行算法相比串行算法检索时间减少50%以上,效率更高。结论 MPI+OpenMP混合并行比普通的串行执行、单纯MPI并行或单纯OpenMP并行执行空间定位检索算法效率显著提高,这种并行方案普遍适用于集群环境下的并行程序,并且可以进一步拓展到其他图像处理算法领域。  相似文献   

18.
提出了一种基于OpenMP求解QAP的并行粒子群优化算法.该算法将遗传算法的交叉策略引入PSO算法中,同时采用禁忌搜索算法作为局部搜索算法.在QAPLIB实例上的测试结果表明,并行PSO算法在所有测试实例上都获得了超线性加速比,且运行结果优于串行算法.  相似文献   

19.
在多核中央处理器(CPU)—图形处理器(GPU)异构并行体系结构上,采用OpenMP和计算统一设备架构(CUDA)编程实现了基于AMBER力场的蛋白质分子动力学模拟程序。通过合理地将程序划分为CPU单线程、CPU多线程和GPU多线程执行部分,高效地利用了计算机的处理能力。性能测试结果表明,相对于优化后的CPU串行计算,多核CPU-GPU异构并行计算模型有强大的性能优势,特别是将占整个程序执行时间90%的作用力的计算移植到GPU上执行,获得了最高可达12倍的计算加速比。  相似文献   

20.
大整数运算广泛地应用于公钥加密算法、大规模科学计算中高精度浮点数运算类以及构建大特征值等领域,然而其大部分算法空间和时间开销都很大,尤其对于核心运算之一的大整数乘法,当数据达到一定规模时,超长的串行计算时间已成为制约算法应用的巨大瓶颈.近几年来,伴随着多核、众核芯片的迅猛发展,通过充分挖掘算法本身的并行度以利用并行处理器的强大计算能力,进而高效地提升算法性能,成为一种研究趋势.本文基于通用多核并行计算平台,研究了大整数乘法Comba及Karatsuba快速算法的并行化,提出了高效的多核并行算法.在算法实现及性能优化上,采用了OpenMP+SIMD的多级并行技术,使性能获得巨大提升.在性能测试上,我们使用优化的并行算法与原始串行算法进行对比试验,结果显示,8线程并行Comba算法和Karatsuba算法相比串行对应算法分别实现了5.85倍以及6.14倍的性能加速比提升.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号