Windows搭建一个MPI环境
参考文档:
如何在win10+vs2013上配置MPI并行编程环境
1、准备工作
操作系统:win10
工具:Visual Studio 2022
2、下载安装MPI所需环境
image.png 第一步,找到Windows环境下的链接 image.png image.png两个程序下载完成之后分别双击安装运行
3、配置VS 2022 编写测试程序
建一个新项目
新建一个C++控制台应用项目,起名为 MpiConsoleApplication
image.png
点击“调试”→“属性”
image.pngC/C++ → 常规
设置附加包含目录
image.png
填入skd安装路径,这里我是默认安装路径:C:\Program Files (x86)\Microsoft SDKs\MPI\Include
image.png
链接器 → 常规
设置 附加库目录
image.png
设置路径:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64
image.png
链接器 → 输入
image.png填入
msmpi.lib
msmpifec.lib
msmpifmc.lib
image.png
测试环境
在工程输入如下代码:
#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;
}
编译整个项目,将编译得到的 exe文件(HelloWord_MPI\x64\Debug文件夹下)放在安装的MS-MPI的bin目录(默认为:C:\ProgramFiles\Microsoft MPI\Bin)下,在这个Bin目录下按住shift键于空白处右键单击,打开powershell窗口,输入 mpiexec -n 8 MpiConsoleApplication.exe 得到运行结果,如下图:
image.png以上为本机MPI环境,其中IP为10.12.37.31
装配MPI集群
参考文档 :https://blog.csdn.net/longji/article/details/95058814
需要安装一个
mpich2-1.4.1p1-win-ia32安装程序的下载地址:
http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.4.1p1/mpich2-1.4.1p1-win-ia32.msi
这里我安装总是出错,需要我安装.NET Framework 2.0 但是没有找到这个版本 https://dotnet.microsoft.com/zh-cn/download/dotnet-framework 这个链接里面下载了4.8 版本 ,但是系统已经有这个版本了,所以我下载了3.5 SP1版本,安装完场就可以安装mpich2了
接下来开启防火墙暴露默认端口号:8677
这里链接是 如何防火墙服务端口
http://www.xitongcheng.com/jiaocheng/win10_article_12908.html
一切安装完成之后,进入C:\Program Files\Microsoft MPI\Bin盘符下
image.png
进入powershell 启动服务 : smpd.exe -p 8677
运行测试
进入cmd窗口 运行
mpiexec -hosts 2 10.12.37.31 10.12.37.231 8 MpiConsoleApplication.exe
(其中 IP地址后面的数字为启动线程数量)