fe68f23099
There are only five places in the non-daemon code paths where opal_hwloc_topology is currently referenced: * shared memory BTLs (sm, smcuda). I have added a code path to those components that uses the location string instead of the topology itself, if available, thus avoiding instantiating the topology * openib BTL. This uses the distance matrix. At present, I haven't developed a method for replacing that reference. Thus, this component will instantiate the topology * usnic BTL. Uses the distance matrix. * treematch TOPO component. Does some complex tree-based algorithm, so it will instantiate the topology * ess base functions. If a process is direct launched and not bound at launch, this code attempts to bind it. Thus, procs in this scenario will instantiate the topology Note that instantiating the topology on complex chips such as KNL can consume megabytes of memory. Fix pernode binding policy Properly handle the unbound case Correct pointer usage Do not free static error messages! Signed-off-by: Ralph Castain <rhc@open-mpi.org> |
||
---|---|---|
.. | ||
base | ||
external | ||
hwloc1113 | ||
configure.m4 | ||
hwloc.h | ||
Makefile.am | ||
README.txt |
12 Sep 2011 Notes for hwloc component maintainers: 1. There can only be *1* hwloc version component at a time. Specifically: if there are multiple hwlocXYZ components (i.e., different versions of hwloc), then they must all be .ompi_ignore'd except for 1. This is because we currently m4_include all of the underlying hwloc's .m4 files -- if there are multiple hwlocXYZ components, I don't know if m4 will barf at the multiple, conflicting AC_DEFUNs, or whether it'll just do something completely undefined. 1a. As a consequence, if you're adding a new hwloc version component, you'll need to .ompi_ignore all others while you're testing the new one. 2. If someone wants to fix #1 someday, we might be able to do what we do for libevent: OPAL_CONFIG_SUBDIR (instead of slurping in hwloc's .m4 files).