4. 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:

{
    "tile_to_host": {
        "duration_sec": "1.8759827170000001",
        "kbytes_transferred": "12800000",
        "gbytes_transferred": "12.20703125",
        "gbps": "52.056049938545357"
    },
    "host_to_tile": {
        "duration_sec": "1.855793126",
        "kbytes_transferred": "12800000",
        "gbytes_transferred": "12.20703125",
        "gbps": "52.622379419245675"
    }
}

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

$ gc-iputraffictest --device0 5 --device1 7
 3.9062 GB in 0.038411 seconds, 813.56 Gbps, 0 errors

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.

4.1. Usage

4.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 (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