Fix uninitialized var


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28652 63e3feb5-37d5-0310-a306-e8a459e722fe
We want to ignore this MPI extension in the general case -- it's just
an example (and outputs stuff to stdout!).


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28654 63e3feb5-37d5-0310-a306-e8a459e722fe
Per an off-list discussion, it appears possible for a system to report failure when executing getpwuid. There are several reasons for this error to occur, most notably if the system uses a network-based authentication protocol (e.g., NIS) and that sytem gets overwhelmed when we launch on a lot of nodes.

There is no good way to recover from this scenario, and from past experience, using the user's name in the session directory (as opposed to the uid) is very helpful when things go wrong. So print a help message when this happens (it is extremely rare, but has happened at least once now) and return an error.

cmr:v1.7.3,reviewer=jsquyres
cmr:v1.6.5,reviewer=jsquyres



git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28658 63e3feb5-37d5-0310-a306-e8a459e722fe
Sync with v1.6 bullets


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28661 63e3feb5-37d5-0310-a306-e8a459e722fe
Tweaked the help message a bit (this is the end result of iterating on
the message in email between Mike, Ralph, Jeff).

Add this to CMR #3642 and #3643.


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28662 63e3feb5-37d5-0310-a306-e8a459e722fe
Fix two debugger attach bugs.

 - orte_debugger_init_after_spawn was not being called for debuggers that
   use the MPIR_attach_fifo to co-locate debugger daemons.
 - MPIR_Breakpoint was not getting called if a debugger reattached. Add
   a job state (ORTE_JOB_STATE_DEBUGGER_DETACH) to reset mpir_breakpoint_fired
   to false when a debugger detaches to ensure MPIR_Breakpoint is called if
   another debugger attaches. Tested with STAT 2.0/launchmon 1.0.

cmr:v1.7

git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28665 63e3feb5-37d5-0310-a306-e8a459e722fe
Add 'generic' support for PMI2 (previously, we checked for PMI2 only on Cray systems.)  If your resource manager (e.g. SLURM) has support for PMI2, then the --with-pmi configure flag will enable its usage. If you don't have PMI2, then you will fallback to regular old PMI1. This patch was submitted by Ralph Castain and reviewed and pushed by Josh Ladd. This should be added to cmr:v1.7:reviewer=jladd

git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28666 63e3feb5-37d5-0310-a306-e8a459e722fe
Fix case where amount of data sent is less than expected.  Otherwise, we will get hang when running the RGET protocol.
Reviewed by hjelm,bosilca.


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28667 63e3feb5-37d5-0310-a306-e8a459e722fe
Convert strcpy() to strncpy(), and just to be extra-super paranoid,
use memset(0) for extra bonus points.


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28668 63e3feb5-37d5-0310-a306-e8a459e722fe
Move the assignment after the bozo check.


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28669 63e3feb5-37d5-0310-a306-e8a459e722fe
Cleanup a few things in the revised PMI configury - we know slurm has both pmi and pmi2 libs, so just auto-detect the presence of them if the user directed us to build with pmi support.

Also cleanup some changed names in the alps code



git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28670 63e3feb5-37d5-0310-a306-e8a459e722fe
There is no convention out there as to how OEMs handle PMI2 functions. Some put them in their own -lpmi2 library, and some don't. Some have split the PMI2 definitions into a pmi2.h and keep the PMI-1 definitions in a separate pmi.h, and some don't.

Try to handle cases more generally so at least Slurm and Cray can co-exist in peace.



git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28672 63e3feb5-37d5-0310-a306-e8a459e722fe
Apparently, the alps configury has not been checked since we added the RTE abstraction code. Fix it now.



git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28673 63e3feb5-37d5-0310-a306-e8a459e722fe
Sync to v1.7 NEWS bullets


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28681 63e3feb5-37d5-0310-a306-e8a459e722fe
There are cases where we want to use the novm state machine, but the backend node topology differs from that where mpirun is executing. In those cases, we can wind up thinking we are oversubscribed because the head node has fewer cores than the compute nodes.

To resolve this situation, add the ability to specify a backend topology file that mpirun shall use for its mapping operations. Create a new "set_topology" function in opal hwloc to support it.



git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28682 63e3feb5-37d5-0310-a306-e8a459e722fe
Adjust how search is done for dynamic load of library.  CUDA only.


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28683 63e3feb5-37d5-0310-a306-e8a459e722fe
Fix two bugs from previous commit.


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28684 63e3feb5-37d5-0310-a306-e8a459e722fe
Silence a compiler warning.


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28686 63e3feb5-37d5-0310-a306-e8a459e722fe
Add the MPI 2.2 MPI_Dist_graph functionality.

This patch reshape the way we deal with topologies completely. Where
our topologies were mainly storage components (they were not capable
of creating the new communicator), the new version is built around a
[possibly] common representation (in mca/topo/topo.h), but the functions
to attach and retrieve the topological information are specific to each
component. As a result the ompi_create_cart and ompi_create_graph functions
become useless and have been removed.

In addition to adding the internal infrastructure to manage the topology
information, it updates the MPI interface, and the debuggers support and
provides all Fortran interfaces.



git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28687 63e3feb5-37d5-0310-a306-e8a459e722fe
Small typo.


git-svn-id: https://svn.open-mpi.org/svn/ompi/trunk@28689 63e3feb5-37d5-0310-a306-e8a459e722fe