Using ROCm Bandwidth Test

Using ROCm Bandwidth Test#

The ROCm Bandwidth Test (RBT) tool is a ROCm application for reporting system information and measuring the bandwidth of various copy operations.

RBT is mainly composed of:

  • The executable rocm_bandwidth_test

    It is the framework for the RBT plugin architecture:

    • A command-line utility

    • A plugin manager that loads the shared library plugins at runtime

    • Located in the /opt/rocm/bin/ directory

  • A library named libamd_work_bench.so

    It is the core library that implements the plugin manager and the command-line utility, among other plugin-related functions.

    • Located in the /opt/rocm/lib/ directory

  • A set of plugins that implement various tests, outputs and functionalities

    These are shared libraries (*.amdplug) that implement various tests. Each plugin is loaded at runtime by the plugin manager.

    • Located in the /opt/rocm/lib/rocm_bandwidth_test/plugins/ directory

Through the plugins, RBT helps you explore the performance characteristics of Host-to-Device, Device-to-Host, and Device-to-Device copy operations on a ROCm platform.

RBT can be run on any ROCm-compliant platform and provides various options to experiment with the costs of different copy operations in both unidirectional and bidirectional modes. You can query the various supported options using the -h option.

Command-line options#

The following table lists the command-line options available for the RBT framework:

Table 1 RBT options :header-rows: 1#

Option

Description

Usage

help

Prints general help screen

./rocm_bandwidth_test --help

version

Prints tool version

$ ./rocm_bandwidth_test --version

builtin-help

Prints builtin plugin help screen

$ ./rocm_bandwidth_test --builtin-help

pcie-info

Prints PCIe link performance screen

$ ./rocm_bandwidth_test --pcie-info

plugin --help

Prints plugin help screen

$ ./rocm_bandwidth_test plugin --help

plugin --list | plugin -l

Prints list of registered plugins

$ ./rocm_bandwidth_test plugin -l

plugin --info | plugin -i

Prints detailed information of registered plugins

$ ./rocm_bandwidth_test plugin -i

plugin --run

Runs a plugin

$ ./rocm_bandwidth_test plugin --run tb

run

Runs a plugin

$ ./rocm_bandwidth_test run custom_plugin_shortname or $ ./rocm_bandwidth_test run tb

Note

Both command lines are valid:

  • rocm_bandwidth_test (executable)

  • rocm-bandwidth-test (symlink to the executable)

Plugin options#

This section lists the built-in plugin options available.

Note

Each plugin encapsulates a specific feature (or set of functionalities), allowing for different features and outputs and clear separation of concerns within the larger application. Plugins can often be added, removed, or updated without requiring modifications or rebuilding of the core application, enabling greater flexibility and ease of customization.

Each plugin has its own set of parameters and options.