Windows 8.1/10配置VS 2013 + MPI开发环境
关于win上安装MPI开发环境,网上能搜到的教程貌似都很老,还需要在管理员账户开发,感觉很诡异,于是自己摸索了下,不需要管理员账户,总结如下。
1. 准备
- VS 2013(VS 2010及以上都行)
- Windows 8.1操作系统(Win7及以上都行)
2. 下载并安装MPICH For Windows
MPI是一个接口规范,我们使用的是它的实现MPICH。
首先,进入http://www.mpich.org/downloads/站点根据操作系统下载。由于我们使用的是Windows,拉到下载网页最底部,最新的MPICH实现已经由微软官网托管,我们直接进去下载。
然后,选择最新的V8下载,包含两个文件:msmpisdk.msi和MSMpiSetup.exe。
下载完毕直接分别安装这两个程序,都点下一步下一步即可。
3. 配置VS并写个HelloWord测试
3.1 配置VS
首先新建一个名为MPI-demo的项目,在项目属性中进行如下配置。
MPI安装配置如图:
包含目录里面添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Include;
库目录的里面添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64;
其他必要配置:
- 配置管理器,选择x64编译平台;
- C/C++ -> 预处理器,添加:MPICH_SKIP_MPICXX;
- C/C++ -> 代码生成 -> 运行库,选择:多线程调试(/MTd);
- 链接器 -> 输入 -> 附加依赖项,添加:msmpi.lib;
3.2 HelloWord测试
新建一个C++文件,命名为main.cpp,源代码如下(若有报错,请检查上述安装过程!):
#include <stdio.h> #include <mpi.h> int main(int argc, char *argv[]) // int argc; // char *argv[]; { int myid, numprocs, namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); /* starts MPI */ MPI_Comm_rank(MPI_COMM_WORLD, &myid); /* get current process id */ MPI_Comm_size(MPI_COMM_WORLD, &numprocs); /* get number of processes */ MPI_Get_processor_name(processor_name, &namelen); if (myid == 0) printf("number of processes: %d\n", numprocs); printf("%s: Hello world from process %d \n", processor_name, myid); MPI_Finalize(); return 0; }
编译整个项目,将编译得到的 exe文件(debug文件夹下)放在安装的MS-MPI的bin目录(默认为:C:\Program Files\Microsoft MPI\Bin)下,在这个Bin目录下按住shift键于空白处右键单击,打开命令行窗口,输入 mpiexec -n 10 MPI-demo.exe 得到运行结果,如下图: