前提

已安装vscode

安装msmpi

下载地址

https://www.microsoft.com/en-us/download/details.aspx?id=100593

image-20200603145823402.png

两种安装包二选一即可。

安装提示

  1. 打开cmd,输入
set MSMPI
  1. 显示如下图,则说明安装成功。后面所有相关目录均为安装后set MSMPI显示的相关目录,会根据安装时选择的文件夹而不同。

image-20200603150143671

配置vscode

在.vscode文件夹中添加includePath

"D:/Microsoft SDKs/MPI/Include"

image-20200603150700159

测试C++代码

C++代码:

#include <stdint.h>
#include <mpi.h>

#include <iostream>

int main(int argc,char* argv[])
{
    int myid, numprocs;
    int  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);
    std)cout << "Hello World! Process "<< myid <<" of "<< numprocs <<" on "<< processor_name << std)endl;
    MPI_Finalize();
    return 0;
}

在终端中编译运行,结果如下图:

image-20200603172554787

附录

在终端中编译运行的命令:

  1. 编译
    C语言:
gcc 源文件文件名 -o 可执行文件文件名 -fopenmp -l msmpi -L "D:\Microsoft SDKs\MPI\Lib\x64" -I "D:\Microsoft SDKs\MPI\Include"

C++:

g++ 源文件文件名 -o 可执行文件文件名 -fopenmp -l msmpi -L "D:\Microsoft SDKs\MPI\Lib\x64" -I \"D:\Microsoft SDKs\MPI\Include" 
  1. 再执行:
mpiexec -n 进程数 可执行文件文件名

可配置Code Runner扩展(对于C/C++):

  1. 打开扩展设置:

image-20200603151703517

  1. 找到Executor Map,在settings.json中编辑:

image-20200603151828983

  1. 在“code-runner.executorMap”中添加:

image-20200603151948873

"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt -fopenmp -l msmpi -L \"D:\\Microsoft SDKs\\MPI\\Lib\\x64\" -I \"D:\\Microsoft SDKs\\MPI\\Include\" && mpiexec -n 4 $fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -fopenmp -l msmpi -L \"D:\\Microsoft SDKs\\MPI\\Lib\\x64\" -I \"D:\\Microsoft SDKs\\MPI\\Include\" && mpiexec -n 4 $fileNameWithoutExt",

上面最后的mpiexec -n 4 $fileNameWithoutExt中4是进程数,可自行设置。

大佬论坛