OpenMP和MPI环境配置

发布时间:2024年01月23日

OpenMP和MPI环境配置

OpenMP环境配置

  1. 首先创建项目,选择C++ 控制台应用。
    在这里插入图片描述
  2. 选择项目,属性。
    在这里插入图片描述
  3. 在C/C++ —— 语言中,将符合模式选择 ,OpenMP支持选择
    在这里插入图片描述
  4. 配置完毕,可以开始编写代码了。

MPI环境配置(Windows)

  1. 下载安装MPI,下载链接:https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi?redirectedfrom=MSDN
    在这里插入图片描述
    这两个都需要下载
    在这里插入图片描述
    下载完毕后把这俩东西都安装了,安装位置无要求,但是要记住你装在哪了。
    在这里插入图片描述
    地址一为.msi文件安装完毕的样子
    在这里插入图片描述
    地址二为.exe文件安装完毕的样子
    在这里插入图片描述

  2. 创建项目,选择C++ 控制台应用。
    在这里插入图片描述

  3. 选择项目,属性。
    在这里插入图片描述

  4. 配置属性,注意在配置属性时每一步都要点一次应用!!!!
    VC++目录 —— 包含目录,在包含目录中添加地址一(地址一见上文)中的Include文件夹的路径
    在这里插入图片描述
    库目录,同上,找到地址一的Lib里面的X64文件夹,确定。
    在这里插入图片描述
    然后C\C++ —— 预处理器 —— 预处理器定义,加上下面这行

MPICH_SKIP_MPICXX

在这里插入图片描述
代码生成 —— 运行库,选择多线程调试MTd
在这里插入图片描述
链接器 —— 输入 —— 附加依赖项,添加以下内容(这三个就是Lib中的X64文件夹里的三个文件)

msmpi.lib
msmpifec.lib
msmpifmc.lib

在这里插入图片描述

  1. 选择x64
    在这里插入图片描述
  2. 配置完毕,以下是测试代码
#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;
}
  1. 运行多线程,因为vs2019中只能显示一个线程的程序,所以我们要到cmd中实现多线程程序。
    保存一下你的代码,到项目中找到exe程序,如下图。(一定是项目目录x64下的Debug中)
    在这里插入图片描述
    在路径栏中输入cmd打开dos窗口,输入下面这句话
mpiexec -n 8 demo.exe

8代表8个线程,后面是我的文件名,需要替换为你自己的文件名,回车运行即可。
在这里插入图片描述

MPI环境配置(Ubuntu)

  1. 配置基础编译环境
    为了正常编译MPI代码,需要安装C, C++与Fortran的编译环境。
//apt-get命令的 -y 选项默认安装过程中同意所有的默认选择。
sudo apt-get install -y build-essential

//下载与安装完成后,可键入下面的命令观察gcc版本信息。
gcc -v
  1. MPICH的安装
//软件包中包含了mpich,可以直接通过apt-get下载安装。
sudo apt-get install -y mpich

//观察mpicc版本信息
mpicc -v
  1. 安装Vim
sudo apt-get install -y vim
  1. 用mpicc命令编译链接hello_c.c源码,生成可执行文件hello_c
    然后执行,4代表线程数量
    注意指令中的路径要修改为你自己的地址
mpicc -g -Wall -o hello_c hello_c.c

mpiexec -n 4 ./hello_c

参考资料

[1] vs2019配置MPI环境
[2] Windows系统下Visual studio 2022MPI 环境配置
[3] Ubuntu上MPI编程环境部署
[4] MPI下载链接

文章来源:https://blog.csdn.net/weixin_46191137/article/details/135759471
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。