并行计算 & HPC & MPI
2016-07-28 01:12
211 查看
1.并行编程模型
并行编程模型有三类:
(1)数据并行模型
相同的操作同时作用于不同的数据。
(2)共享变量模型
用共享变量实现并行进程间的通信。
(3)消息传递模型
在消息传递模型中,驻留在不同节点上的进程可以通过网络传递消息相互通信,实现进程之间的信息交换、协调步伐、控制执行等。
2.HPC
HPC,highperformance computing,高性能计算平台,和map-reduce并行的一种高性能分布式计算平台。
HPC=
Torque + Maui
+ OpenMPI
Torque:一个资源管理器,统筹着集群的所有资源;
Maui:一个任务调度器,支持将任务划分为队列,将任务划分为用户,支持资源预留,支持各种复杂的优先级策略,支持抢占机制等;
OpenMPI:一个上层通信环境,兼顾通信库,编译,分布式启动任务的共能;
Torque和maui属于平台的管理软件,完全对用户透明,OpenMPI用户则需要进行相关的了解。
3.MPI
MPI,Massage Passing Interface:是消息传递函数库的标准规范,由MPI论坛开发,支持Fortran和C/C++,MPI的特点有:
(1)MPI一种新的库描述,不是一种语言。
(2)共有上百个函数调用接口,在Fortran和C/C++语言中可以直接对这些函数进行调用
(3)是一种标准或规范,而不是特指某一个对它的具体实现
(4)MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准
MPI标准和规范的实现:
(1)MPICH
是MPI最流行的非专利实现,由Argonne国家实验室和密西西比州立大学联合开发,具有更好的可移植性。当前最新版本有MPICH1.2.7p1和MPICH2
1.3.2p1。
(2)OpenMPI
LAMMPI的下一代MPI实现。当前最新版本1.4.3
(3)更多的商业版本MPI
有HP-MPI,MS-MPI,……
所有的版本遵循MPI标准,MPI程序可以不加修改的运行。
4.mpi程序的helloworld范例
(1)例程
(2)MPI程序的编译和运行
mpicc–O2 –o hello hello.c #生成hello的可执行代码
mpirun –np 4 hello #运行hello可执行程序。4指定np的值,表示进程数,由用户指定。hello,要运行的MPI并行程序。
(3)MPI程序是如何执行的?
详细内容参见ebook
并行编程模型有三类:
(1)数据并行模型
相同的操作同时作用于不同的数据。
(2)共享变量模型
用共享变量实现并行进程间的通信。
(3)消息传递模型
在消息传递模型中,驻留在不同节点上的进程可以通过网络传递消息相互通信,实现进程之间的信息交换、协调步伐、控制执行等。
2.HPC
HPC,highperformance computing,高性能计算平台,和map-reduce并行的一种高性能分布式计算平台。
HPC=
Torque + Maui
+ OpenMPI
Torque:一个资源管理器,统筹着集群的所有资源;
Maui:一个任务调度器,支持将任务划分为队列,将任务划分为用户,支持资源预留,支持各种复杂的优先级策略,支持抢占机制等;
OpenMPI:一个上层通信环境,兼顾通信库,编译,分布式启动任务的共能;
Torque和maui属于平台的管理软件,完全对用户透明,OpenMPI用户则需要进行相关的了解。
3.MPI
MPI,Massage Passing Interface:是消息传递函数库的标准规范,由MPI论坛开发,支持Fortran和C/C++,MPI的特点有:
(1)MPI一种新的库描述,不是一种语言。
(2)共有上百个函数调用接口,在Fortran和C/C++语言中可以直接对这些函数进行调用
(3)是一种标准或规范,而不是特指某一个对它的具体实现
(4)MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准
MPI标准和规范的实现:
(1)MPICH
是MPI最流行的非专利实现,由Argonne国家实验室和密西西比州立大学联合开发,具有更好的可移植性。当前最新版本有MPICH1.2.7p1和MPICH2
1.3.2p1。
(2)OpenMPI
LAMMPI的下一代MPI实现。当前最新版本1.4.3
(3)更多的商业版本MPI
有HP-MPI,MS-MPI,……
所有的版本遵循MPI标准,MPI程序可以不加修改的运行。
4.mpi程序的helloworld范例
(1)例程
#include<stdio.h> #include "mpi.h“ main( int argc, char*argv[] ) { MPI_Init( &argc,&argv ); printf(“HelloWorld!\n"); MPI_Finalize(); }
(2)MPI程序的编译和运行
mpicc–O2 –o hello hello.c #生成hello的可执行代码
mpirun –np 4 hello #运行hello可执行程序。4指定np的值,表示进程数,由用户指定。hello,要运行的MPI并行程序。
(3)MPI程序是如何执行的?
详细内容参见ebook
相关文章推荐
- asp.net mvc 实现简单的实时消息推送
- 【慕课学习】《JavaScript深入浅出》——严格模式
- zepto和jquery的区别,zepto的不同使用8条小结
- 求三个数中的最大数
- find
- 成龙电影全集
- 欧几里得与扩展欧几里得介绍->POJ1061
- 原始设备制造商OEM简介
- CSS盒子模型的更深层次理解
- Linux面试记录
- HDU 4594 Script Z
- Hust oj 1341 Who will be punished(字符串异或)
- Codeforces 274A:k-Multiple Free Set(初识set集合)
- 将整型数组A中的内容和整型数组B中的内容进行交换。(数组一样大)
- memcached入门(1):开篇
- 枚举的总结和常用方法
- NOI 2016 游记
- Android之export,process
- Notes: Java的方法重载机制和良好的编程习惯
- Notes: Java的方法重载机制和良好的编程习惯