#+TITLE: numap Print the NUMA topology of a host. * Usage #+BEGIN_SRC sh ./numap |jq . { "node0": { "name": "node0", "path": "/sys/devices/system/node/node0", "cpulist": "0-19,40-59", "pci_devices": [ { "vendor": "Mellanox Technologies", "name": "MT27710 Family [ConnectX-4 Lx]" }, { "vendor": "Mellanox Technologies", "name": "MT27710 Family [ConnectX-4 Lx]" } ] }, "node1": { "name": "node1", "path": "/sys/devices/system/node/node1", "cpulist": "20-39,60-79", "pci_devices": [ { "vendor": "Intel Corporation", "name": "NVMe Datacenter SSD [3DNAND, Beta Rock Controller]" } ] } } #+END_SRC The command will scan the host to find the NUMA nodes, and all the PCI devices, and map the PCI devices back to the NUMA node. It also provides a way to see the list of CPUs attached to the node. * Limitations ** Device class For now only the following classes of hardware are cared for: - NVMe - network - GPU