-
Notifications
You must be signed in to change notification settings - Fork 205
Description
Hi,
I propose to integrate an easy built-in way to cache the topology file to speed up the load of hwloc_topology_load using a single env such as HWLOC_TOPOLOGY_CACHE=1. This could maybe even be enabled by default.
Currently, this can be done manually by running:
lstopo --of xml topology.xml
export HWLOC_XMLFILE=$( readlink -f topology.xml )
However, it would be nice to have a simple switch without needing to run a separate tool. This way hwloc could choose a most appropriate location for the cache such as a tmpfs that clears between boots.
Motivation:
I'm dealing with a test suite of over 1k MPI tests. The topology detection inside OpenMPI MPI_Init > PMIx_Init > pmix_hwloc_setup_topology takes the majority of time.
Using the export above, I can reduce the time spend in MPI_Init from 108ms to 6ms.
The detection eats up a proud 102s for each of our 10 test configurations, which is a bit extreme.