# K100 部署 Qwen3.5-122B-A10B 掉网卡驱动问题
## 环境信息
- **GPU**: K100 × 16(2节点 × 8卡)
- **模型**: Qwen3.5-122B-A10B
- **推理框架**: vLLM + Ray
- **网卡**: RoCE/IB (ens2f0np0)
## 问题现象
## 权重加载完卡住然后有没有cuda优化忘了 然后显示接口开启 调接口只有/v1/models可以返回 然后调用模型回答问题 网卡就掉驱动
启动参数加上以下两条后,网卡驱动崩溃:
```bash
--tensor-parallel-size 8 \
--pipeline-parallel-size 2 \
```
驱动版本如图


## 掉驱动截图


## Ray 集群启动配置
### 节点1(Head Node)
```bash
# ========== 1. 环境变量 ==========
export ALLREDUCE_STREAM_WITH_COMPUTE=1
export VLLM_HOST_IP=172.21.4.200
export NCCL_SOCKET_IFNAME=ens2f0np0
export GLOO_SOCKET_IFNAME=ens2f0np0
unset NCCL_ALGO
export NCCL_MIN_NCHANNELS=16
export NCCL_MAX_NCHANNELS=16
export NCCL_NET_GDR_READ=1
export NCCL_NET_GDR_LEVEL=5
export NCCL_IB_DISABLE=0
export HIP_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
export VLLM_RPC_TIMEOUT=1800000
export VLLM_USE_V1=0
export VLLM_NUMA_BIND=1
export VLLM_RANK0_NUMA=0
export VLLM_RANK1_NUMA=1
export VLLM_RANK2_NUMA=2
export VLLM_RANK3_NUMA=3
export VLLM_RANK4_NUMA=4
export VLLM_RANK5_NUMA=5
export VLLM_RANK6_NUMA=6
export VLLM_RANK7_NUMA=7
# ========== 2. 启动 Ray Head ==========
ray stop --force
ray start --head --node-ip-address=172.21.4.200 --port=6379 --num-gpus=8 --num-cpus=32
```
### 节点2(Worker Node)
```bash
# ========== 1. 环境变量 ==========
export ALLREDUCE_STREAM_WITH_COMPUTE=1
export VLLM_HOST_IP=172.21.4.201
export NCCL_SOCKET_IFNAME=ens2f0np0
export GLOO_SOCKET_IFNAME=ens2f0np0
unset NCCL_ALGO
export NCCL_MIN_NCHANNELS=16
export NCCL_MAX_NCHANNELS=16
export NCCL_NET_GDR_READ=1
export NCCL_NET_GDR_LEVEL=5
export NCCL_IB_DISABLE=0
export HIP_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
export VLLM_RPC_TIMEOUT=1800000
export VLLM_USE_V1=0
export VLLM_NUMA_BIND=1
export VLLM_RANK0_NUMA=8
export VLLM_RANK1_NUMA=9
export VLLM_RANK2_NUMA=10
export VLLM_RANK3_NUMA=11
export VLLM_RANK4_NUMA=12
export VLLM_RANK5_NUMA=13
export VLLM_RANK6_NUMA=14
export VLLM_RANK7_NUMA=15
# ========== 2. 加入 Ray 集群 ==========
ray stop --force
ray start --address='172.21.4.200:6379' --num-gpus=8 --num-cpus=32
```
## 问题分析
`--tensor-parallel-size 8 --pipeline-parallel-size 2` 的并行策略:
| 参数 | 含义 | 说明 |
|------|------|------|
| TP=8 | 张量并行 | 每节点内 8 卡做 TP |
| PP=2 | 流水线并行 | 两节点之间做 PP |
| 总计 | 16 卡 | 2节点 × 8卡 |
网卡驱动崩溃可能原因:
- NCCL 跨节点通信压力过大
- GDR (GPU Direct RDMA) 与 PP 通信冲突
- `ens2f0np0` 网卡带宽不足或驱动 bug
## 权重加载完卡住然后没cuda优化然后显示接口开启 调接口只有/v1/models可以回答 然后调用模型网卡掉驱动
## 完整命令
vllm serve /models/Qwen3.5-122B-A10B \
--host 0.0.0.0 \
--port 1025 \
--served-model-name Qwen3.5-122B-A10B \
--tensor-parallel-size 8 \
--pipeline-parallel-size 2 \
--distributed-executor-backend ray \
--trust-remote-code \
--dtype float16 \
--max-model-len 102400 \
--max-num-seqs 4 \
--max-num-batched-tokens 131072 \
--enable-chunked-prefill \
--enable-prefix-caching \
--block-size 16 \
--max-log-len 1024 \
--gpu-memory-utilization 0.95 \
--reasoning-parser qwen3 \
--default-chat-template-kwargs '{"enable_thinking": false}' \
>> ./vllm_serve.log 2>&1 &
## 求助
有没有遇到过类似问题的兄弟?求解决方案:
1. **调整并行策略**:TP=16 (跨节点) + PP=1 是否可行?
2. **关闭 GDR**:`NCCL_NET_GDR_READ=0` 是否能解决?
3. **网卡参数调优**:`NCCL_IB_GID_INDEX` 或其他 IB/RoCE 参数?
4. **vLLM 版本**:是否有已知 bug?
4. **网卡驱动版本**:是否有指定网卡驱动版本
## 相关日志
```bash
# 网卡掉驱动时的 dmesg 典型报错
dmesg | grep -i "ens2f0np0\|mlx\|nccl"
```
---
**更新**:暂时去掉 `--pipeline-parallel-size 2`,只用 `--tensor-parallel-size 16` 可以正常启动,但想确认 TP+PP 组合的正确用法。