MPI综合实验报告

MPI综合实验报告

目前三次MPI实验已经结束,结合之前所写的实验报告,对总体的实验内容做一个总结。

参考资料:

MPI简介

多线程是一种便捷的模型,其中每个线程都可以访问其它线程的存储空间。因此,这种模型只能在共享存储系统之间移植。一般来讲,并行机不一定在各处理器之间共享存储,当面向非共享存储系统开发并行程序时,程序的各部分之间通过来回传递消息的方式通信。要使得消息传递方式可移植,就需要采用标准的消息传递库。这就促成的消息传递接口(Message Passing Interface, MPI)的面世,MPI是一种被广泛采用的消息传递标准[1]。

与OpenMP并行程序不同,MPI是一种基于消息传递的并行编程技术。消息传递接口是一种编程接口标准,而不是一种具体的编程语言。简而言之,MPI标准定义了一组具有可移植性的编程接口。各个厂商或组织遵循这些标准实现自己的MPI软件包,典型的实现包括开放源代码的MPICH、LAM MPI以及不开放源代码的Intel MPI。由于MPI提供了统一的编程接口,程序员只需要设计好并行算法,使用相应的MPI库就可以实现基于消息传递的并行计算。MPI支持多种操作系统,包括大多数的类UNIX和Windows系统。

三次实验总结

第一次实验:

实验要求:配置好MPI运行的基本环境,测试MPI的基本通信程序。

程序:

#include \#include void main( void ) {

MPI_Status status; char

string[]=\ int myid;

MPI_Init(NULL,NULL);

MPI_Comm_rank(MPI_COMM_WORLD,&myid); if(myid==2)

MPI_Send(\ if(myid==7){

MPI_Recv(string,5,MPI_CHAR,2,MPI_ANY_TAG,MPI_COMM_WORLD,&status); printf(\ %s from P%d,tag

%d\\n\ }

MPI_Finalize(); }

运行环境配置过程:(这个是在根据网上的环境配置教程做的)

1、安装软件MPICH2,本次操作安装在C:\\Program Files\\MPICH2文件夹中。

2、打开安装好的MPICH2目录,打开bin文件夹中的wmpiregister.exe文件,进行注册。 填入本机的用户名和密码。

3、建立一个控制台应用程序空文档,MY MPI, 输入程序

4、添加库和包含文件 打开Tool->Options对话框

选择项目和解决方案下的VC++目录一栏,如下图所示:

分别添加包含文件C:\\Program Files\\MPICH2\\include

和库文件C:\\Program Files\\MPICH2\\lib

5、取消预编译头

打开Project->Property,设置框如下图所示

展开C/C++项,选择与编译头,在创建/使用预编译头中选择:不使用预编译头

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4