首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
介绍了一种基于Open MP的多核并行程序设计方法,并使用此方法实现了对基于隐马尔可夫模型的Web文本挖掘程序的并行化改造.实验证明重新设计的多核并行程序相比于原有串行程序在多核微机系统上的运行时间大大减少、程序整体性能得到明显提升.  相似文献   

2.
为了快速求解10000个粒子的湍流碰撞聚合问题,采用OpenMP对Smoluchowski方程的FORTRAN求解程序进行了并行处理.数值结果表明:在不改变串行程序结构的情况下,仅对循环体部分进行并行处理,并行效率可高达80%,且串行程序与并行程序的计算结果完全吻合.对于大计算量循环体的并行计算,采用全部处理器进行并行计算时耗时最小.但是对于小计算量循环体的并行计算,采用全部处理器进行并行计算时耗时不一定最小.  相似文献   

3.
虽然OpenMP是多核体系结构上的流行多线程并行编程模型,但是OpenMP编译器不检查数据相关性、访问冲突和其他可能导致程序错误执行的问题,这些问题传统上完全依赖用户使用锁机制来保证程序的正确性.锁机制的并行编程中存在并行程序效率和并行编程难度的矛盾.粒度大的锁机制编程容易,可应用的并行性挖掘比较差;粒度小的锁机制应用的并行性挖掘较好,可编程难度大,容易带来优先权倒置、死锁和锁护航等问题.通过动态二进制插桩技术,扩充OpenMP支持事务存储执行功能,可有效缓解OpenMP并行编程中并行程序效率和并行编程难度之间矛盾.  相似文献   

4.
并行程序设计主要有两种途径,即使用并行程序设计语言编写并行程序,或将串行程序并行化.串行程序并行化是一种比较有效的并行程序设计的途径.通过介绍并行技术的现状及相关分析的一些定义,给出了一个关于在串行程序中识别可并行执行语句的算法,论述了这一算法的意义.  相似文献   

5.
基于CPU多核处理器实现了粗粒度2.5维电磁场并行正演算法, 使用OpenMP对串行算法的频率域进行粗粒度分解, 主线程进行任务分配, 从线程在CPU多核上并行计算各频率域电磁场值, 并分析了OpenMP并行效率与模型及核心数目的关系. 多组不同模型测试结果表明, 本文并行方法与串行方法得到的数值结果相同, 并获得了接近CPU逻辑核心数目的性能提升.  相似文献   

6.
Message Passing Interface并行编程方法是目前编程人员广泛使用的方法之一,但此方法将并行性开发的任务完全交给编程人员,程序的质量与效率往往因编程人员水平及风格不同而各异,在Message Passing Interface环境下把传统串行程序转变为并行程序从而提高其性能.此外通过MPI所提供的函数来进一步优化并行程序以便提高其性能,  相似文献   

7.
选取基准测试程序集SPECMPI的4个程序,以及我国研制的天气预报并行应用GRAPES,在消息传递接口层面(MPI)以及不同的平台上对这5个程序的通信性能进行了插装采集和分析,并使用进程映射的方法进行通信优化.实验结果表明上述方法可完成对较大规模的并行程序的性能数据采集,这对于定位和优化并行程序的性能起到重要作用;在通信性能较差的以太网平台上,进程映射的效果较为明显,而在通信性能较高的Infiniband网络上,进程映射的效果不明显,因此,在选择优化方案时,还需要注意目标平台的性能指标.  相似文献   

8.
针对一类典型二维Laplace问题,研究其有限差分离散方法及其相应离散系统的并行求解算法与并行程序设计,本文设计给出一种求解二维Laplace问题的串行算法和相应的并行算法及OpenMP并行程序。数值实验结果验证:并行算法与并行程序是正确可靠的;对于中等规模问题8线程加速比达到3.03,且在同等的线程数目条件下,求解规模越大,加速比越大  相似文献   

9.
随着高性能技术的发展,MPI并行程序得到了越来越广泛的应用,其可靠性也得到了软件工程界越来越多的关注.一个MPI并行程序有多个并行执行的进程,每个进程包含一系列串行执行语句.死锁是并行程序的一类典型错误,本文提出一种基于占优关系的死锁检测方法.首先,根据通信语句之间的占优关系,得到每个进程内,通信边之间的占优关系;然后,通过判定通信边占优关系是否相互违背,检测程序中的死锁.基于上述思想,开发了基于占优关系的死锁检测原型工具,用于检测多个典型的MPI并行程序.结果表明,本文方法能够检测出程序中的死锁缺陷.  相似文献   

10.
基于数据依赖关系的程序自动并行化方法   总被引:1,自引:0,他引:1  
针对目前大量串行遗产程序无法在高性能并行计算机上高效运行的问题,提出一种基于数据依赖关系分析技术的程序自动并行化方法,采用数据依赖关系分析技术对串行程序进行分析,将串行程序中基本块分成两类:彼此间具有依赖关系的基本块和彼此间无依赖关系的基本块,通过对无依赖关系的基本块进行并行处理实现串行程序的自动并行化,从而解决了在对串行程序自动并行处理时开销增大的缺点,并得到较好的并行优化结果.实例分析结果表明,该方法可以识别出可并行执行的基本块,实现串行程序的自动并行化.  相似文献   

11.
基于共享内存的高效OpenMP并行多层快速多极子算法   总被引:2,自引:1,他引:1  
提出并实现了一种基于共享内存并行平台的OpenMP并行多层快速多极子算法.结合OpenMP并行算法开发的要点和多层快速多极子算法数据分布的特性,对多层快速多极子的填充矩阵模块、矩阵向量相乘中的远相互作用部分进行了OpenMP并行化设计.在分析调度方式和循环次序对计算效率的影响的基础上,提出了一种高效的OpenMP并行多层快速多极子方案.数值实验表明,并行算法与串行精度一致,OpenMP并行算法具有较好的并行效率.  相似文献   

12.
为了充分利用多核并行计算的优势,提高科学计算中程序计算的速度,建立了基于消息传递接口的并行程序编译的循环分解算法.实验结果表明,循环并行执行的分解算法有效地利用了多核处理器的高速计算核心,与串行执行程序相比,并行程序的执行显著提高了程序的计算速度.  相似文献   

13.
介绍了OpenMP的并行执行原理和语言规范,重点讨论了OpenMP的循环并行化、迭代相关、数据共享、任务调度等问题,最后使用OpenMP技术优化了遗传算法,并进行了性能的对比.  相似文献   

14.
并行程序的应用在提高程序运行效率的同时,也带来了不确定性的错误.这种错误往往难以复现,传统的调试工具越发难以满足并行程序的调试需求.据此提出了一种面向并行程序错误检测以及确定性回放的方法,针对并行程序中容易发生的数据竞争、死锁、原子性违反这几类错误进行检测判断;对并行程序的运行进行插桩以保证程序重复执行时的次序一致.在此理论基础上设计实现了Eclipse插件.通过试验,该工具可以对并行程序易发的错误进行有效的检测判断,较大程度地减少程序调试的工作量.  相似文献   

15.
一种基于循环并行模式的多核优化方法   总被引:1,自引:0,他引:1  
从并行编程模式角度出发,分析了计算稠密型程序基于多核平台的优化方法,并结合循环并行模式与OpenMP、Intel parallel studio工具实现了对部分连接神经演化(PARCONE)模型的多核优化.优化结果表明,基于循环并行模式的设计方法是实现计算稠密型程序多核优化的一种快速有效方法.  相似文献   

16.
热表面张力驱动的对流是微重力下浮区法晶体生长中熔体最重要的物质与热输运方式。采用单松弛双分布函数格子Boltzmann模型,自主开发了相应的格子Boltzmann方法的串行和MPI并行程序包,并应用该程序包对开口方腔内流体的二维热表面张力对流进行了数值模拟研究。其中串行程序合并碰撞迁移过程和引入临时数组以连续读入分布函数,相比分开碰撞迁移过程,计算性能提高了二倍;在此基础上,采用单向计算区域分区和非阻塞通信模式,实现了MPI版格子Boltzmann并行程序包开发。对比基于传统有限体积法CFD程序计算结果表明,串行和MPI并行版格子Boltzmann程序包计算结果精确可靠;并行程序具有较好的性能。  相似文献   

17.
ARM11 MPCore性能分析与优化研究   总被引:4,自引:4,他引:0  
ARM11 MPCore是最新的嵌入式多核处理器,传统的嵌入式软件在该平台上不能发挥该处理器的所有性能.针对这个问题,对ARM11 MPCore的基本运算能力与ARM9处理器进行了对比分析,提出了使用硬件向量浮点单元及并行计算的软件优化方法,实验结果表明优化后的MPCore浮点处理能力是ARM9系列处理器的浮点处理能力的10倍左右.对于多核架构,可以采用并行计算模型对软件进行优化,试验结果表明,对整数运算采用OpenMP并行计算模型优化后,实验程序的效率提高3.8倍左右.对于嵌入式多媒体处理,提出了使用硬件向量浮点单元对DCT运算进行优化,对视频解码、音频解码以及音视频同步显示采用并行处理的方法进行优化.实验结果表明,这两种优化方法能提高软件在ARM11 MPCore平台上的运行效率,提高了系统的整体性能.  相似文献   

18.
针对当前算法优化研究一般局限于单一硬件平台、很难实现在不同平台上高效运行的问题,利用图形处理器(GPU)提出了基于开放式计算语言(OpenCL)的矩阵转置并行算法.通过矩阵子块粗粒度并行、矩阵元素细粒度并行、工作项与数据的空间映射和本地存储器优化方法的应用,使矩阵转置算法在GPU计算平台上的性能提高了12倍.实验结果表明,与基于CPU的串行算法、基于开放多处理(OpenMP)并行算法和基于统一计算设备架构(CUDA)并行算法性能相比,矩阵转置并行算法在OpenCL架构下NVIDIA GPU计算平台上分别获得了12.26,2.23和1.50的加速比.该算法不仅性能高,而且实现了在不同计算平台间的性能移植.  相似文献   

19.
针对窦房结三维电生理建模复杂、仿真运算量大等问题,提出了一种有效的解决方法。首先利用建模软件建立右心房三维不规则立体模型,再利用网格划分软件剖分为四面体网格,最后根据网格的位置赋予窦房结和心房细胞属性建立电生理模型。数值解算时采用算子分裂法和有限体积法,分别对反应-扩散方程和单纯描述电扩布的微分方程进行了处理,同时利用高性能图形处理单元(GPU)在CUDA(compute unified device architecture)编程环境下实现程序的并行加速。另外,从减少CPU和GPU间的数据交换频率、参量存储方式等多方面对程序加以优化。计算结果表明,所建模型无论是单细胞动作电位还是膜电位的传导均符合正常的电生理特征。通过与串行程序及基于4核8线程CPU编写的共享内存式OpenMP并行程序进行比较,基于GPU的CUDA程序可将运行耗时减少90%以上,CPU和GPU间的数据交换仅占总耗时的3%,且组织模型越大,网格划分越细致,GPU的加速效果愈显著。  相似文献   

20.
传统词袋模型已广泛地应用于图像处理领域,并取得较好效果.但在传统词袋模型中,仅考虑了串行计算,使得整个算法流程耗时较长.考虑现有的多核CPU资源,结合共享存储并行编程(OpenMP)并行框架,对词袋模型进行并行优化,并对其性能进行讨论.主要考虑对特征提取、特征聚类和图像直方图生成三个部分进行并行优化.通过对Caltech 100数据库进行实验,结果表明,该方法可以取得接近于CPU核数的加速比,因此减少了词袋模型的构造和图像直方图生成时间,相对于传统词袋方法提高了算法的效率.  相似文献   

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

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