1
1
openmpi/orte/runtime
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
..
data_type_support 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
help-orte-runtime.txt Remove lingering references to opal_profile option 2011-05-18 18:27:29 +00:00
Makefile.am Start reducing our dependency on the event library by removing at least one instance where we use it to redirect the program counter. Rolf reported occasional hangs of mpirun in very specific circumstances after all daemons were done. A review of MTT results indicates this may have been happening more generally in a small fraction of cases. 2010-07-17 21:03:27 +00:00
orte_cr.c Update libevent to the 2.0 series, currently at 2.0.7rc. We will update to their final release when it becomes available. Currently known errors exist in unused portions of the libevent code. This revision passes the IBM test suite on a Linux machine and on a standalone Mac. 2010-10-24 18:35:54 +00:00
orte_cr.h Correct several export declarations. 2011-08-15 09:45:51 +00:00
orte_data_server.c By popular demand the epoch code is now disabled by default. 2011-08-26 22:16:14 +00:00
orte_data_server.h 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
orte_finalize.c * opal_atomic_trylock is documented to return 0 if the lock was acquired, 2011-10-11 18:43:45 +00:00
orte_globals.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
orte_globals.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
orte_init.c Provide a generic fix for the termination issue instead of r25248. The 2011-10-18 03:07:37 +00:00
orte_locks.c Start reducing our dependency on the event library by removing at least one instance where we use it to redirect the program counter. Rolf reported occasional hangs of mpirun in very specific circumstances after all daemons were done. A review of MTT results indicates this may have been happening more generally in a small fraction of cases. 2010-07-17 21:03:27 +00:00
orte_locks.h Start reducing our dependency on the event library by removing at least one instance where we use it to redirect the program counter. Rolf reported occasional hangs of mpirun in very specific circumstances after all daemons were done. A review of MTT results indicates this may have been happening more generally in a small fraction of cases. 2010-07-17 21:03:27 +00:00
orte_mca_params.c Add a new param "orte_remote_tmpdir_base" for those situations where the compute nodes require a different session directory head than the head node. 2011-07-27 19:37:17 +00:00
orte_quit.c Provide a generic fix for the termination issue instead of r25248. The 2011-10-18 03:07:37 +00:00
orte_quit.h Start reducing our dependency on the event library by removing at least one instance where we use it to redirect the program counter. Rolf reported occasional hangs of mpirun in very specific circumstances after all daemons were done. A review of MTT results indicates this may have been happening more generally in a small fraction of cases. 2010-07-17 21:03:27 +00:00
orte_wait.c * opal_atomic_trylock is documented to return 0 if the lock was acquired, 2011-10-11 18:43:45 +00:00
orte_wait.h By popular demand the epoch code is now disabled by default. 2011-08-26 22:16:14 +00:00
runtime_internals.h Modify the accounting system to recycle jobids. Properly recover resources from nodes and jobs upon completion. Adjustments in several places were required to deal with sparsely populated job, node, and proc arrays as a result of this change. 2009-03-03 16:39:13 +00:00
runtime.h Provide a generic fix for the termination issue instead of r25248. The 2011-10-18 03:07:37 +00:00