5. 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-hosttraffictest --device 0
 12.2070 GB in 1.875982 seconds, 52.06 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.

5.1. Usage

5.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