perftest 工具集ib_write_bw中的 RDMA Write 带宽测试工具手册

ib_write_bwperftest 工具集中的 RDMA Write 带宽测试工具,主要用于测试:

  • RDMA Write 带宽
  • 消息速率
  • QP 并发能力
  • MTU影响
  • PCIe/NIC性能
  • GPU Direct RDMA性能

常用参数整理如下。


1. 基础参数

参数 示例 说明
-d -d mlx5_0 指定 RDMA 设备(HCA)
-i -i 1 指定端口号
-p -p 18515 指定TCP控制连接端口
-F -F 忽略部分参数检查(force模式)
-h -h 查看帮助
-V -V 查看版本

示例:

bash 复制代码
ib_write_bw -d shca_0 -i 1 12.11.7.33

2. Queue Pair(QP)相关参数

参数 示例 说明
-q -q 8 QP数量
-t -t 128 TX Queue Depth(发送队列深度)
-r -r 128 RX Queue Depth
-R -R 使用SRQ共享接收队列

QP影响

单QP:

text 复制代码
QP1
 |
NIC

多QP:

text 复制代码
QP1 \
QP2  \
QP3 ---> NIC
QP4  /

例如:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 8 \
12.11.7.33

测试8个并行QP。


3. 数据大小参数

参数 示例 说明
-s -s 65536 每次消息大小(byte)
-n -n 10000 iteration次数
-a -a 自动测试多个size
--size --size=1M 指定大小

常用:

64KB测试

bash 复制代码
-s 65536

1MB大包

bash 复制代码
-s 1048576

4. MTU相关参数

参数 示例 说明
-m -m 4096 设置IB MTU
--mtu --mtu=4096 同义

常见:

MTU 场景
256 低性能
1024 普通
2048 较好
4096 推荐

你的:

复制代码
Mtu : 4096[B]

已经最大。


5. 测试时间/次数

参数 示例 说明
-n -n 5000 测试次数
-D -D 10 测试持续秒数
-N -N 不交换数据,只测试

例如:

持续10秒:

bash 复制代码
ib_write_bw -D 10 12.11.7.33

6. 内存相关

参数 示例 说明
-l -l 100 outstanding WR数量
-b -b 双向测试
--mr_per_qp 每QP创建多个MR

7. 双向测试

默认:

text 复制代码
Client ---> Server

开启:

bash 复制代码
-b

变:

text 复制代码
Client <----> Server

例如:

bash 复制代码
ib_write_bw -b -d shca_0 12.11.7.33

结果:

测试双向带宽。


8. GPU Direct RDMA参数(AI场景重点)

参数 示例 说明
--use_cuda --use_cuda 使用GPU显存
--use_rocm --use_rocm AMD GPU
--use_cuda_dmabuf CUDA DMA-BUF

例如:

NVIDIA:

bash 复制代码
ib_write_bw \
--use_cuda \
-d mlx5_0 \
12.11.7.33

测试:

复制代码
GPU Memory
    |
RDMA NIC
    |
IB
    |
RDMA NIC
    |
GPU Memory

DCU/ROCm环境:

可能:

bash 复制代码
ib_write_bw \
--use_rocm

9. 输出参数

参数 说明
--report_gbits 输出Gbps
--report_fmt 输出格式
--report_per_port 分端口显示
--cpu_util CPU利用率

例如:

默认:

复制代码
36111 MB/sec

改:

bash 复制代码
--report_gbits

显示:

复制代码
288 Gbits/sec

10. PCIe / RDMA优化参数

参数 说明
--perform_warm_up 预热
--no_peak 不统计peak
--run_infinitely 无限测试
--disable_pcie_relaxed 禁止PCIe Relaxed Ordering

11. 服务端/客户端模式

Server

不带IP:

bash 复制代码
ib_write_bw -d shca_0

等待:

复制代码
Listening on port 18515

Client

带IP:

bash 复制代码
ib_write_bw \
-d shca_0 \
12.11.7.33

12. 常用组合场景

① 测单QP最大带宽

bash 复制代码
ib_write_bw \
-d shca_0 \
-s 1048576 \
12.11.7.33

② 测多QP压力

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 8 \
-s 1048576 \
12.11.7.33

③ 测400G IB极限

服务端:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 16 \
-s 1048576

客户端:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 16 \
-s 1048576 \
--report_gbits \
12.11.7.33

④ 大模型训练模拟

推荐:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 16 \
-s 4194304 \
-t 256 \
--report_gbits \
12.11.7.33

参数:

参数 意义
q16 16路并发
4MB 大Tensor
tx depth 256 增加流水

13. 针对你当前400G IB环境建议测试矩阵

测试项 命令参数 目的
单QP -q 1 基础性能
8QP -q 8 并发能力
16QP -q 16 极限
64KB -s 65536 AI小Tensor
1MB -s 1048576 大通信
4MB -s 4194304 大模型AllReduce
双向 -b 全双工能力
GPU RDMA --use_cuda/--use_rocm 真实训练场景

结合你前面的结果:

复制代码
-q 1
64KB
36.1GB/s
≈289Gbps

下一步最有价值的是:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 8 \
-s 1048576 \
--report_gbits \
12.11.7.33

这个更接近 大模型 NCCL 通信场景

相关推荐
Eloudy1 小时前
Holoscan Sensor Bridge 入门指南(Getting Started)
gpu·fpga·rdma
tjjingpan1 小时前
HCIP-Datacom Core Technology V1.0_20 IPv6概述
linux·服务器·网络
我命由我123451 小时前
Android 开发 - 广播组件(标准广播、有序广播、静态注册广播、分钟到达广播、网络变更广播...)
android·java·开发语言·网络·java-ee·android studio·android-studio
MartinYeung51 小时前
[论文学习]WASP:面向提示注入攻击的Web代理安全性基准测试
前端·网络·学习
数字融合1 小时前
透明化时空联合无缝追踪,构筑无断点全域态势感知网络专项技术
网络·人工智能·virtualenv
cn分享汇1 小时前
2026免费空间大的网盘软件有哪些推荐,主流网盘拆解
大数据·网络·人工智能
Mr. zhihao2 小时前
Jenkins 从节点连不上主节点?一次网络排查全记录 + 机器间通信“拦截层“全景讲解
网络·servlet·jenkins
数聚天成DeepSData2 小时前
外贸海关进出口数据去哪免费下载?从统计到明细的查找指南
linux·服务器·开发语言·前端·网络·人工智能·自然语言处理
网络安全零基础教程2 小时前
零基础转行网安,前两个月具体该学什么工具
网络·学习·安全·web安全·网络安全