7. gc-hosttraffictest

This tool tests the data transfer between the host machine and the IPUs (in both directions).

To use it, run:

gc-hosttraffictest -d {device_id} -j

where {device_id} is the id number returned by the gc-inventory tool.

If JSON output is selected, the output will look something like this:

 {
   "repeat_0": {
       "tile_to_host": {
           "duration_sec": "2.8448334399999999",
           "kbytes_transferred": "12800000",
           "gbytes_transferred": "12.20703125",
           "gbps": "36.858959306946282"
       },
       "host_to_tile": {
           "duration_sec": "2.0582515429999999",
           "kbytes_transferred": "12800000",
           "gbytes_transferred": "12.20703125",
           "gbps": "50.944987922693372"
       }
   }
}

The output will be plain text if the -j option is not specified. For example:

$ gc-hosttraffictest --device 0
Running test 1/1
tile -> host: 12.2070 GiB in 2.84 seconds, 4.29 GiB/s, 36.87 Gbps
host -> tile: 12.2070 GiB in 2.07 seconds, 5.91 GiB/s, 50.72 Gbps

If an error occurs during the test, then gc-hosttraffictest will return a non-zero exit code, and output an error message to the terminal.

7.1. Usage

7.1.1. Allowed options

-j, --json-output

Emit JSON output

-d {id}, --device-id {id}

Device id

-n {arg}, --num-tiles {arg}

Number of tiles: 1 to 32 (default: 32)

-m {arg}, --mode {arg}

r|w|rw|cc (default: rw)

-p {arg}, --payload-blocks {arg}

Number of 64 byte blocks per transfer: 2|4 (default: 4)

-i {arg}, --iterations {arg}

Number of 4KB transfers per tile (default: 100000)

--min-ipu-host-bandwidth {arg}

Minimum bandwidth (Gbps) IPU to host expected - fails if not reached

--min-host-ipu-bandwidth {arg}

Minimum bandwidth (Gbps) host to IPU expected - fails if not reached

-v, --verbose

Verbose output

-h, --help

Produce help message

--version

Version number

-r, --remote-buffers

Use remote buffers

-R {arg}, --repeat {arg}

Number of times to repeat test (default: 1)