You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow在InfiniBand网络使用RDMA失败,执行分布式训练命令报错

TensorFlow无法在InfiniBand环境下使用RDMA(grpc+verbs协议报错)

问题场景

在InfiniBand网络环境中运行TensorFlow分布式训练时,我指定--server_protocol=grpc+verbs尝试启用RDMA加速,但执行训练命令后出现报错。

执行的训练命令:

python tf_cnn_benchmarks.py \
--local_parameter_device=gpu \
--num_gpus=1 \
--batch_size=2 \
--model=alexnet \
--variable_update=distributed_replicated \
--job_name=ps \
--ps_hosts=192.168.230.107:50000 \
--worker_hosts=192.168.230.107:60000,192.168.230.108:60000 \
--task_index=0 \
--server_protocol=grpc+verbs

报错片段:

Traceback (most recent call last):
File "tf_cnn_benchmarks.py", line 1258, in
tf.app.run()
File "/usr/lib/python2.7/site-packages/tens...

排查与解决思路

我之前踩过类似的坑,大概率是RDMA相关依赖没配置到位,或者TensorFlow版本的兼容性问题,你可以按下面的步骤逐一排查:

1. 确认TensorFlow是否编译了RDMA支持

默认通过pip安装的预编译TensorFlow包没有开启RDMA支持,这是最常见的原因。你需要从源码编译TensorFlow,编译时加上--config=verbs参数(针对你用的Python2.7,对应TensorFlow 1.x系列):

bazel build --config=verbs --config=cuda //tensorflow/tools/pip_package:build_pip_package

编译完成后生成pip包,再安装到你的环境中。

2. 先验证底层RDMA连通性

先抛开TensorFlow,直接测试两台机器的InfiniBand RDMA是否能正常工作,用ib_send_bw工具跑带宽测试:

# 在192.168.230.107上运行服务端
ib_send_bw -d mlx5_0 -i 1
# 在192.168.230.108上运行客户端
ib_send_bw -d mlx5_0 -i 1 192.168.230.107

如果测试失败,说明底层InfiniBand环境有问题:

  • 用ibstat命令检查IB端口状态,确保State是Active、Physical State是LinkUp
  • 确认MLNX_OFED驱动是否安装正确,两台机器的驱动版本要一致

3. 安装RDMA依赖库

TensorFlow的grpc+verbs依赖libibverbs和librdmacm,两台机器都要安装:

# CentOS/RHEL系统
yum install -y libibverbs-devel librdmacm-devel
# Ubuntu/Debian系统
apt-get install -y libibverbs-dev librdmacm-dev

安装后再重新编译TensorFlow,确保编译过程能找到这些库的头文件和动态库。

4. 尝试使用IB地址而非以太网地址

InfiniBand有专属的IB地址(可通过ibaddr命令查看),虽然grpc+verbs支持以太网地址映射,但直接用IB地址稳定性更好。你可以把ps_hosts和worker_hosts换成IB地址再试。

5. 锁定兼容的TensorFlow版本

因为你用的是Python2.7,建议使用TensorFlow 1.15.x(最后支持Python2.7的稳定版本),这个版本对RDMA的支持更成熟,老版本可能存在grpc+verbs的已知bug。

内容的提问来源于stack exchange,提问作者William Zhou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:22:24