2. Runtime options

When running applications, some command line options may be specified to control the behaviour of the Graphcore Device Access (GCDA) library. GCDA options are separate from Poplar engine options and are specified in JSON format using environment variable GCDA_OPTIONS. For example:

GCDA_OPTIONS='{"enableMonitoring":"true"}' gc-hosttraffictest -d0

Some options can also be specified with their own environment variables. For example:

GCDA_MONITOR=1 gc-hosttraffictest -d0

IPU (SoC) errors can be simulated with following options:

GCDA_OPTIONS='{"simulateSOCError.errorList":"IPUSOFTERR","simulateSOCError.triggerCount":1,"simulateSOCError.rearmOnReset":true}' gc-hosttraffictest -d0

Valid GCDA options are listed below:

configFile

Path to a JSON configuration file that defines an alternative IPU mapping. Equivalent to GCDA_CONFIG_FILE=<path> environment variable.

discoverUSBDevices

true or false, default true

Enable discovery of USB devices. “discoverUSBDevices”:”false” is equivalent to GCDA_NO_USB_IPU_DISCOVERY=1.

enableMonitoring

true or false, default false

Enable sampling of sensor data while application is running, for display in gc-monitor or other monitoring applications. Equivalent to GCDA_MONITOR=1.

forceHSPPosted

true or false, default false

Override Host Sync Proxy (HSP) sync mode and use posted mode instead. Equivalent to GCDA_HSP_POSTED=1.

monitorUtilisation

true or false, default true

Enable sampling of IPU utilisation while application is running, for display in gc-monitor or other monitoring applications. “monitorUtilisation”:”false” is equivalent to GCDA_SUPPRESS_UTILISATION_MEASUREMENT=1.

simulateSOCError.errorList

A quoted list of CIUERRVR errors to inject to simulate IPU (SoC) errors. Requires “simulateSOCError.triggerCount”.

simulateSOCError.rearmOnReset

true or false, default false

When simulating IPU (SoC) errors, re-initialise after a reset.

simulateSOCError.triggerCount

An unsigned integer, default 0

The number of times IPU (SoC) errors are checked before errors are injected (0 means disabled, 1 means upon the first call). Requires “simulateSOCError.errorList”.