MPI安装与运行报告

MPI安装与运行报告
MPI安装与运行报告

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//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所示。

相关主题
相关文档
最新文档