1.准备工作
安装准备:
- Visual Studio2013;
- 64位的mpich2-1.4.1p1-win-x86-64.msi
本文提供VS2013的安装包:
百度链接:http://pan.baidu.com/s/1hr58nli 密码:3lwx
以及64位的mpich2-1.4.1p1-win-x86-64.msi的安装包如下:
链接:http://download.csdn.net/detail/m0_37885286/9831439
2. 软件安装
1.VS2013的安装;
2.MPICH2的安装(64位版):
1)使用Administrator登陆,安装MPICH2
对Win7系统,由于系统用户权限比较复杂,一定要用Administrator用户进行登录才可以安装MPICH2。用其它用户登录,即便是属于Administrators管理组的用户,安装后MPICH2所需要的smpd.exe进程都无法启动。所以,若当前登录用户不是Administrator,请先注销后用Administrator用户登录来安装MPICH2。安装过程中若提示有进程要通过防火墙,点允许即可,安装以默认选项及路径安装即可,一共就十几兆,也不大,不需要更改路径。安装结束后,可注销Administrator用户,再以常用用户登录系统。
Win7下使用Administrator用户登录的方法是:计算机->管理->本地用户和组->用户->Administrator->属性,去掉帐户已禁用前面的勾。切换用户,就可使用Administrator登陆了。如下图:
安装完成后,可以通过查看任务管理器里面是否有smpd.exe进程来看安装是否成功。若有,安装成功;否则,安装不成功。
2)创建MPICH2登录用户
右击桌面上的计算机,并选管理,在计算机管理窗口左边选“本地用户和组->用户”,然后在右边空白处右击选新建用户;在新建用户窗口中新建mpich2用户并设置密码,取消其中的“用户下次登录必须修改密码”,选中“用户不能更改密码”和“密码永不过期”,如下图所示。所有安装并行环境上的计算机上的用户名和密码都必须一样。
3)注册mpi用户
点开始菜单->程序->MPICH2->wmpiregister,在窗口中输入刚才创建的mpich2用户和密码,点register按键注册,若下面窗口中显示“password encrypted into the Register”则注册成功,否则,请检查用户名和密码。点OK退出窗口。如下图所示:
4)添加环境变量和头文件、库文件
mpi安装完毕后检查系统环境变量Path中是否有C:\Program Files\MPICH2\bin(该bin路径在安装路径下,我电脑装到C盘,所以是上述路径),没有则手动加入该路径。
Path的修改方法:”我的电脑”右键单击“属性”,在“高级系统设置”中点击“环境变量”,找到Path,选中后点击“编辑”,就可以查看或修改其中的路径了。如下图:
5)打开VS2013,新建一个空Win32工程,并添加一个源文件。
设置x64位平台:
在上方的Debug中点击配置管理器,如下图:
在活动解决方案平台中点击“新建”,如下图:
再接着在“键入或选择新平台”中选择“x64”之后点击确定,即可;如下图:
添加头文件和库文件:右键项目,->属性->VC++ 目录,在包含目录项添加C:\Program Files\MPICH2\include;在库目录项添加C:\Program Files\MPICH2\lib;具体如下图:
添加附加头文件目录:在C/C++项附加包含目录栏添加C:\Program Files\MPICH2\include。
“C/C++”选项卡里面的“代码生成”选项卡,选择“运行时库”为“多线程(/MT)”。
在链接器项常规中“附加库目录”栏添加C:\Program Files\MPICH2\lib。
在链接器项“输出”中“附加依赖项”栏添加cxx.lib和mpi.lib。
6)在源文件中添加如下代码:
#include "mpi.h"
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
int myid, numprocs;
int namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &myid);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Get_processor_name(processor_name, &namelen);
fprintf(stderr, "Hello World! Process %d of %d on %s\n", myid, numprocs, processor_name);
MPI_Finalize();
return 0;
}
编译,运行:
在MPICH2文件夹中运行wmpiexec.exe
选择刚才在VS2013中编译好的exe文件,选择需要的进程数,最后点击Execute按钮。
得到运行结果:
得到上述运行结果即说明:该并行环境搭建完成!