On 17 August 2015 at 18:08, Andrey Semashev
On 17.08.2015 19:56, Joel FALCOU wrote:
It should definitely be a dedicated library. What I was thinking of
for quite some time is a bit broader. My idea is a system capabilities library (Boost.SystemCaps) which would offer a generic interface for querying the current system properties such as:
- Number of CPU cores/threads.
Doesn't Bosot.Thread has that already ?
If you mean thread::hardware_concurrency() then it doesn't allow to differentiate HT threads from the real cores. Plus, as suggested, support for NUMA topology would be good as well.
hwloc is a library that already provides this information: http://www.open-mpi.org/projects/hwloc/, and goes further to provide locations of PCIe devices, and facilities to bind memory allocations to specific NUMA domains. There is then the netloc library built on top of this ( http://www.open-mpi.org/projects/netloc/) which provides topology information at the network level using infiniband and openflow as data sources.