VS2010下配置MPI开发环境
- 格式:pdf
- 大小:624.49 KB
- 文档页数:6
VS2010下配置MPI开发环境
本机运行环境:
机器型号:华硕
CPU:Intel Core i3 2350
主频:2.30Ghz (四核)
运行内存(RAM):2GB
操作系统:Windows 7(64位)
程序开发环境:Visual Studio 2010
MPI版本:mpich2-1.3.2p1-win-ia32
由于毕业设计的课题涉及到编写并行程序,导师给我这周的任务就是把并行开发的环境配置好,在配置的过程中遇到了不少问题,在此把过程写下来,希望能帮助到别人。
详细步骤:
1.下载mpich2-1.3.2p1-win-ia3
2.msi
这个比较简单的步骤花了我不少时间。
之前上《高性性能并行计算》课时老师给过一个MPICH的32位版本,而我的电脑是64位的,所以我觉得下载一个64位版本的MPICH应该更可靠点。
先是在官网下了一个mpi-3.2.tar.gz,最新版的,但解压后没有运行文件。
上网查才知道以tar.gz为后缀的是在Linux上运行的MPICH文件。
重新在CSDN上下了一个mpich2-1.3.2p1-win-x86-64.msi,花了1天时间,按照网上的安装教程把vs2010上MPICH的环境配置好了,copy了一个简单的程序想测试一下配置的怎么样了,但程序出错如下:
main.obj : error LNK2019: 无法解析的外部符号_MPI_Finalize,该符号在函数_main中被引用”
这样的错误出现了六个。
从头到尾重新看了下配置没有错,重新安装了MPICH还是有错。
上网查原因,试着修改了代码还是不行。
我就试了试安装32位版本,成功运行了。
2.安装mpich2-1.
3.2p1-win-ia32.msi
安装比较简单,只需一直next就可以,但需要记住设置的pasephrase的值
这个后面会用到。
3.安装完成后,首先更新系统环境变量,计算机->属性->高级系统设置->
系统属性->高级->环境变量更新系统变量中Path 变量(将D:\MPI\bin 添加到Path 变量值上)
4.配置MPICH
安装完成后,打开“开始-所有程序-MPICH-wmpiregister.exe”,在Account 中输入本机用户名(注意本机用户名不能随便写,可到控制面板—用户帐户和家庭安全—用户帐户中查看),在password 中输入本机密码,点击Register 按钮注册(注册成功会出现Password encrypted into the Registry)并按OK 按钮退出。
5.打开“开始-所有程序-MPICH-wmpiexec.exe”,在Application 中选
中D:\ MPI\examples 目录下的cpi.exe 文件,选中run in an separate
window 后单击执行按钮。
但是我们程序出现如下错误:
”Error: No smpd passphrase specified through the registry or .smpd file,
exiting.”
上网查到:原因是smpd进程没有启动解决方法也很简单
1、开始菜单--所有程序--附件用管理员身份运行CMD窗口
2、进入MPICH2的安装目录,以我的为例 cd D:\ MPI\bin
3、输入命令smpd -install -phrase behappy, behappy是安装时设置的passphrase
这样就解决了,正确结果如下:
6.在 Vs2010(C++)中配置 MPICH2
(1)而在VS2010 中,在项目名称上右键选择Properties,即进入Property Pages 窗口。
(2)展开左边Configuration Properties,选中其中的VC++ Directories,在右边Include Directories加入“D:\ MPI\include;”
(3)展开左边Configuration Properties,选中其中的VC++ Directories,在右边Library
Directories加入“C:\ MPI\lib;”
(4)展开左边Configuration Properties 中的C/C++,选中其中的Preprocessor,在右边的Preprocessor Definitions 中加入“MPICH_SKIP_MPICXX;”。
(5)同样展开C/C++,选中Code Generation,把右边的Runtime Library 更改为“Multi-threadedDebug (/MTd)”(此外有下拉菜单可选到它)。
(6)展开左边的Linker,选中Input,在右边Additional Dependencies 中加入“mpi.lib;”。
至此,配置完成。