并行计算 & HPC & MPI
来源:互联网 发布:婵真淘宝 编辑:程序博客网 时间:2024/05/03 09:41
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)例程
#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
- 并行计算 & HPC & MPI
- 并行计算MPI研究
- 并行计算mpi [ PI ]
- 并行计算MPI(一):MPI入门
- 并行计算MPI(二):MPI阻塞通信
- 并行计算MPI [ 简单例子 ]
- MPI实现并行计算统计数据
- 并行计算MPI(三):计算π
- MapReduce和HPC集群并行计算优劣对比
- MPI并行计算环境的建立
- MPI编程中并行前缀和计算
- ubuntu下搭建MPI并行计算环境
- Ubuntu下搭建MPI并行计算环境
- MPI并行计算与矩阵1
- MPI并行计算与矩阵(2)
- 矩阵乘法的MPI并行计算
- MPI 学习 -- 高性能计算之并行编程技术 --- MPI并行程序设计 都志辉编著
- MPI并行计算环境建立之二--挂载nfs文件系统
- poj 2524
- Eclipse下Target识别不出来引起的DDMS中Emulator Control显示灰色(Android SDK和ADT版本不兼容问题导致的)
- CSS盒子模型的更深层次理解
- 原始设备制造商OEM简介
- 欧几里得与扩展欧几里得介绍->POJ1061
- 并行计算 & HPC & MPI
- 求三个数中的最大数
- 【慕课学习】《JavaScript深入浅出》——严格模式
- 发现大量的TIME_WAIT解决办法
- 进程间通信方式总结
- 码神之奇妙之旅3
- 多线程
- (25)HTML标签详解之<form><input><label><fieldset><legend>
- 前端日志