MPI综合实验报告(共12页).docx
《MPI综合实验报告(共12页).docx》由会员分享,可在线阅读,更多相关《MPI综合实验报告(共12页).docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上MPI综合实验报告 目前三次MPI实验已经结束,结合之前所写的实验报告,对总体的实验内容做一个总结。参考资料:MPI简介多线程是一种便捷的模型,其中每个线程都可以访问其它线程的存储空间。因此,这种模型只能在共享存储系统之间移植。一般来讲,并行机不一定在各处理器之间共享存储,当面向非共享存储系统开发并行程序时,程序的各部分之间通过来回传递消息的方式通信。要使得消息传递方式可移植,就需要采用标准的消息传递库。这就促成的消息传递接口(Message Passing Interface, MPI)的面世,MPI是一种被广泛采用的消息传递标准1。与OpenMP并行程序不同,MP
2、I是一种基于消息传递的并行编程技术。消息传递接口是一种编程接口标准,而不是一种具体的编程语言。简而言之,MPI标准定义了一组具有可移植性的编程接口。各个厂商或组织遵循这些标准实现自己的MPI软件包,典型的实现包括开放源代码的MPICH、LAM MPI以及不开放源代码的Intel MPI。由于MPI提供了统一的编程接口,程序员只需要设计好并行算法,使用相应的MPI库就可以实现基于消息传递的并行计算。MPI支持多种操作系统,包括大多数的类UNIX和Windows系统。三次实验总结第一次实验:实验要求:配置好MPI运行的基本环境,测试MPI的基本通信程序。程序:#include stdafx.h#i
3、nclude void main( void ) MPI_Status status; char string=xxxxx; int myid; MPI_Init(NULL,NULL); MPI_Comm_rank(MPI_COMM_WORLD,&myid); if(myid=2) MPI_Send(HELLO,5,MPI_CHAR,7,1234,MPI_COMM_WORLD); if(myid=7) MPI_Recv(string,5,MPI_CHAR,2,MPI_ANY_TAG,MPI_COMM_WORLD,&status); printf(Got %s from P%d,tag %dn,
4、string,status,status.MPI_SOURCE,status.MPI_TAG); MPI_Finalize();运行环境配置过程:(这个是在根据网上的环境配置教程做的)1、 安装软件MPICH2,本次操作安装在C:Program FilesMPICH2文件夹中。2、 打开安装好的MPICH2目录,打开bin文件夹中的wmpiregister.exe文件,进行注册。填入本机的用户名和密码。3、 建立一个控制台应用程序空文档,MY MPI,输入程序4、添加库和包含文件打开Tool-Options对话框选择项目和解决方案下的VC+目录一栏,如下图所示:分别添加包含文件C:Progra
5、m FilesMPICH2include和库文件C:Program FilesMPICH2lib5、 取消预编译头打开Project-Property,设置框如下图所示展开C/C+项,选择与编译头,在创建/使用预编译头中选择 :不使用预编译头6、打开Project-Property,设置框如下图所示将配置属性中的常规项中的字符集设置成未设置展开连接器中输入项,在附件依赖项中添加mpi.lib7、 自定义多线程运行打开MPICH2安装目录显得mpiexec.exe装入运行产生的.exe文件并选择线程数,运行结果如下图所示第二次实验实验要求:MPI实验第二部分1. 了解计算粒度、问题规模(计算负载
6、)、并行程度概念;2. 测试基于MPI的Pi并行计算程序;3. 完成实验报告(MPI程序代码、运行结果截屏、实验分析总结)在这次的实验过程中,我们的程序是通过数值方法计算 的值来观察运行时间。程序:#include stdafx.h#include #include mpi.hstatic long num_steps = ; void main(int argc, char* argv) int i_start, i_end, i, myid, numprocs; double pi, mypi, x, step, sum = 0.0; double start, end; MPI_Init
7、(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Comm_rank(MPI_COMM_WORLD, &myid); if(myid = 0) start = MPI_Wtime(); MPI_Bcast(&num_steps, 1, MPI_INT, 0, MPI_COMM_WORLD); i_start = myid * (num_steps / numprocs); i_end = i_start + (num_steps / numprocs); step = 1.0 / (double) num_steps;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MPI 综合 实验 报告 12
限制150内