1
1
openmpi/orte/mca/ess/base
Ralph Castain b44f8d4b28 Complete implementation of the ess.proc_get_locality API. Up to this point, the API was only capable of telling if the specified proc was sharing a node with you. However, the returned value was capable of telling you much more detailed info - e.g., if the proc shares a socket, a cache, or numa node. We just didn't have the data to provide that detail.
Use hwloc to obtain the cpuset for each process during mpi_init, and share that info in the modex. As it arrives, use a new opal_hwloc_base utility function to parse the value against the local proc's cpuset and determine where they overlap. Cache the value in the pmap object as it may be referenced multiple times.

Thus, the return value from orte_ess.proc_get_locality is a 16-bit bitmask that describes the resources being shared with you. This bitmask can be tested using the macros in opal/mca/paffinity/paffinity.h

Locality is available for all procs, whether launched via mpirun or directly with an external launcher such as slurm or aprun.

This commit was SVN r25331.
2011-10-19 20:18:14 +00:00
..
base.h Complete implementation of the ess.proc_get_locality API. Up to this point, the API was only capable of telling if the specified proc was sharing a node with you. However, the returned value was capable of telling you much more detailed info - e.g., if the proc shares a socket, a cache, or numa node. We just didn't have the data to provide that detail. 2011-10-19 20:18:14 +00:00
ess_base_close.c - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
ess_base_fns.c Complete implementation of the ess.proc_get_locality API. Up to this point, the API was only capable of telling if the specified proc was sharing a node with you. However, the returned value was capable of telling you much more detailed info - e.g., if the proc shares a socket, a cache, or numa node. We just didn't have the data to provide that detail. 2011-10-19 20:18:14 +00:00
ess_base_get.c Add a resilience to ORTE. Allows the runtime to continue after a process (or 2011-06-23 20:38:02 +00:00
ess_base_open.c Per the RFC from Jeff, move hwloc from opal/mca/common to its own static framework ala libevent. Have ORTE daemons collect the topology info at startup and, if --enable-hwloc-xml is set, send that info back to the HNP for later use. The HNP only retains unique topology "templates" to reduce memory footprint. Have the daemon include the local topology info in the nidmap buffer sent to each app so the apps don't all hammer the local system to discover it for themselves. 2011-09-11 19:02:24 +00:00
ess_base_put.c Remove unused include files 2011-02-16 00:32:47 +00:00
ess_base_select.c By popular demand the epoch code is now disabled by default. 2011-08-26 22:16:14 +00:00
ess_base_std_app.c Refactor some code to remove a few API handles from errmgr. Reviewed/tested by Wes. 2011-08-18 16:24:45 +00:00
ess_base_std_orted.c Ensure opal_hwloc_topology is NULL after being destroyed 2011-09-13 19:21:10 +00:00
ess_base_std_prolog.c * Wrap all the direct error-code checks of the form (OMPI_ERR_* == ret) with 2010-05-17 23:08:56 +00:00
ess_base_std_tool.c Close multicast before rml 2011-07-23 20:19:15 +00:00
help-ess-base.txt Merge the ORTE devel branch into the main trunk. Details of what this means will be circulated separately. 2008-02-28 01:57:57 +00:00
Makefile.am Complete implementation of the ess.proc_get_locality API. Up to this point, the API was only capable of telling if the specified proc was sharing a node with you. However, the returned value was capable of telling you much more detailed info - e.g., if the proc shares a socket, a cache, or numa node. We just didn't have the data to provide that detail. 2011-10-19 20:18:14 +00:00