12. gc-iputraffictest
This tool tests the data transfer between IPUs.
To use it to test data transfer between device 2 and device 3, for example, run:
gc-iputraffictest --device0 2 --device1 3 -j
The device numbers used are those returned by the gc-info tool.
The output will be plain text if the -j
option is not specified.
The JSON output will look something like this:
{
"tile_to_tile": {
"boards": {
"0024.xxxx.8203321": {
"power_sensors": {
"XDPE132G5C:0": "25.5",
"XDPE132G5C:1": "21"
},
"device_ids": [
"3",
"2"
],
"type": "M2000",
"board_power": "46.5"
}
},
"device0": "2",
"device1": "3",
"duration_sec": "0.079266418000000005",
"kbytes_transferred": "4096000",
"gbytes_transferred": "3.90625",
"gbps": "423.31207649625344",
"errors": "0",
"power": "46.5"
}
}
The reported bandwidth is the simultaneous bi-directional bandwidth: the
sum of the bandwidth from device0
to device1
and the bandwidth from
device1
to device0
.
If an error occurs during the test, then gc-iputraffictest
will return a
non-zero exit code, and output an error message.
You can use this tool to run a “soak test” of all the IPU-to-IPU links by running:
$ gc-iputraffictest --all-links
There is also a --forever
option that will run either a point-to-point or
all-link soak forever (until interrupted by Ctrl-C).
The -j
option is not available when --forever
is used.
Note
The --device0
and --device1
arguments must be IDs for single IPUs, not
groups of IPUs. (The test will connect to the smallest group containing both
the sender and receiver.)
12.1. Usage
12.1.1. Allowed options
|
Emit JSON output |
|
First IPU of exchange |
|
Second IPU of exchange |
|
Number of (64)KB transfers per tile (default: 1000) |
|
Verbose output |
|
Even more verbose output |
|
Run high power consumption AMP loop on idle tiles |
|
AMP loop tiles sync with host before starting |
|
[=arg(=300)] ‘–amp’ option but with a delay between iterations.Interval specified in units of 1000 cycles |
|
Test using IPU-M loopback config |
|
[=arg(=0)] Exercise every link of a multi-ipu device at once. Defaults to the largest multi-ipu device in the system. |
|
Minimum bandwidth (Gbps) expected - fails if not reached |
|
Maximum error count expected - fails if exceeded |
|
Dump tile overview upon failure |
|
Transmit data forever |
|
Produce help message |
|
Version number |
12.1.2. Single ipu mode options
|
Run in single IPU mode. Required: run-master | setup | check |
|
Single IPU mode device id |
|
Number of IPUs in larger device |
|
DNC id |
12.1.3. Single ipu loopback mode
|
Single IPU loopback mode. Requires device id. |