MPI安装与运行报告
MPI编程环境安装与测试

一、实验目的1. 熟悉Linux平台的使用。
2. 掌握MPICH的安装、配置以及测试方法。
二、实验条件Linux平台。
三、实验原理及相关知识1. 参阅相关Linux操作系统的配置;2. 参阅MPICH安装与配置。
四、实验步骤一、运行平台搭建1. 准备工作(1) PC机或虚拟机;(2) 设置机器IP,更改主机名。
例如:主机名node1,node2,IP地址分别为192.168.0.1,192.168.0.2 执行:#service network restart#service iptables stop2. 创建SSH信任连接(在root目录下):(1) 更改/etc/hosts文件#vi /etc/hosts增加如下内容:主机IP地址主机名例如:192.168.0.1 node1192.168.0.2 node2(2)在node1上生成SSH密钥对#ssh-keygen –t rsa(3) 进入.ssh目录#cd .ssh(4) 生成authorized_keys文件#cp id_rsa.pub authorized_keys(5) 退出root目录#cd ..(6) 建立本地的信任连接#ssh node1(7) 设置node2(node2的root目录下)#ssh-keygen –t rsa#scp node1的IP:/root/.ssh/* /root/.ssh # scp node1的IP:/etc/hosts /etc/hosts #ssh node1(8) 确认信任连接(每台机器上执行)#ssh node1#ssh node2二、安装MPICH2(在节点root目录下)1. 下载MPICH并解压;下载:/pub/mpi/解压:tar -zxvf mpich2-1.0.4.pl.tar.gz 2. 创建安装目录#mkdir /root/MPICH23. 进入/root/mpich2-1.0.4.pl#cd /root/ mpich2-1.0.4.pl4. 设置安装目录#./configure --prefix=/root/ MPICH25. 编译#make6. 安装#make install7. 修改/etc/mpd.conf#vi /etc/mpd.conf内容:MPD_SECRETWORD=mypasswd#chmod 600 /etc/mpd.conf8.创建主机名称集合文件/root/mpd.hosts#vi /root/mpd.hosts内容:node1node2三、测试1.修改/root/.bashrc# vi /root/.bashrc增加:PATH=”$PATH:/root/MPICH2/bin”#source /root/.bashrc2. 本地测试#mpd &#mpdtrace#mpdallexit3. 运行集群系统#mpdboot -n number –f /root/mpd.hosts number为要起动的机器个数#mpdtrace#mpdallexit。
MPICH 的安装使用和MPI原理分析

MPI_Init (*argc,*argv);//初始化MPI环境
MPI_Comm_size (comm,*size);//返回同组内进程数
MPI_Comm_rank (comm,*rank);//返回该进程在组内的进程号,从0开始
MPI_Send(buf,count,datatype,dest,tag,comm);
将结果exe程序拷贝到MPICH2\bin目录下,运行mpiexec程序,在Application内添加要我们运行的exe程序。选择进程数目,然后Execute,就会显示多个进程的执行情况。
MPICH
MPI过程就好像一个几步的过程调用,通过初始化,设置进程数,运行进程,进程间发送和接受消息,结束这些步骤来完成。
}
MPI_Bcast(&n,1,MPI_INT,0,MPI_COMM_WORLD);
h=1.0/(double) n;
sum=0.0;
for(i=myid+1;i<=n;i+=numprocs)
{
x=h*((double)i-0.5);
sum+=f(x);
}
mypi=h*sum;
if (m2-1.3.2p1-win-ia32.msi,填写passphrase,默认为behappy,选择默认路径安装。
运行wmpiregister,注册当前的管理员用户。
使用建立和编译MPI程序:新建一个项目,设置项目属性,将MPICH2\lib目录添加到C++连接的library path内,将MPICH2\include目录添加到C++链接的Include Path内,在程序属性的链接器->命令行中添加mpi.lib,编译和生成程序。
MPI安装与运行报告

MPI安装于运行报告本机运行环境:机器型号:联想G450处理器:Pentium(R)Dual-Core CPU T4200 @ 2.00GHz运行内存(RAM):2GB操作系统:Windows 7(32位)程序开发环境:Visual Studio 2008MPI版本:mpich2-1.3.2p1-win-ia32安装程序详细安装步骤:1、运行mpich2-1.3.2p1-win-ia32.msi。
安装过程中,会要求设置一个passphrase。
我的机器上默认的passphrase是beHappy,很有意思的密码。
设置这个东西很重要,一定要记住;下面会说到为什么。
2、安装完之后,不知道下一步怎么进行了。
打开刚才安装的MPICH2的快捷方式目录,发现了一个README文件。
打开之后,发现了MPICH2的使用方法介绍,于是按照其中的指示,我进行了第一个MPI并行程序的编写。
我使用的是VC++2008。
首先创建一个新的工程,取名为MPITest。
添加MPI库的支持:按照README中的指导,应该首先将MPI的头文件目录包含到项目中去。
结果在项目属性中找了半天,也没有找到添加头文件目录的位置,只找到了包含库文件的位置,我安装MPICH2的目录为D:\ProgramFiles\MPICH2,将MPICH2的库文件添加到如下面图1所示的位置即可。
最后才反应过来,这个工程还是空的,没有任何文件,可能跟这个有关系吧。
于是,马上新建了一个Cpp文件main.cpp,将老师PPT中的例子程序拷贝进去。
图 1果然,新建了这个cpp文件之后,项目属性中多出了C/C++这样一项,于是,就可以在其中设置包含文件的目录了,相应的配置如下面图2所示。
图 2设置好这些文件之后,编译程序,结果在连接的时候报错,类似于“main.obj : error LNK2019: 无法解析的外部符号_MPI_Finalize,该符号在函数_main 中被引用”,这样的错误出现了六个。
实验四MPI环境构建及程序设计

实验四MPI环境构建及程序设计MPI(Message Passing Interface)是一种并行计算通信标准,用于在并行计算环境中进行进程间通信。
构建MPI环境并进行程序设计是实现高性能计算的关键步骤之一、本实验将介绍如何构建MPI环境,并通过一个简单的程序设计来演示MPI的使用。
首先,我们需要在计算机上安装MPI环境。
MPI有多种实现,例如OpenMPI、MPICH和Intel MPI等。
这里我们以OpenMPI为例进行环境构建。
2. 安装OpenMPI:打开终端或命令提示符,进入到OpenMPI安装包所在目录,并执行以下命令进行安装:```$ tar xf openmpi-x.x.x.tar.gz # 解压安装包(x.x.x为安装包版本号)$ cd openmpi-x.x.x # 进入解压后的目录$ ./configure --prefix=/usr/local/openmpi # 配置安装路径$ make # 编译$ sudo make install # 安装(需要管理员权限)```3.配置环境变量:```export PATH=/usr/local/openmpi/bin:$PATHexportLD_LIBRARY_PATH=/usr/local/openmpi/lib:$LD_LIBRARY_PATH ```执行以下命令使环境变量生效:```$ source ~/.bashrc # 或 source ~/.bash_profile```4.验证MPI环境:执行以下命令验证MPI环境是否成功安装:```$ mpiexec --version```如果输出了MPI版本信息,则说明安装成功。
接下来,我们将通过一个简单的MPI程序来演示MPI的使用。
以下是一个求解圆周率的MPI程序示例:```c#include <stdio.h>#include <stdlib.h>#include <mpi.h>int main(int argc, char *argv[])int rank, size;double pi = 0.0;double sum = 0.0;MPI_Init(&argc, &argv);srand(rank);for (int i = start; i < end; i++)double x = (double)rand( / RAND_MAX;double y = (double)rand( / RAND_MAX;if (x * x + y * y <= 1.0)sum += 1.0;}}MPI_Reduce(&sum, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD);if (rank == 0)printf("Approximated Pi: %f\n", pi);}MPI_Finalize(;return 0;```该程序使用蒙特卡洛方法求解圆周率。
mpi安装

MPICH 在windows上安装与使用MPICH 在windows上安装与使用,其实很简单。
1。
下载,安装,在每台电脑上都安装,每台电脑上建一个管理员级别的用户,每台电脑上的用户名及密码相同,每台电脑IP不同,在同一网关下,掩码一样。
所有的电脑都具有相同的工作组。
所有电脑建议关闭防火墙(不关闭防火墙进行连接,我还想不到解决办法)在进行并行计算时,其它从机可不进行登陆,或用哪个用户登陆都可以,不影响并行计算的连接。
确认在每台机器上都启动了RemoteShellServer。
可以通过控制面板->服务,来检查,推荐将这个服务设为自动,可以减少以后的维护。
(搞不清,不放心就把remote 的启动)2。
配置(可有可无)(1)系统环境变量,添加MPICH的路径。
如你安装MPICH到C:\Program Files\MPICH,则在系统环境变量的path中添加路径C:\Program Files\MPICH\mpd\bin (各项是用空格分开的)。
(2)路径。
我个人建议在每台电脑上相同的路径上建一个目录(如:C:\mpitest\),使用主机电脑具有读写所有从机该目录的限权。
这样,就可在主机编程调试程序,直接把编译后的程序从网络上传到从机的共享目录上,不必用U盘拷来拷去的。
(你也可用其它先进方法,如RSH。
)。
每台电脑的共享目录上都存放在相同的并行程序。
(如mympi。
exe)。
(3)注册用户用MPIRegister。
exe(在cmd下,MPIRegister。
exe在C:\Program Files\MPICH\mpd\bin 下)在每台电脑上注册在第一步你新建的用户,可看其命名用法,需要输入密码,(输入时不显示输入提示,这下linux相似)。
(4)验证连接用MPICH Configuration tool查找可用的机器。
在窗口上,应该已经正确显示出工作组名,点select,弹出窗口,点菜单action,scan host。
MPI的安装和配置

MPI MPI ⼀.MPI的安装1.下载MPICH2软件包官⽹:/downloads/。
本次安装直接选择已经下载好的mpich2-1.4.1p1-win-ia32.man(32位)进⾏安装。
2.先安装NET Framework3.5步骤1点“mpich2-1.4.1p1-win-ia32.man(32位)”可能会发现⽆法进⾏安装,直接弹出官⽹下载MPICH2软件包的情况。
这是因为电脑上没有配置NET Framework3.5的原因,所以要先在电脑上安装NET Framework3.5或者NET Framework2.0。
如果电脑上已经安装有NET Framework 3.5,跳过此步骤。
先百度下载NET Framework 3.5,打开后按照提⽰进程依次点NEXT就可以安装好NET Framework 3.5。
3.按照提⽰进程进⾏安装。
安装⽬录默认:C:\Program Files (x86)\MPICH2即可。
如下截图:4.加⼊mpich2的路径:计算机---属性---⾼级系统设置---⾼级---环境变量---path中加⼊C:\Program Files (x86)\MPICH2\BIN路径。
如下截图:5.双击运⾏C:\Program Files\MPICH2\bin ⽬录下的wmpiregister(1)、输⼊账户的⽤户名与密码(2)、点击Register注册(3)、点击OK,确认如下截图6、1.、以管理员⾝份启动命令名提⽰符:找到命令处理程序C:\Windows\System32\cmd.exe 点击右键:选择以管理员⾝份运⾏(2)、在C:\Program Files(x86)\MPICH2\bin⽬录下运⾏:smpd -install -Pumbaa(账户名) *******(账户密码)如下截图⼆、MPI运⾏环境的配置1、运⾏C:\Program Files (x86)\MPICH2\bin⽬录下的wmpiconfig。
MPI综合实验报告

MPI综合实验报告MPI(Message Passing Interface)是一种并行计算编程模型,可用于在分布式内存系统中实现进程间通信。
本文将介绍一个关于MPI的综合实验报告,涵盖了MPI的基本概念、实验目的、实验过程和实验结果。
一、实验目的1.熟悉MPI的基本概念和编程模型;2.掌握MPI的几个常用函数的使用方法;3.理解并实现并行计算的数据分发和结果收集。
二、实验过程1.环境准备:配置MPI开发环境,包括安装MPI软件包和设置环境变量。
2.实验设计:设计一个简单的并行计算任务,实现对一组数据的平方计算。
3.编码实现:使用MPI编写程序,在主进程中生成一组数据,在其他进程中进行数据分发和计算。
4.程序运行:运行MPI程序,观察并记录各个进程的计算结果。
5.结果分析:比较串行计算和并行计算的结果,并计算加速比。
三、实验结果1.硬件环境:实验采用了一台配置为4核的计算机进行测试。
2. 算法实现:程序中使用MPI的MPI_Send和MPI_Recv函数进行通信,其中主进程通过MPI_Bcast函数将数据广播到其他进程,其他进程使用MPI_Recv函数接收数据,并计算平方。
3.数据分析:比较串行计算和并行计算的结果,通过计算加速比来评估并行计算的效果。
实验结果显示,并行计算的加速比在4个进程的情况下超过了3倍。
四、实验总结本次实验成功地实现了一个简单的MPI并行计算任务,并比较了串行计算和并行计算的结果。
实验结果表明,MPI能够实现进程间的高效通信,并发挥多核处理器的计算能力,从而显著提高计算速度。
通过实验,我对MPI的编程模型和函数使用有了更深入的了解,也加深了对并行计算的理解。
(以上内容为模拟生成。
MPI安装与配置实验

实习一MPICH安装与配置实习目的:学会在个人计算机上安装MPICH2并进行配置,在VC6中MPI配置。
实习要求:在个人计算机上安装mpich2,并进行配置,在VC6中完成与mpi的配置,编写一个简单mpi程序,并成功运行。
实习环境:Windows7操作系统,VC6编译器。
实习步骤:1.在个人计算机上安装mpich2,默认安装路径为C:\Program Files\MPICH2。
其安装界面为:选择Nest进行下一步的安装工作。
设置安装路径,如下图:继续,直至安装完成:2.mpich2与个人计算机进行配置。
首先进行注册,必须使用管理员账号登陆注册。
在C:\program files\mpich2\bin目录下执行wmpiregister.exe文件,出现如图界面。
在其中相应位置出入管理员账号和密码,点击“Register”按钮,在其下文本框内出现“Password encrypted into the Registry”,表示账号和密码已经读入内存,点击“OK”键,将其写入硬盘。
与个人计算机配置,点击“Get Hosts”显示当前主机名,实习主机为“yangxiaodi”。
点击“Scan for version”待下方蓝色进度条显示完成时,显示mpi版本号,此次实习的版本号为“1.4.1p1”,点击“Get setting”主机名将显示为绿色,如图所示。
选择要设置的选项,点击“Apply”,最后点击“OK”完成mpi与个人计算机配置。
在成功安装mpich之后,在“任务管理器”中“进程”将会出现“smpd”进程,如图中所示:3.mpi与VC6配置。
打开VC6,新建一个工程,点击“工程”--->“设置”,出现如下图界面,选择“C/C++”选项,选择“所有配置”选项(①的下拉框),再选择“预处理器”选项(②的下拉框),在“附加包含路径”(③所示区域)中添加头文件“include”所在目录。
本机安装路径为C:\Program Files\MPICH2\include。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MPI 安装于运行报告
本机运行环境:
机器型号:联想G450
处理器:Pentium(R)Dual-Core CPU T4200 @ 2.00GHz 运行内存
(RAM):2GB
操作系统:Windows 7(32 位)
程序开发环境:Visual Studio 2008
MPI 版本:
mpich2-1.3.2p1-win-ia32 安装程序
详细安装步骤:
1、运行mpich2-1.3.2p1-win-ia32.msi。
安装过程中,会要求设置一个passphrase我的机器上默认的passphrase是beHappy,很有意思的密码。
设置这个东西很重要,一定要记住;下面会说到为什么。
2、安装完之后,不知道下一步怎么进行了。
打开刚才安装的MPICH2
的快捷方式目录,发现了一个README文件。
打开之后,发现了MPICH2的使用方法介绍,于是按照其中的指示,我进行了第一个MPI 并行程序的编写。
我使用的是VC++2008首先创建一个新的工程,取名为MPITes。
添加MPI 库的支持:
按照README中的指导,应该首先将MPI的头文件目录包含到项目中去。
结果在项目属性中找了半天,也没有找到添加头文件目录的位置,只找到了包含库文件的位置,我安装MPICH2的目录为D:\Program Files\MPICH2将MPICH2的库文件添加到如下面图1所示的位置即可。
最后才反应过来,这个工程还是空的,没有任何文件,可能跟这个有关系吧。
于是,马上新建了一个Cpp文件main.cpp,将老师PPT中的例子程序拷贝进去。
图1
果然,新建了这个cpp文件之后,项目属性中多出了C/C++这样一项, 于是,就可以在其中设置包含文件的目录了,相应的配置如下面图2所示
图2
设置好这些文件之后,编译程序,结果在连接的时候报错,类似于
main.obj : error LNK2019:无法解析的外部符号_MPI_Finalize,该符号在函数_main中被引用”这样的错误出现了六个。
再看READM文档,发现了这样• 句话:
For C applicati ons add mpi.lib to your target link comma nd.
于是想到,可能需要在工程中显式添加mpi库的支持。
在下面图3所示的位置设置响应的lib之后,重新编译、连接程序,顺利通过。
图3
然后直接编译运行程序,出现了如下面图4所示的界面,表明该程序只在本机进行了运行,尚未真正并行执行。
图4
安装完MPICH2之后,系统中应该会出现一个名为smpd的服务进程。
在此
情况下,运行并行程序时,会出现如下的错误提示:” Error: No smpd passphrase specified through the registry or .smpd file, exiting”,如下面图5 所示。
图5
这个是需要用管理员账户,启动命令行(“以管理员身份”运行cmd.exe ),然后 输入smpd -install -phrase ******,星号部分就是你先前设置的 passphrase 管埋员:C:\Windovj&\Syst 3exr Not yet implenented: ^smpd
will start the smpd in D : xprogram FilesXJIPI CH2\bin>smpd Stopping MPI CH2 Process HPICH2 MPICH2 Process Manager^ Process MPICH2 Process Manage root daenon node for unix. Ai*g-onne Hat ion-a 1 Argonne Hationa1 Ai*g©nne National M-an^ig-e 1*. ^insCAll -phr^e 87061? Nat ional Lab - Lab stopped« Lab Lab renoued■ installed ・
再次用MPIEXEC wrapper 来运行并行程序,出现正确结果,如下图所
示。
图7
Ubuntu系统下mpich2的安装。
把老师给的“mpich2132p1.tar.gz解压到我的用户目录下。
此时已经是午夜12点了,白天还要去工作……
解压完之后,就在根目录下面发现了README文档,马上打开观看。
参照其中Gett ing Started 一章,我开始了新的探索。
一、首先进入解压后mpich2文件的根目录,运行配置操作:./configure
--prefix=/home/<USERNAME>/mpich2-install |& tee info.txt,结果报错如下:"No Fortra n 77 compiler foun d. If you don't n eed to build any
Fortra n programs, you can disable Fortra n support using
--disable-f77 and --disable-fc. If you do want to build
Fortra n programs, you n eed to in stall a Fortra n compiler such
as gfortra n or ifort before you can proceed."
于是按照提示修改命令,改为./con figure --prefix=/home/east/mpich2-i nstall --disable-f77 --disable-fc |& tee in fo.txt,结果又提示没有找到C++编译器:
“ con figure: error: Abort ing because C++ compiler does not work」f you do not
n eed a C++ compiler, con figure with—isable-cxX
考虑到以后应该会用到g++,于是根据提示用“ sudo apget in stall g++命令进行了安装。
然后再次运行配置命令,终于成功完成。
二、运行make命令” make |& tee info.txt,经过了漫长的等待,看到提
示” Make completed的J时候,终于松了一口气。
三、安装MPICH2 运行” make in stall | & tee in fo.txt 命令。
很快,就
“ Make completed 了。
四、将安装后MPICH2的bin目录“mpich2-install”添加到系统路径中,即添
加到启动脚本中,运行命令“ PATH=/hom e ast/mpich2-i nstall/bi n:$PATH ;
export PATH,”或者直接修改系统配置文件/etc/profile,然后重启系统以使配置文件生效。
然后运行which mpiexec,系统回显出mpiexec的路径,证明bin 目录已经成功添加到系统路径中。
图8
为了节省时间,并确保程序的正确性,我就直接运行MPICH2安装文件中,example目录下自带的例子程序cpi 了,这个程序是用来计算圆周率的。
用mpicc进行编译,mpiexec来运行程序。
具体命令及运行结果如上面图8所示。