1. 下载MPI
  2. 下载vs2019
  3. 在vs2019中配置环境
  4. 测试代码

1.下载MPI

首先,正确下载MPI,下载好了会有下面两个文件

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_配置环境


两个文件都安装在同一个目录下,我这里安装在了d盘的MPI目录下了,安装好了一共六个文件,如下图

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_vs2022更新怎么关联国内镜像_02


2.下载vs2019

下载过程就不说了,网上很多教程,这里推荐一个博客,没有安装的可以去看看

3.配置vs中的MPI环境

1)创建c++空项目

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_超算_03

项目目录中的源文件点右键添加新建项

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_文件名_04

2)配置属性

右击创建的项目,点最下面的属性

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_超算_05

配置属性->VC++目录->包含文件->最右边箭头->编辑:

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_文件名_06


找到之前安装的MPI目录下的include文件,点确定

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_MPI_07


然后下面有一个库目录,同上,找到MPI文件下的lib里面的X64,确定。

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_MPI_08


然后:c/c++ -> 预处理器 -> 预处理器定义

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_MPI_09


加上这一句话

MPICH_SKIP_MPICXX

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_配置环境_10


代码生成 -> 运行库 选择多线程调试(/MTd)

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_vs2022更新怎么关联国内镜像_11


链接器 -> 输入 -> 附加依赖项

添加三个文件名,这三个就是你的MPI中的lib中的X64文件夹里的三个文件,可以看看是不是这三个

msmpi.lib

msmpifec.lib

msmpifmc.lib

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_超算_12


配置完成,点确定关闭属性界面

4)测试代码如下:

#include<stdio.h>
#include<mpi.h>
int main(int argc, char* argv[]) {
	int myid, numprocs;
	MPI_Init(&argc, &argv);
	MPI_Comm_rank(MPI_COMM_WORLD, &myid);
	MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
	printf("%d helle from %d", numprocs, myid);
	MPI_Finalize();
	return 0;
}

把这段代码写上,如下图,我的全是错误提示

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_超算_13


不要急,看看运行环境是x86还是x64,如下图左上角,改为x64,就没有错误了。

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_MPI_14


点运行(如果一闪而过,点击CTRL+f5),如果只有一个线程,如下图,不要着急,马上成功了。

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_文件名_15


5)运行多线程程序

因为vs2019中只能显示一个线程的程序,所以我们要到cmd中实现多线程程序。

保存一下你的代码,到文件中找到他的exe程序,如下图。(一定是x64目录下的Debug中)

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_超算_16


在路径栏中输入cmd打开dos窗口,输入下面这句话

mpiexec -n 8 mpi001.exe

8代表8个线程,后面是我的文件名,写你自己的文件名就好。

点回车执行,如下图,成功。

vs2022更新怎么关联国内镜像 vs2019怎么配置环境_MPI_17


完成