当前位置:首页 > 行业动态 > 正文

如何安装和使用IB驱动自带的Open MPI?

要安装和使用IB驱动自带的Open MPI,首先确保系统中已安装 IB驱动。然后下载并解压Open MPI源码包,进入目录后配置编译选项以启用IB支持,例如使用 ./configure --with-verbs命令。之后执行 makemake install完成编译安装过程。通过设置环境变量或直接指定参数运行程序,如 mpirun -mca ib_来利用IB驱动的Open MPI功能。

安装和使用IB驱动自带的Open MPI

一、检查IB驱动是否已安装

在开始安装Open MPI之前,需要确认系统上是否已经安装了IB驱动,执行以下命令来查询:

sudo su
which mpirun

如果没有输出,表示未安装IB驱动,继续下一步进行安装,如果已有输出,表示IB驱动已安装,可以直接配置环境变量。

二、下载并安装IB驱动

以CentOS 7.3为例,推荐安装4.2.1版本的IB驱动,访问Mellanox官网,选择相应版本的InfiniBand网卡驱动下载并按照指导进行安装,具体步骤如下:

安装tk和tcl
yum install tk tcl
下载并解压驱动程序包
tar -xvf MLNX_OFED_LINUX-4.2-1.2.0.0-rhel7.3-x86_64.tgz
cd MLNX_OFED_LINUX-4.2-1.2.0.0-rhel7.3-x86_64/
运行安装脚本
./mlnxofedinstall

三、配置环境变量

安装完成后,需配置相关环境变量,编辑~/.bashrc文件,添加以下内容:

export PATH=$PATH:/usr/mpi/gcc/openmpi-4.1.5rc2/bin
export LD_LIBRARY_PATH=/usr/mpi/gcc/openmpi-4.1.5rc2/lib

然后导入配置的环境变量:

source ~/.bashrc

验证环境变量配置是否正确:

which mpirun

四、测试MPI环境

使用Open MPI自带的测试工具进行验证,编译一个简单的“Hello World”程序:

// hello_mpi.c
#include <mpi.h>
#include <stdio.h>
int main(int argc, char** argv) {
    MPI_Init(&argc, &argv);
    int world_rank;
    MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
    int world_size;
    MPI_Comm_size(MPI_COMM_WORLD, &world_size);
    printf("Hello world from processor %d out of %d processors
", world_rank, world_size);
    MPI_Finalize();
    return 0;
}

使用以下命令编译和运行该程序:

mpicc hello_mpi.c -o hello_mpi
mpirun -np 4 ./hello_mpi

你应该会看到类似以下的输出:

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

五、多节点配置(可选)

对于多节点运行,需要进行免密SSH登录配置,生成SSH密钥并将公钥复制到其他节点:

ssh-keygen -t rsa -b 2048
ssh-copy-id user@remote_host

创建一个主机文件hosts

192、168.1.1 slots=2
192、168.1.2 slots=2

运行多节点MPI程序:

mpirun --hostfile hosts -np 4 ./hello_mpi

六、归纳与FAQs

通过上述步骤,可以成功安装并配置IB驱动自带的Open MPI,以下是一些常见问题及解答:

Q1: CCI是否支持高速IB(Infiniband)网络?

A1: 是的,CCI支持高速IB网络。

Q2: 如何给IB网卡手动配置IP地址?

A2: 使用以下命令获取pkey值:

cat /sys/class/infiniband/mlx5_0/ports/1/pkeys/* | grep -v 0000

然后在~/.bashrc中添加:

export MPI_ROOT=/opt/ibm/platform_mpi

小伙伴们,上文介绍了“mpirun -mca ib_安装和使用IB驱动自带的Open MPI”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

0