笔者初学并行计算这一行,要做并行编程,第一步很定是先配置编程环境了。
1. 准备工作
操作系统:win10
编译器:vs2013
2. 下载并安装MPICH ForWindows
MPI是一个接口规范,我们需要MPICH文件来实现。
首先,我们进入http://www.mpich.org/downloads/站点根据操作系统下载。由于我们使用的是Win10系统,拉到下载网页最底部,最新的MPICH实现已经由微软官网托管,我们直接进去下载。
image进去后,选择最新的V8.1下载,包含两个文件:msmpisdk.msi和MSMpiSetup.exe。
载完毕直接分别安装这两个程序,都点下一步,下一步即可。
image image image3. 配置VS2013,编写个HelloWord测试程序
3.1新建一个C++ 的win32项目,起名为HelloWord_MPI
image3.2 点击下一步,在“应用程序类型”中选择“控制台应用程序”,“附加项”中选择“空项目”。点击完成。
image3.3 点击“调试”->“属性”
image3.4 点击“配置管理器”
image在“活动解决方案平台”下选择“新建”
image把“ARM”替换为“X64”
image3.5 选择C/C++ ->预处理器->“编辑”,添加:MPICH_SKIP_MPICXX
image image3.6 C/C++ -> 代码生成 -> 运行库,选择:多线程调试(/MTd)
image3.7 链接器 -> 输入 -> 附加依赖项,添加:msmpi.lib
image image3.8 在VC++目录这一项中在包含目录中添加C:\Program Files (x86)\Microsoft SDKs\MPI\Include; 在库目录的里面添加:C:\ProgramFiles (x86)\Microsoft SDKs\MPI\Lib\x64;
image最后,点击应用,确定,这样编译器的环境就配置完成了!!!
4. 新建一个WelloWord.cpp。
image image编写如下代码
#include<stdio.h>
#include<mpi.h>
int main(int argc, char *argv[])
{
int myid, numprocs, 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);
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;
}
注意:如果代码有红线,请重新进行步骤3.8
编译整个项目,将编译得到的 exe文件(HelloWord_MPI\x64\Debug文件夹下)放在安装的MS-MPI的bin目录(默认为:C:\ProgramFiles\Microsoft MPI\Bin)下,在这个Bin目录下按住shift键于空白处右键单击,打开powershell窗口,输入 mpiexec -n 8 HelloWord_MPI.exe 得到运行结果,如下图:
image
网友评论