infiniband驱动的安装
infiniband驱动的安装
如果安装了libibverbs-dev库后仍然无法使能infiniband网卡,您可以直接安装infiniband官方驱动,以使用infiniband网卡进行分布式通信,提升训练性能。infiniband驱动需要在制作镜像时安装。
操作步骤
- 下载MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64.tgz。
进入地址,单击“Download”,选择“Archive Versions”,“Version”选择“4.3-1.0.1.0”,“OS Distribution”选择“Ubuntu”,“OS Distribution Version”选择“Ubuntu 16.04”,“Architecture”选择“x86_64”,下载MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64.tgz。
宿主机安装的infiniband驱动版本为4.3-1.0.1.0,容器镜像中安装的infiniband驱动版本需要与宿主机版本匹配,即同为4.3-1.0.1.0。
可能部分区域的网卡较新,会出现更高版本的infiniband驱动版本,如果您遇到了infiniband驱动安装后,仍然无法使能infiniband网卡的问题,可以咨询相关运维人员以确认宿主机的实际infiniband驱动版本。
图1 下载驱动
- 参考如下Dockerfile中,以在容器镜像中安装infiniband驱动。
USER root # copy MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64.tgz to docker image RUN tar xzvf MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64.tgz && \ cd MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64 && \ chmod +x mlnxofedinstall && \ ./mlnxofedinstall --user-space-only --without-fw-update --force && \ cd - && \ rm MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64.tgz && \ rm -rf MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64 USER ma-user
- 验证infiniband驱动是否安装成功。
在训练代码中执行以下命令,如果无报错则infiniband驱动安装成功:
os.system("ofed_info")