b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

工程技术中心的目标_国家高性能计算机工程技术研究中心_山东工程技术研究中心(3)

电脑杂谈  发布时间:2017-01-14 02:00:49  来源:网络整理

OpenMP得到了工业界的广泛支持,有大量的商业编译器和其他开发工具支持OpenMP的开发,如IBM、HP、Sun、SGI、Intel等硬件厂商均有支持OpenMP的编译器产品,另外还有一些第三方厂商的OpenMP编译器。

2. 消息传递模型

在消息传递模型中,一个并行程序由多个并行任务组成。每个并行任务拥有自己的数据并对其进行计算操作。任务之间数据的交换是通过显式的消息传递语句来完成的。

现在广泛使用的消息传递模型有两个:PVM和MPI。PVM即Parallel Virtual Machine(并行虚拟机)与MPI即Message Passing Intece(消息传递界面)。PVM与MPI所提供的功能大致相同,但两者的侧重点有所不同。PVM强调在异构环境下的可移植性和互操作性,程序之间可以互相通信,并支持动态的资源管理和一定程度的容错;而MPI更强调性能,不同的MPI实现之间缺乏互操作性,本身也不支持容错(可以通过专门的容错软件来支持容错)。一般而言,使用MPI比较适合于开发MPP或同构集群上的并行应用,可以有较高的通信性能;而PVM更适合于异构的集群系统。

几乎所有的高性能计算系统都支持PVM和MPI。

3. HPF

HPF(High Performance Fortran)的思想与OpenMP类似,都是通过定义编译指导语句来帮助编译器生成并行代码。HPF的目标系统与OpenMP不同,它支持DMP系统。因此,除了指定并行性的编译指导语句外,HPF还指定数据划分的编译指导语句。HPF与消息传递模型的不同之处则在于:HPF通过编译器来生成通信语句,不需要程序员手工编写。

HPF得到了工业界的广泛支持,如IBM、HP、Sun都有HPF编译器。第三方产品则有PGI的PGHPF、APR的Forge xHPF等。其不足是对于某些问题无法得到与手工编写的消息传递程序相同的性能。

4. 并行库

使用并行库开发高性能计算程序的基本思想是:用户不需要自己编写通用的并行算法代码,而由程序库提供并行算法,并对用户透明。用户只需要根据自己的需求,调用相应的库函数,就可以编写出并行程序。由于库函数的编写者一般经验丰富,而且库函数会采取较为优化的算法,并采用优化编译,使得库函数的执行效率很高。对于大量使用通用计算算法的用户来说,使用并行库是一种高效的开发模式。并行库的缺点是无法帮助那些需要自己书写非通用并行算法的用户。

目前的并行库很多,包括PBLAS(Parallel Basic Linear Algebra Subroutines),以及建立在其基础上的LAPACK和ScaLAPACK,提供了一些线性代数问题的并行求解算法,如求特征值、最小二乘问题等。LAPACK是为SMP系统优化的,ScaLAPACK是为DMP系统优化的。大多数高性能计算系统都提供在本系统上优化的PBLAS、LAPACK、ScaLAPACK。

另一个著名的并行库是PETSc。PETSc是一套基于MPI的数据结构和库函数,用于解决基于偏微分方程的典型科学计算问题。另外,MATLAB是很常用的科学计算软件。很多公司和研究机构也在进行并行化MATLAB的工作,如RTExpress。

5. 串行程序并行化

另一种并行程序的开发模式是将串行程序并行化。此模式的优点在于,可以将现有的很多串行代码转换成并行代码。

并行化分为全自动并行化和交互式并行化两种模式。全自动并行化的并行过程不需要人的干预,可以自动发现程序中可并行的部分,生成并行代码。现在,高性能计算系统提供商的Fortran和C编译器大都能提供面向SMP系统的自动并行化的编译选项。对于少数程序,全自动并行化编译器可以达到较好的效果;但对大多数程序来说,并行化的效果还不理想。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-26149-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 张委博
      张委博

      还记得二战时十个中国人都不够一个日本鬼子打吗

    • 张玉廷
      张玉廷

      杨洋应对越来越有进步

    热点图片
    拼命载入中...