Reviews
Hardware locality (hwloc)
License
Other
The Portable Hardware Locality (hwloc) software package provides a <b>portable abstraction</b> (across OS, versions, architectures, ...) of the <b>hierarchical topology of modern architectures,</b> including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs.
hwloc primarily aims at helping applications with <b>gathering information about increasingly complex parallel computing platforms so as to exploit them accordingly and efficiently.</b> For instance, two tasks that tightly cooperate should probably be placed onto cores sharing a cache. However, two independent memory-intensive tasks should better be spread out onto different sockets so as to maximize their memory throughput.