MPI综合实验报告_第1页
MPI综合实验报告_第2页
MPI综合实验报告_第3页
MPI综合实验报告_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品文档MPI 综合实验报告目前三次MPI 实验已经结束, 结合之前所写的实验报告,对总体的实验内容做一个总结。参考资料 :MPI 简介多线程是一种便捷的模型,其中每个线程都可以访问其它线程的存储空间。因此,这种模型只能在共享存储系统之间移植。一般来讲,并行机不一定在各处理器之间共享存储,当面向非共享存储系统开发并行程序时,程序的各部分之间通过来回传递消息的方式通信。要使得消息传递方式可移植,就需要采用标准的消息传递库。这就促成的消息传递接口(Message Passing Interface, MPI)的面世, MPI 是一种被广泛采用的消息传递标准1 。与 OpenMP并行程序不同,MPI

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

3、lude "stdafx.h"#include <mpi.h>void main( void )MPI_Status status;charstring="xxxxx"int myid;。1欢迎下载精品文档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,M

4、PI_ANY_TAG,MPI_COMM_WORLD,&status);printf("Got%s from P%d,tag%dn",string,status,status.MPI_SOURCE,status.MPI_TAG);MPI_Finalize();运行环境配置过程:(这个是在根据网上的环境配置教程做的)1、安装软件MPICH2,本次操作安装在C:Program FilesMPICH2文件夹中。2、打开安装好的MPICH2目录,打开bin 文件夹中的wmpiregister.exe文件,进行注册。填入本机的用户名和密码。3、建立一个控制台应用程序空文档,MY

5、 MPI,输入程序。2欢迎下载精品文档4、添加库和包含文件打开 Tool->Options对话框选择项目和解决方案下的VC+目录一栏,如下图所示:分别添加包含文件C:Program FilesMPICH2include和库文件C:Program FilesMPICH2lib5、取消预编译头打开 Project->Property,设置框如下图所示展开 C/C+项,选择与编译头,在创建/ 使用预编译头中选择:不使用预编译头。3欢迎下载精品文档6、打开 Project->Property,设置框如下图所示将配置属性中的常规项中的字符集设置成未设置。4欢迎下载精品文档展开连接器中输

6、入项,在附件依赖项中添加mpi.lib7、自定义多线程运行打开 MPICH2安装目录显得mpiexec.exe装入运行产生的.exe 文件并选择线程数,运行结果如下图所示。5欢迎下载精品文档第二次实验实验要求 : MPI 实验第二部分1. 了解计算粒度、问题规模(计算负载) 、并行程度概念 ;2. 测试基于 MPI 的 Pi 并行计算程序 ;3. 完成实验报告( MPI 程序代码、运行结果截屏、实验分析总结)在这次的实验过程中,我们的程序是通过数值方法计算的值来观察运行时间。程序 :#include"stdafx.h"#include<stdio.h>#incl

7、ude"mpi.h"staticlong num_steps = 100000;void main( intargc,char * argv)inti_start, i_end, i, myid, numprocs;double pi, mypi, x, step, sum = 0.0;double start, end;MPI_Init(&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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论