参考博客: http://www.cnblogs.com/shixiangwan/p/6626156.html
http://www.cnblogs.com/hantan2008/p/5390375.html
系统环境:
Windows10 (Windows7及以上均可以)
64bit
VS2013
1. 下载并安装MPICH For Windows
进入http://www.mpich.org/downloads/站点根据操作系统下载。由于我们使用的是Windows,拉到下载网页最底部,最新的MPICH实现已经由微软官网托管,我们直接进去下载。
然后,选择最新的V8下载,包含两个文件:msmpisdk.msi和MSMpiSetup.exe。
下载完毕直接分别安装这两个程序 msmpisdk.msi 和 MSMpiSetup.exe
我安装在了D盘:
2. VS配置以及demo演示
新建一个VC++项目
在项目属性中配置修改如下:
包含目录里面添加: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;
demo测试,新建一个C++文件,命名为main.cpp
1 #include<stdio.h> 2 #include<mpi.h> 3 #include<stdlib.h> 4 #include<time.h> 5 6 int main(int argc, char* argv[]) 7 { 8 int myid, numprocs, namelen; 9 char processor_name[MPI_MAX_PROCESSOR_NAME]; 10 11 MPI_Init(&argc, &argv); // starts MPI 12 MPI_Comm_rank(MPI_COMM_WORLD, &myid); // get current process id 13 MPI_Comm_size(MPI_COMM_WORLD, &numprocs); // get number of processes 14 MPI_Get_processor_name(processor_name, &namelen); 15 16 if (myid == 0) printf("number of processes: %d\n...", numprocs); 17 printf("%s: Hello world from process %d \n", processor_name, myid); 18 19 MPI_Finalize(); 20 21 return 0; 22 }
编译整个项目,将编译(1.项目右键重新生成 或者 2.使用编辑器编译得到)得到的 exe文件(debug文件夹下)放在安装的MS-MPI的bin目录(默认为:C:\Program Files\Microsoft MPI\Bin 我安装在了D盘)下,在这个Bin目录下按住shift键于空白处右键单击,打开命令行窗口,输入 mpiexec -n 10 MPI-demo.exe 得到运行结果,如下图: