Device IDs and Channel Map

Device IDs

The diagram below shows how single IPUs and then, hierarchically, groups of IPUs are numbered in a 16-IPU system. For example, device ID 25 corresponds to the four IPUs numbered 0 to 3. These numbers are the IDs used by tools such as gc-info or gc-exchangetest.

../_images/id-mapping1.png

IPU device IDs

PCIe ID to slot mapping

The GC driver tools typically deduce which IPU cards are in which PCIe slot via a table in the SMBIOS. Alternatively a JSON configuration file may be provided by setting the environment variable GCDA_CONFIG_FILE. The file must have the following format:

{
  "ipu_card_mapping": [
   "0000:0f:00.0",
   "0000:0e:00.0",
   "0000:0d:00.0",
   "0000:0c:00.0",
   "0000:0b:00.0",
   "0000:0a:00.0",
   "0000:09:00.0",
   "0000:08:00.0",
   "0000:07:00.0",
   "0000:06:00.0",
   "0000:05:00.0",
   "0000:04:00.0",
   "0000:03:00.0",
   "0000:02:00.0",
   "0000:01:00.0",
   "0000:00:00.0"
  ]
}

Where ipu_card_mapping is an ordered list of the PCIe IDs for the Graphcore cards, from one side of the chassis to the next. Each pair of IDs should match a single card, and the next pair should be in the next physical slot.