当前位置: 代码网 > it编程>数据库>Mysql > 在Ubuntu上安装和配置MPI环境的详细步骤

在Ubuntu上安装和配置MPI环境的详细步骤

2025年05月29日 Mysql 我要评论
1. 安装 openmpi首先,确保系统是最新的,并安装 openmpi。更新软件包索引:sudo apt update安装 openmpi: 使用 ubuntu 的包管理器安装 openmpi:su

1. 安装 openmpi

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

  • 更新软件包索引
sudo apt update
  • 安装 openmpi: 使用 ubuntu 的包管理器安装 openmpi:
sudo apt install openmpi-bin openmpi-common libopenmpi-dev
  • 这个命令会安装 openmpi 的二进制文件、公共文件和开发库(libopenmpi-dev 提供了编译 mpi 程序所需的头文件和库文件)。

  • 检查安装是否成功: 安装完成后,检查 openmpi 是否安装成功:

mpirun --version
  • 你应该会看到类似下面的输出,显示 openmpi 的版本信息:
mpirun (open mpi) 4.1.1 report bugs to http://www.open-mpi.org/community/help/

2. 配置 openmpi 环境

  • 环境变量设置(可选): 通常,mpi 二进制文件会自动添加到 path 中,如果你安装了多个 mpi 版本或者想确保正确的路径配置,可以手动设置环境变量。

    编辑你的 ~/.bashrc 文件,添加以下几行:

export path=/usr/lib/openmpi/bin:$path 
export ld_library_path=/usr/lib/openmpi/lib:$ld_library_path
  • 使更改生效: 保存并关闭文件,然后执行以下命令使其生效:
source ~/.bashrc

3. 编写 mpi 程序

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

  • 创建一个名为 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; 
}
  • 编译 mpi 程序: 使用 mpicc(openmpi 的 c 编译器封装器)来编译 mpi 程序:
mpicc hello_mpi.c -o hello_mpi
  • 运行 mpi 程序: 使用 mpirun 或 mpiexec 来运行 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 登录

  • 生成 ssh 密钥(如果没有):

ssh-keygen -t rsa -b 2048
  • 按 enter 以默认设置生成密钥。

  • 复制 ssh 密钥到远程节点: 使用 ssh-copy-id 将密钥复制到其他机器上:

ssh-copy-id user@remote_host
  • 现在你可以从主机通过 ssh 无需密码登录远程主机了。

4.2 运行多节点 mpi 程序

  • 创建主机文件: 创建一个包含节点 ip 地址或主机名的主机文件,例如 hosts 文件:

192.168.1.1 slots=2 192.168.1.2 slots=2
  • 其中 slots=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 次。

总结

  • 安装 openmpi:使用 ubuntu 的包管理器安装 openmpi 工具和库。
  • 配置环境:确保 mpi 的二进制文件在 path 中,并设置相关环境变量。
  • 编写和编译 mpi 程序:通过 mpicc 编译,并使用 mpirun 运行 mpi 程序。
  • 多节点运行(可选):配置免密 ssh 登录,使用主机文件在多台机器上运行 mpi 程序。

以上就是在ubuntu上安装和配置mpi环境的详细步骤的详细内容,更多关于ubuntu安装和配置mpi的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com