MPI是高性能计算和并行计算的一个重要的库,想要运行MPI的程序,得先配置好他。
这个教程是在win11的环境下基于VScode的开发环境进行配置
Mingw-w64:MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net
可以用最下面的installer安装器
安装完之后打开cmd,用命令gcc -v查看安装版本号,出现版本号即表示安装完成
MicrosoftMPI:Download Microsoft MPI v10.1.2 from Official Microsoft Download Center
点击Download后全选两个文件下载,然后安装
在cmd中用set msmpi命令查看是否安装完成,显示出路径就表示安装完成,记住这些路径
安装完编译器之后要先配置好环境变量,可以直接在win11的搜索栏搜索打开
在系统变量中选择path,然后点击编辑
挑两个空白的行填入路径
VScode需要用到的插件有这两个,C/C++和Cunner
我们直接对Coderunner进行扩展设置,在setting.json中编辑
注释掉原来的这两行,新增加两行,注意替换成自己的路径,替换代码如下
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt -fopenmp -l msmpi -L \"C:\\Program Files (x86)\\Microsoft SDKs\\MPI\\Lib\\x64\" -I \"C:\\Program Files (x86)\\Microsoft SDKs\\MPI\\Include\" && mpiexec -n 8 $fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -fopenmp -l msmpi -L \"C:\\Program Files (x86)\\Microsoft SDKs\\MPI\\Lib\\x64\" -I \"C:\\Program Files (x86)\\Microsoft SDKs\\MPI\\Include\" && mpiexec -n 8 $fileNameWithoutExt",
然后按住ctrl+shift+p,搜索C/C++,找到编辑配置
在左侧找到编辑配置JSON
打开json文件在includepath中添加你的mpi的include路径
用绝对路径,要注意替换成你的安装路径
#include
#include
int main(){
MPI_Status status;
char string[]="xxxxx";
int myid;
MPI_Init(NULL,NULL);
MPI_Comm_rank(MPI_COMM_WORLD,&myid);
if(myid==2)
MPI_Send("HELLO",5,MPI_CHAR,7,1234,MPI_COMM_WORLD);
if(myid==7){
MPI_Recv(string,5,MPI_CHAR,2,MPI_ANY_TAG,MPI_COMM_WORLD,&status);
printf("Got %s from P%d, tag %d\n",string,status.MPI_SOURCE,status.MPI_TAG);
fflush(stdout);
}
MPI_Finalize();
}
这里准备了一个hello程序测试
成功运行
修改线程数,要在Coderunner的setting.json文件中修改,修改我们刚刚修改的两个语句的后缀,这里默认了8个线程