目录
- OpenMP和MPI环境配置
- OpenMP环境配置
- MPI环境配置(Windows)
- MPI环境配置(Ubuntu)
- 参考资料
OpenMP和MPI环境配置
OpenMP环境配置
- 首先创建项目,选择C++ 控制台应用。
- 选择项目,属性。
- 在C/C++ —— 语言中,将符合模式选择 是,OpenMP支持选择 是。
- 配置完毕,可以开始编写代码了。
MPI环境配置(Windows)
-
下载安装MPI,下载链接:https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi?redirectedfrom=MSDN
这两个都需要下载
下载完毕后把这俩东西都安装了,安装位置无要求,但是要记住你装在哪了。
地址一为.msi
文件安装完毕的样子
地址二为.exe
文件安装完毕的样子
-
创建项目,选择C++ 控制台应用。
-
选择项目,属性。
-
配置属性,注意在配置属性时每一步都要点一次应用!!!!
VC++目录 —— 包含目录,在包含目录中添加地址一(地址一见上文)中的Include文件夹的路径
库目录,同上,找到地址一的Lib里面的X64文件夹,确定。
然后C\C++ —— 预处理器 —— 预处理器定义,加上下面这行
MPICH_SKIP_MPICXX
代码生成 —— 运行库,选择多线程调试MTd
链接器 —— 输入 —— 附加依赖项,添加以下内容(这三个就是Lib中的X64文件夹里的三个文件)
msmpi.lib
msmpifec.lib
msmpifmc.lib
- 选择x64
- 配置完毕,以下是测试代码
#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;
}
- 运行多线程,因为vs2019中只能显示一个线程的程序,所以我们要到cmd中实现多线程程序。
保存一下你的代码,到项目中找到exe程序,如下图。(一定是项目目录x64下的Debug中)
在路径栏中输入cmd打开dos窗口,输入下面这句话
mpiexec -n 8 demo.exe
8代表8个线程,后面是我的文件名,需要替换为你自己的文件名,回车运行即可。
MPI环境配置(Ubuntu)
- 配置基础编译环境
为了正常编译MPI代码,需要安装C, C++与Fortran的编译环境。
//apt-get命令的 -y 选项默认安装过程中同意所有的默认选择。
sudo apt-get install -y build-essential
//下载与安装完成后,可键入下面的命令观察gcc版本信息。
gcc -v
- MPICH的安装
//软件包中包含了mpich,可以直接通过apt-get下载安装。
sudo apt-get install -y mpich
//观察mpicc版本信息
mpicc -v
- 安装Vim
sudo apt-get install -y vim
- 用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下载链接