Windows11下配置环境运行MPI程序

MPI是高性能计算和并行计算的一个重要的库,想要运行MPI的程序,得先配置好他。

这个教程是在win11的环境下基于VScode的开发环境进行配置

1.下载编译器和MPI库

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命令查看是否安装完成,显示出路径就表示安装完成,记住这些路径 

 2.配置编译器和库

安装完编译器之后要先配置好环境变量,可以直接在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路径

 用绝对路径,要注意替换成你的安装路径

3.测试

#include <stdio.h>
#include <mpi.h>
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程序测试

成功运行 

4.修改多线程

修改线程数,要在Coderunner的setting.json文件中修改,修改我们刚刚修改的两个语句的后缀,这里默认了8个线程

### 如何在 Visual Studio Code (VSCode) 中配置 MPI 环境 #### 安装必要的软件和工具 确保已安装适用于 Windows 的 Microsoft MPI (MS-MPI)[^5]。可以从官方提供的链接下载适合的 MS-MPI 版本。 #### 设置 VSCode 开发环境 完成上述准备工作之后,在 VSCode 内通过快捷键 `Ctrl+Shift+X` 打开扩展市场来安装 C/C++ 插件及其 IntelliSense 组件,以便获得更好的编码体验和支持[^1]。 #### 编写与调试 MPI 应用程序 对于编写 MPI 项目而言,推荐创建一个新的文件夹作为工作空间,并在此基础上初始化 Git 或者简单地管理源码文件。接着按照常规方式书写 `.c` 或 `.cpp` 文件即可实现并行计算逻辑部分;需要注意的是编译命令应当指定为 MPICH 提供的 mpicc/mpicxx 工具链而不是默认 gcc/g++[^4]。 当涉及到实际构建过程时,可以考虑采用任务(Task)机制来自定义预处理、编译乃至最终执行整个流程: ```json { "version": "2.0.0", "tasks": [ { "label": "build_mpi_program", "type": "shell", "command": "mpicc", "args": [ "-o", "${workspaceFolder}/main.exe", "${workspaceFolder}/main.c" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "detail": "Builds the MPI program using mpicc." } ] } ``` 此 JSON 片段展示了如何定义一个名为 build_mpi_program 的 Task 来调用 mpicc 进行编译操作,同时指定了输入源文件路径及输出可执行文件名。此外还设置了 problemMatcher 参数用于解析可能出现的问题报告信息。 至于运行阶段,则可以通过终端手动输入如下指令启动多进程实例: ```bash mpiexec -n 4 ${workspaceFolder}/main.exe ``` 这里 `-n 4` 表示并发数量设定为四个节点参与运算,而后面跟的就是之前生成的目标二进制文件的位置。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哆啦叮当

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值