如何Open MPI:确保在编译 Open MPI 时启用了 InfiniBand 支持。
要确保 Open MPI 在编译时启用了 InfiniBand 支持,你需要在安装过程中包括对 InfiniBand 驱动(如 OFED)和相关库(如 RDMA CM 和 Verbs)的支持。下面是详细的步骤,这些步骤假设你从源代码编译 Open MPI:
- 安装 InfiniBand 依赖项
在编译 Open MPI 之前,你需要确保安装了所有必要的 InfiniBand 开发库。这通常包括但不限于 libibverbs,librdmacm 等。在大多数 Linux 发行版中,你可以使用包管理器来安装这些:
对于基于 Debian 的系统(如 Ubuntu):
1
| $ sudo apt-get install libibverbs-dev librdmacm-dev
|
对于基于 RHEL 的系统(如 CentOS):
1
| $ sudo yum install libibverbs-devel rdma-core-devel
|
- 下载 Open MPI 源代码
你可以从 Open MPI 的官方网站下载最新的源代码包:
1 2 3
| $ wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.5.tar.gz $ tar -xzvf openmpi-4.0.5.tar.gz $ cd openmpi-4.0.5
|
这里的版本号 4.0.5 是一个示例,请根据实际情况下载最新或适用的版本。
- 配置 Open MPI
使用 configure 脚本准备编译环境,确保指定对 InfiniBand 的支持。Open MPI 会自动检测系统上的 InfiniBand 库和头文件,但你可以通过指定特定的选项来确保启用它们:
1
| $ ./configure --with-verbs --with-cuda='$CUDA_HOME' --prefix='$OPENMPI_HOME'
|
如果你的 InfiniBand 库和头文件不在标准位置,你可能需要指定它们的路径,例如:
1
| $ ./configure --with-verbs=/path/to/verbs
|
- 编译和安装
一旦配置完成,使用以下命令编译和安装 Open MPI:
1 2
| $ make all $ sudo make install
|
- 环境设置
安装完成后,你需要更新你的环境变量,以便系统能找到新安装的 Open MPI。这通常涉及更新 PATH 和 LD_LIBRARY_PATH:
1 2 3 4
| $ export PATH=$OPENMPI_HOME:$PATH $ export LD_LIBRARY_PATH=$OPENMPI_HOME/lib:$LD_LIBRARY_PATH $ export PATH=/usr/local/bin:$PATH $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
|
请根据你的安装路径调整上述命令。
- 验证安装
安装完成后,你可以运行 ompi_info 命令来检查 InfiniBand 支持是否正确启用:
1
| $ ompi_info | grep -i infiniband
|
这应该会显示一些关于 InfiniBand 支持的信息,确认它已被正确配置。
通过这些步骤,你应该能够成功编译并安装一个支持 InfiniBand 的 Open MPI 版本。这将允许你高效地运行分布式应用,特别是在使用高性能计算集群时。