1
1

Revert "Ensure we get our local topology"

Per the devel mailing list, we discussed the need/desirability of this change. Here is the logic behind not including it:

If you call "hwloc_topology_load", then hwloc merrily does its discovery and slams many-core systems. If you call "opal_hwloc_get_topology", then that is fine - it checks if we already have it, tries to get it from PMIx (using shared mem for hwloc 2.x), and only does the discovery if no other method is available.

We previously decided to let those who need the topology call "opal_hwloc_get_topology" to ensure the topo was available so that we don't load it unless someone actually needs it - in the case where it isn't available via PMIx, this avoids paying the startup time and memory footprint penalties for no reason. The function is protected so it will simply return SUCCESS if the topology is already defined.

After discussion, it was decided to stick with that "only setup the topology if someone actually needs it" approach. Hence, we will not blanket init the topology, and the mtl/ofi component will call opal_hwloc_get_topology to ensure the topo has been defined prior to using it.

Signed-off-by: Austen Lauria <awlauria@us.ibm.com>
Этот коммит содержится в:
Austen Lauria 2020-03-23 10:23:50 -04:00
родитель cf5ca14f7a
Коммит ecd20ddcac

Просмотреть файл

@ -747,12 +747,6 @@ int ompi_rte_init(int *pargc, char ***pargv)
val = NULL;
}
/* get our topology */
if (OPAL_SUCCESS != (rc = opal_hwloc_base_get_topology())) {
error = "hwloc_base_get_topology: failed";
goto error;
}
/* identify our location */
val = NULL;
OPAL_MODEX_RECV_VALUE_OPTIONAL(rc, PMIX_LOCALITY_STRING,