1
1
openmpi/orte/runtime
Ralph Castain 1dc12046f1 Modify the OMPI paffinity and mapping system to support socket-level mapping and binding. Mostly refactors existing code, with modifications to the odls_default module to support the new capabilities.
Adds several new mpirun options:

* -bysocket - assign ranks on a node by socket. Effectively load balances the procs assigned to a node across the available sockets. Note that ranks can still be bound to a specific core within the socket, or to the entire socket - the mapping is independent of the binding.

* -bind-to-socket - bind each rank to all the cores on the socket to which they are assigned.

* -bind-to-core - currently the default behavior (maintained from prior default)

* -npersocket N - launch N procs for every socket on a node. Note that this implies we know how many sockets are on a node. Mpirun will determine its local values. These can be overridden by provided values, either via MCA param or in a hostfile

Similar features/options are provided at the board level for multi-board nodes.

Documentation to follow...

This commit was SVN r21791.
2009-08-11 02:51:27 +00:00
..
data_type_support Modify the OMPI paffinity and mapping system to support socket-level mapping and binding. Mostly refactors existing code, with modifications to the odls_default module to support the new capabilities. 2009-08-11 02:51:27 +00:00
help-orte-runtime.txt Reorder the nidmap encoding function. Add a check to make sure we don't write 2009-07-15 19:36:53 +00:00
Makefile.am Nysal noticed some repeated header files; removed. 2009-05-28 12:05:42 +00:00
orte_cr.c Make sure to initialize orte_process_info.proc_type properly on restart. Otherwise the application will have type 'NONE' instead of 'APP'. 2009-05-12 14:14:05 +00:00
orte_cr.h - As long as a header declares _DECLSPEC functionality 2009-03-17 01:45:19 +00:00
orte_data_server.c ... Delayed due to notifier commits earlier this day ... 2009-04-29 01:32: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 allow trunk to compile on red storm 2009-04-08 20:53:54 +00:00
orte_globals.c Modify the OMPI paffinity and mapping system to support socket-level mapping and binding. Mostly refactors existing code, with modifications to the odls_default module to support the new capabilities. 2009-08-11 02:51:27 +00:00
orte_globals.h Modify the OMPI paffinity and mapping system to support socket-level mapping and binding. Mostly refactors existing code, with modifications to the odls_default module to support the new capabilities. 2009-08-11 02:51:27 +00:00
orte_init.c This is a very large change to rename several #define values from 2009-05-06 20:11:28 +00:00
orte_locks.c Some minor updates to the locking system changes. Remove obsolete locks. Ensure the trigger event objects do not get deconstructed until the very end to avoid possible problems due to race conditions. Route all orted abnormal term tests through the trigger. 2008-08-06 11:31:06 +00:00
orte_locks.h ... Delayed due to notifier commits earlier this day ... 2009-04-29 01:32:14 +00:00
orte_mca_params.c Modify the OMPI paffinity and mapping system to support socket-level mapping and binding. Mostly refactors existing code, with modifications to the odls_default module to support the new capabilities. 2009-08-11 02:51:27 +00:00
orte_wait.c This is a very large change to rename several #define values from 2009-05-06 20:11:28 +00:00
orte_wait.h This is a very large change to rename several #define values from 2009-05-06 20:11:28 +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 Modify the orte_process_info structure to handle a broader range of process types by replacing the individual booleans with a 32-bit bitmap. Use a set of #define's to define the individual bits, and a set of matching macros to test for them. Update the orte code base to use the macros instead of the booleans. 2009-05-04 11:07:40 +00:00