首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到14条相似文献,搜索用时 93 毫秒
1.
简要综述并行计算的思想,并对分布式内存结构和共享式内存结构两种结构的特点进行比较。叙述如何应用OpenMP和MPI进行混合编程,以及相应的混合编程模型。通过一个实例,针对多核CPU组成的SMP构架的集群,实现OpenMP和MPI混合编程的性能对比和结论分析。  相似文献   

2.
MPI+OpenMP混合并行编程模型应用研究   总被引:13,自引:0,他引:13  
多处理器结点集群在高性能计算市场上日趋流行,如何在多处理器上编写出高效的并行代码成为研究的热点。MPI+OpenMP为多处理器结点集群提供了一种有效的并行策略,结点内部共享内存空间编程模式适合 OpenMP并行,消息传递模型MPI被用在集群的结点与结点之间,这样就实现了并行的层次结构化。  相似文献   

3.
针对对称逐步超松驰预处理共轭梯度(Symmetric Successive Over Relaxation Preconditioned Conjugate Gradient,SSOR-PCG)法并行化时每步迭代都要并行求解2个三角方程组的困难,采用多色排序技术提高并行度,基于MPI+OpenMP混合编程模型开发适合于分布共享内存计算机的并行程序,通过测试选择有效的MPI通信函数,并给出3种避免共享数据竞争的措施,供不同规模问题和不同内存容量计算机情况选用.  相似文献   

4.
基于SMP集群的MPI+OpenMP混合编程模型研究   总被引:4,自引:1,他引:3  
讨论了MPI+OpenMP混合编程模型的特点及其实现方法。建立了对拉普拉斯偏微分方程求解的混合并行算法,并在HL-2A高性能计算系统上同纯MPI算法作了性能方面的比较。结果表明,该混合并行算法具有更好的扩展性和加速比。  相似文献   

5.
为有效监控红外弱小目标运动的全过程,必须采用多个波段同时探测,但是多波段探测必然带来计算时间的大幅增长,无法满足实际应用中对目标检测实时性的要求。针对这一问题,本文提出一种基于MPI+OpenMP的层次化并行方法,充分利用消息传递模型和共享存储模型的优势,并基于多处理器节点集群进行测试。实验结果表明,该并行程序在保证相同的检测概率的情况下加速比达到8.61,极大地提高了目标检测的效率。  相似文献   

6.
针对多核机群系统的硬件体系结构特点,提出了节点间MPI消息传递、节点内部OpenMP共享存储的混合并行编程技术。该编程模型结合了两者的优点,更为有效地利用了多核机群的硬件资源。建立了单层混合并行的Jacobi求对称矩阵特征值算法。实验结果表明,与纯MPI算法相比,混合并行算法能够取得更好的加速比。  相似文献   

7.
阐述MPI与OpenMP进行并行计算的特点,并在Visual Studio 2010上构建一个基于两者的混合编程平台。程序在该平台上执行时能够同时实现多进程与进程内多线程编程,设计并实现一种基于数据划分的矩阵乘法的并行算法,将数据分解为两部分交给两个计算节点分别完成,并在每个计算节点内将数据进一步划分,交给多个线程同时执行。通过与非并行矩阵乘法、MPI矩阵乘法、OpenMP矩阵乘法运算性能进行比较,验证该算法可以有效地挖掘计算机的处理能力。  相似文献   

8.
本文阐述了MPI和OpenMP的编程模式,并在此基础上利用MPI和OpenMP混合并行的方式,即:在节点内应用OpenMP共享存储、在节点间应用MPI进行消息传递的模式,对我国自行研发的数值天气预报系统GRAPES(Global/Regional Assimilation and Prediction Syste)进行测试,。结果表明,混合并行算法比原来的单纯的MPI模式有更加理想的并行效率和加速比。  相似文献   

9.
差分方法是求解偏微分方程的最主要工具之一,并行求解差分方程可以快速解决工程问题。研究了基于MPI与OpenMP混合的并行计算方法 ,基于该方法测试了稳态传热问题的计算,结果表明,混合并行模式对于提高计算速度有加大的帮助。  相似文献   

10.
非负矩阵分解(NMF)作为一种数据降维和特征提取的有效工具,已经在文本聚类、推荐系统等多个领域得到应用,但是其计算过程比较复杂。对此,提出一种基于MPI+OpenMP的混合层次化并行NMF方法,其充分利用基于MPI的消息传递模型和基于OpenMP的共享存储模型各自的优势,并基于多核节点集群进行测试。实验结果表明,所设计的并行NMF算法达到了较高的加速比,能有效处理高阶矩阵的非负分解,极大地提高了计算的效率。  相似文献   

11.
普通Kriging方法是进行空间降水插值的一种有效方法。然而一方面由于海量数据插值计算量大,另一方面该算法的时间复杂度大,为减少空间降水插值的计算时间,采用OpenMP和MPI混合并行技术,实现Kriging并行算法。在Windows操作系统上搭建并行计算环境,实验数据表明,该并行算法能有效地节省计算时间。  相似文献   

12.
计算机集群技术已经引起了石油地球物理界的广泛关注,如何将现有地震数据处理模块快速、高效地移植到集群上已成为地震数据处理需要解决的重大课题。本文将现有的基于消息传递(MPI)的并行地震处理模型与共享存储(OpenMP)模型相结合,实现了一个适合于SMP集群的并行地震数据支撑库,将涉及到消息传递的并行地震数据操作以直观的API的形式提供给开发人员。本文利用支撑库提供的API开发了一些测试模块。实验证明,支撑库可支持现有地震数据处理和显示模块的多种并行计算模型,并且能够获得较高的并行加速比和计算效率。  相似文献   

13.
The MPI interface is the de-facto standard for message passing applications, but it is also complex and defines several usage patterns as erroneous. A current trend is the investigation of hybrid programming techniques that use MPI processes and multiple threads per process. As a result, more and more MPI implementations support multi-threading, which are restricted by several rules of the MPI standard. In order to support developers of hybrid MPI applications, we present extensions to the MPI correctness checking tool Marmot. Basic extensions make it aware of OpenMP multi-threading, while further ones add new correctness checks. As a result, it is possible to detect errors that actually occur in a run with Marmot. However, some errors only occur for certain execution orders, thus, we present a novel approach using artificial data races, which allows us to employ thread checking tools, e.g., Intel Thread Checker, to detect MPI usage errors.  相似文献   

14.
Hybrid CUDA, OpenMP, and MPI parallel programming on multicore GPU clusters   总被引:2,自引:0,他引:2  
Nowadays, NVIDIA's CUDA is a general purpose scalable parallel programming model for writing highly parallel applications. It provides several key abstractions – a hierarchy of thread blocks, shared memory, and barrier synchronization. This model has proven quite successful at programming multithreaded many core GPUs and scales transparently to hundreds of cores: scientists throughout industry and academia are already using CUDA to achieve dramatic speedups on production and research codes. In this paper, we propose a parallel programming approach using hybrid CUDA OpenMP, and MPI programming, which partition loop iterations according to the number of C1060 GPU nodes in a GPU cluster which consists of one C1060 and one S1070. Loop iterations assigned to one MPI process are processed in parallel by CUDA run by the processor cores in the same computational node.  相似文献   

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

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