【高性能计算】完美解决Windows下安装mpi环境并应用到VSCode中报错问题的方法

您所在的位置:网站首页 头文件windowsh报错 【高性能计算】完美解决Windows下安装mpi环境并应用到VSCode中报错问题的方法

【高性能计算】完美解决Windows下安装mpi环境并应用到VSCode中报错问题的方法

2024-03-13 03:30| 来源: 网络整理| 查看: 265

完美解决Windows下安装mpi环境并应用到VSCode中报错问题的方法 1.安装MinGW64环境2.下载MSMPI安装包3.在VSCode中安装Code Runner插件4.将mpi.h变为绝对路径解决引入文件飘红、msmpi.dll找不到问题5.使用Code Runner插件运行程序6.解决VSCode乱码

最近在做高性能计算的相关实验,为了实现并行化,我使用了MPI方法。为了让实验能够更加充分得到验证,我希望自己能够从Windows和Linux两个操作系统环境下来进行并行化加速。如题所示,我使用的工具是VSCode(其实按理来说VS2019更方便,但是我没有)。在越过了很多个坑之后,我终于让MPI方法在VSCode上完美运行,于是想要写一篇博客进行记录,并帮助在这个问题上会遇到坑的朋友们。

为了本篇博文的完整性,我将所有流程一一呈现。 安装教程参考: vscode上配置ms-mpi(轻量级的ms-mpi开发环境) Windows系统下在VSCode中配置MPI开发环境

1.安装MinGW64环境

一定要按照MinGW64,而不是MinGW32,至于原因我没有深入了解,也是看其他博主所说的。关于MingGW64环境的安装方法其实在CSDN上有很多,为了方便,在这里把安装包发给大家: 链接:https://pan.baidu.com/s/1obu_ITAurDLIlJq5NXSwJw?pwd=0927 提取码:0927 根据教程安装好以后,在命令行界面输入:

g++ --version gcc --version

出现以下的提示则代表安装完成。 在这里插入图片描述

2.下载MSMPI安装包

安装包其实可以通过微软的官网进行下载:微软官网下载链接 此处我是通过GitHub链接来下载的:GitHub Microsoft-MPI下载链接 可以点击msmpisdk.msi或者msmpisdk.exe来进行下载,.msi版本是.exe版本的轻量级,.exe里所包含的软件环境更加全面,包含了.msi的所有环境。对于MSMPI,点击二者任一版本即可,安装流程和结果相同。 在这里插入图片描述 安装完毕后,打开命令行输入:

set MSMPI

运行结果如下所示,以下展示了MSMPI安装好之后的几个环境变量。 在这里插入图片描述 在这里插入图片描述

3.在VSCode中安装Code Runner插件

打开VSCode,点击扩展区,搜索Code Runner并下载。下载完毕后,在扩展里进行搜索code-runner。如果搜索不到的话,可以通过点击Code Runner处的设置icon,点击扩展设置来搜索: 在这里插入图片描述

在扩展中找到 Code-runner:Executor Map,点击在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 4 $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 4 $fileNameWithoutExt”,

一定要注意对应自己安装MSMPI的路径。

4.将mpi.h变为绝对路径解决引入文件飘红、msmpi.dll找不到问题

在完成上述操作之后,就可以引入mpi头文件了。可是我们会发现引入头文件之后文件存在问题:# include 会飘红。如果我使用g++来进行运行,打开生成的.exe文件,会有:找不到msmpi.dll的问题 在这里插入图片描述

为了解决这个问题,我们引入绝对路径:

在这里插入图片描述 在这里插入图片描述

虽然#include有波浪线,但是可以用Run Code运行。有波浪线的原因是安装c++扩充包,c++扩充包没有mpi.h的头文件路径,这时你加上路径,波浪线就会消失。

5.使用Code Runner插件运行程序

在我们之前对MPI进行一系列操作之后,我们便可以使用Run Code来运行了。

在这里插入图片描述

此处我的运行demo来自于我参考的博文,如下:

#include #include "C:\Program Files (x86)\Microsoft SDKs\MPI\Include\mpi.h" #include using namespace std; int main(int argc,char* argv[]){ cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3