ROCm Bandwidth Test(RBT-NG)工具详解
ROCm Bandwidth Test 的下一代版本,简称 RBT-NG,是一款专为 AMD 平台设计的性能测试工具,主要用于评估 CPU 与 GPU 之间、以及多个 GPU 之间的数据传输带宽。该工具采用插件化架构,具备良好的可扩展性,便于用户根据实际需求添加新功能。
一、安装与环境设置
1.1 安装方法
RBT-NG 可通过以下方式完成安装:
Makefile
或
CMake
默认安装路径如下:
/opt/rocm/
(支持自定义路径)
# 使用Makefile安装
make install
# 使用CMake安装(自定义路径示例)
cmake --install . --prefix /path/to/install/location
1.2 环境变量配置
为确保程序能正确识别可执行文件、依赖库及插件位置,需设置相应的环境变量。以默认安装路径为例:
/opt/rocm
应配置如下环境变量:
# 将可执行文件路径添加到PATH
export PATH=/opt/rocm/bin:$PATH
# 将依赖库路径添加到LD_LIBRARY_PATH(供插件加载)
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
插件的默认存放目录为:
/opt/rocm/lib/rocm_bandwidth_test/plugins/
插件文件的扩展名为:
.amdplug
二、核心命令使用说明
RBT-NG 的主程序为:
rocm_bandwidth_test
同时存在一个符号链接:
rocm-bandwidth-test
可通过命令行参数控制其行为,常用基础指令包括:
| 命令 | 功能描述 |
|---|---|
|
显示基本帮助信息,包含可用选项和子命令列表 |
|
查看当前工具版本信息,包括 commit ID、分支名称、构建类型等 |
|
显示所有内置插件的帮助文档 |
|
输出 PCIe 接口的版本、理论传输速率及带宽数据(例如:PCIe 4.0 x16 的带宽约为 31.508 GB/s) |
三、插件机制与测试功能
RBT-NG 的主要功能由插件实现,系统内置以下关键插件:
:示例性质的轻量级插件,用于验证插件加载机制是否正常工作;hello
(TransferBench):核心性能测试模块,承担带宽测量任务。tb
3.1 插件调用方式
可通过以下两个子命令启动插件,两者功能等效:
run
或
plugin --run
# 方式1:直接运行插件
rocm_bandwidth_test run 插件名
# 方式2:通过plugin子命令运行(以tb插件为例)
rocm_bandwidth_test plugin --run tb
3.2 核心测试功能解析 —— 以 tb
插件为例
tb该插件支持多种设备间的数据传输测试,包括 CPU 与 GPU 之间、GPU 与 GPU 之间的带宽评估。主要参数如下:
| 选项 | 功能说明 |
|---|---|
|
执行所有设备组合的单向复制测试(如 CPU→GPU、GPU→CPU、GPU→GPU) |
|
进行并发双向复制测试,模拟双工通信场景 |
|
列出当前系统中启用的 ROCm 设备及其拓扑结构 |
|
显示插件自身的版本详情 |
3.3 实际操作示例
查看
tb 插件的帮助文档(需先运行插件并传入 -h 参数):
rocm_bandwidth_test run tb -h
执行所有设备组合的单向复制测试:
rocm_bandwidth_test run tb -a
查看 ROCm 设备的拓扑信息:
rocm_bandwidth_test run tb -e
四、支持的测试场景与扩展能力
RBT-NG 提供多样化的测试模式,适用于不同应用场景:
- CPU-GPU 带宽测试:测量主机内存与 GPU 显存之间的数据传输速度,常用于评估 PCIe 链路的实际性能表现;
- GPU-GPU 带宽测试:针对配备多张 GPU 的系统,检测显卡间的互联带宽(如通过 PCIe 或其他高速互连技术);
- 多线程并发测试:模拟真实应用中的并行数据流,反映系统在多任务负载下的带宽承载能力;
- 自定义功能扩展:用户可通过开发新的插件(基于
格式),集成特定数据格式或传输模式的测试逻辑。.amdplug
五、相关参考文档
- 官方 RBT 使用手册
- TransferBench 技术文档(即
插件所依赖的核心引擎)tb
综上所述,通过上述步骤可高效地利用 RBT-NG 对 AMD 平台的内存与显存带宽进行全面评估,并可根据具体需求灵活拓展测试范围。


雷达卡


京公网安备 11010802022788号







