1
1
openmpi/ompi/runtime
Ralph Castain fe68f23099 Only instantiate the HWLOC topology in an MPI process if it actually will be used.
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>
2016-12-29 10:33:29 -08:00
..
help-mpi-runtime.txt init/finalize: extensions 2015-10-15 12:39:15 -04:00
Makefile.am build: Custom libmpi(_FOO) name option in configure 2016-09-29 21:47:24 -05:00
mpiruntime.h init/finalize: extensions 2015-10-15 12:39:15 -04:00
ompi_cr.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
ompi_cr.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
ompi_info_support.c opal: fix multiple bugs in MCA and opal 2015-04-07 19:13:20 -06:00
ompi_info_support.h tools: Add oshmem_info utility 2013-10-12 19:03:32 +00:00
ompi_mpi_abort.c debuggers: remove some useless code 2016-05-05 14:22:55 -07:00
ompi_mpi_dynamics.c mpi: infrastructure to gracefully disable MPI dyn procs 2015-10-14 13:42:56 -07:00
ompi_mpi_finalize.c ompi/runtime: release F90 types in ompi_mpi_finalize() 2016-12-01 14:24:30 +09:00
ompi_mpi_init.c Only instantiate the HWLOC topology in an MPI process if it actually will be used. 2016-12-29 10:33:29 -08:00
ompi_mpi_params.c ompi/runtime: plug a memory leak 2016-12-01 14:24:29 +09:00
ompi_mpi_preconnect.c Reduce the flood of warnings due to uninitialized variables, mismatched types, and unused things to a more bearable trickle 2016-12-14 16:33:50 -08:00
params.h Add an experimental ability to skip the RTE barriers at the end of MPI_Init and the beginning of MPI_Finalize 2016-06-01 17:01:15 -07:00