0


Ubuntu环境下的mpi环境的配置

在 Ubuntu 上配置 MPI(消息传递接口)环境,常用的是 OpenMPI,它是一个高效、常用的开源 MPI 实现。以下是如何在 Ubuntu 上安装和配置 MPI 环境的详细步骤。

1. 安装 OpenMPI

首先,确保系统是最新的,并安装 OpenMPI。

  1. 更新软件包索引sudo apt update
  2. 安装 OpenMPI: 使用 Ubuntu 的包管理器安装 OpenMPI:sudo apt install openmpi-bin openmpi-common libopenmpi-dev这个命令会安装 OpenMPI 的二进制文件、公共文件和开发库(libopenmpi-dev 提供了编译 MPI 程序所需的头文件和库文件)。
  3. 检查安装是否成功: 安装完成后,检查 OpenMPI 是否安装成功:mpirun --version你应该会看到类似下面的输出,显示 OpenMPI 的版本信息:mpirun (Open MPI) 4.1.1 Report bugs to http://www.open-mpi.org/community/help/

2. 配置 OpenMPI 环境

  1. 环境变量设置(可选): 通常,MPI 二进制文件会自动添加到 PATH 中,如果你安装了多个 MPI 版本或者想确保正确的路径配置,可以手动设置环境变量。编辑你的 ~/.bashrc 文件,添加以下几行:export PATH=/usr/lib/openmpi/bin:$PATH export LD_LIBRARY_PATH=/usr/lib/openmpi/lib:$LD_LIBRARY_PATH
  2. 使更改生效: 保存并关闭文件,然后执行以下命令使其生效:source ~/.bashrc

3. 编写 MPI 程序

接下来,我们来编写一个简单的 MPI 程序,以确保安装和配置正确。

  1. 创建一个名为 hello_mpi.c 的文件:// hello_mpi.c #include <mpi.h> #include <stdio.h> int main(int argc, char** argv) { MPI_Init(&argc, &argv); // 初始化MPI环境 int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); // 获取当前进程的Rank int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); // 获取总进程数 printf("Hello world from processor %d out of %d processors\n", world_rank, world_size); MPI_Finalize(); // 结束MPI环境 return 0; }
  2. 编译 MPI 程序: 使用 mpicc(OpenMPI 的 C 编译器封装器)来编译 MPI 程序:mpicc hello_mpi.c -o hello_mpi
  3. 运行 MPI 程序: 使用 mpirunmpiexec 来运行 MPI 程序。指定使用的进程数量,例如:mpirun -np 4 ./hello_mpi该命令使用 4 个进程运行程序。你应该会看到类似以下的输出:Hello world from processor 0 out of 4 processors Hello world from processor 1 out of 4 processors Hello world from processor 2 out of 4 processors Hello world from processor 3 out of 4 processors

4. 运行多节点的 MPI 程序(可选)

如果你有多台机器并希望在集群上运行 MPI 程序,步骤会稍微复杂一些。

4.1 配置免密 SSH 登录
  1. 生成 SSH 密钥(如果没有):ssh-keygen -t rsa -b 2048Enter 以默认设置生成密钥。
  2. 复制 SSH 密钥到远程节点: 使用 ssh-copy-id 将密钥复制到其他机器上:ssh-copy-id user@remote_host现在你可以从主机通过 SSH 无需密码登录远程主机了。
4.2 运行多节点 MPI 程序
  1. 创建主机文件: 创建一个包含节点 IP 地址或主机名的主机文件,例如 hosts 文件:192.168.1.1 slots=2 192.168.1.2 slots=2其中 slots=2 表示每个节点上运行 2 个进程。
  2. 运行 MPI 程序: 使用 mpirun,指定主机文件和进程数:mpirun --hostfile hosts -np 4 ./hello_mpi这会在多个节点上启动 4 个 MPI 进程。

5. MPI 编译器封装器

MPI 提供了编译器封装器,使编译 MPI 程序更简单:

  • C 编译器封装器mpicc
  • C++ 编译器封装器mpicxx
  • Fortran 编译器封装器mpifort

这些封装器自动处理 MPI 头文件和库的链接,可以直接用它们来编译 MPI 程序。

6. 常用 MPI 命令

  • **mpicc**:用于编译 MPI C 程序。
  • **mpirun**:用于运行 MPI 程序,支持多节点、多进程执行。
  • **mpiexec**:与 mpirun 类似,是 MPI 标准中指定的命令。
  • **ompi_info**:查看 OpenMPI 的配置信息。

7. 验证 MPI 环境

你可以使用 OpenMPI 自带的测试工具来确认 MPI 环境是否配置正确:

mpirun --host localhost -np 4 hostname

该命令将在本地机器上运行 4 个 MPI 进程,并输出机器名称。如果环境配置正确,应该会输出本地主机名 4 次。


总结

  1. 安装 OpenMPI:使用 Ubuntu 的包管理器安装 OpenMPI 工具和库。
  2. 配置环境:确保 MPI 的二进制文件在 PATH 中,并设置相关环境变量。
  3. 编写和编译 MPI 程序:通过 mpicc 编译,并使用 mpirun 运行 MPI 程序。
  4. 多节点运行(可选):配置免密 SSH 登录,使用主机文件在多台机器上运行 MPI 程序。

如果你在配置过程中遇到任何问题,欢迎继续提问!

标签: ubuntu linux 运维

本文转载自: https://blog.csdn.net/weixin_52190646/article/details/142790548
版权归原作者 一步步走 所有, 如有侵权,请联系我们删除。

“Ubuntu环境下的mpi环境的配置”的评论:

还没有评论