The optimization that was introduced a year ago for saving a collective
synchronization step for certain communicator creation functions has to be
disabled for now. The bug has been exposed by the hierarch module, but could
appear as well for inter-communicator creations. The problem is, that within a
communicator creation step we invoke a comm_dup (for intercomm_create) or
other collective operations (in case of hierarch) before all processes have
been synchronized. This lead to the "Dropped message for non-existant
communicators" error. This commit disables the optimization without removing
it from the code base. In theory, it can be enabled again as soon as we have
the unexpected message queues for unknown cid's, which were required if I
remember right anyway for the multi-threaded scenarios and potentially for
fault tolerance.
Before moving the patch to 1.3 I would like to let it soak for a couple of
days on trunk. Please note, taht my 2nd comment on ticket #1408 was
semi-correct, since the order of activation of the communicator and quering
the collective module have already been changed earlier.
This commit was SVN r19139.
The following Trac tickets were found above:
Ticket 1408 --> https://svn.open-mpi.org/trac/ompi/ticket/1408
Since OMPI allows mpirun to default to the local node, and since users want to retain the option to co-locate procs with mpirun, we needed another param to block this error case.
This commit was SVN r19135.
versions, dates and build names.
Fixes trac:1387
Big thanks to Jeff and Brian for help and oversight.
This commit was SVN r19120.
The following Trac tickets were found above:
Ticket 1387 --> https://svn.open-mpi.org/trac/ompi/ticket/1387
* Make the results of the top-level configure.ac test for
_SC_NPROCESSORS_ONLN be cached so that we can check for it
elsewhere (e.g., opal/mca/paffinity/posix/configure.m4)
* Update top-level configure.ac test for _SC_NPROCESSORS_ONLN: stamp
out another AC_TRY_COMPILE
* Ensure paffinity:posix doesn't even try to compile if we don't
have _SC_NPROCESSORS_ONLN
* Minor style updates
This commit was SVN r19118.
set when it launches under debuggers using the --debug option.
This commit was SVN r19116.
The following Trac tickets were found above:
Ticket 1361 --> https://svn.open-mpi.org/trac/ompi/ticket/1361
put the name of the file that set them if they were set by file. This is of great assistance to support personnel trying to understand why a user is having pro
blems.
Coordinated with Jeff.
This commit was SVN r19111.
Standardize the handling of the orte launch agent option across PLMs. This has been a consistent complaint I have received - each PLM would register its own MCA param to get input on the launch agent for remote nodes (in fact, one or two didn't, but most did). This would then get handled in various and contradictory ways.
Some PLMs would accept only a one-word input. Others accepted multi-word args such as "valgrind orted", but then some would error by putting any prefix specified on the cmd line in front of the incorrect argument.
For example, while using the rsh launcher, if you specified "valgrind orted" as your launch agent and had "--prefix foo" on you cmd line, you would attempt to execute "ssh foo/valgrind orted" - which obviously wouldn't work.
This was all -very- confusing to users, who had to know which PLM was being used so they could even set the right mca param in the first place! And since we don't warn about non-recognized or non-used mca params, half of the time they would wind up not doing what they thought they were telling us to do.
To solve this problem, we did the following:
1. removed all mca params from the individual plms for the launch agent
2. added a new mca param "orte_launch_agent" for this purpose. To further simplify for users, this comes with a new cmd line option "--launch-agent" that can take a multi-word string argument. The value of the param defaults to "orted".
3. added a PLM base function that processes the orte_launch_agent value and adds the contents to a provided argv array. This can subsequently be harvested at-will to handle multi-word values
4. modified the PLMs to use this new function. All the PLMs except for the rsh PLM required very minor change - just called the function and moved on. The rsh PLM required much larger changes as - because of the rsh/ssh cmd line limitations - we had to correctly prepend any provided prefix to the correct argv entry.
5. added a new opal_argv_join_range function that allows the caller to "join" argv entries between two specified indices
Please let me know of any problems. I tried to make this as clean as possible, but cannot compile all PLMs to ensure all is correct.
This commit was SVN r19097.
Mpirun - and the orteds - were doing their best to whack all session dirs on their nodes just in case there was something lingering due to an abnormal termination. Unfortunately, they were -too- good at it. They were whacking all session directories under the user's name, even those from other mpiruns!
This adds another layer to the session dir tree so that we can denote which jobs come from our own job family, and restricts the cleanup operation to only session dirs from within our own job family. So we'll still cleanup anything due to our own mpirun, but won't whack any other mpirun from this user.
Call it being polite...
This commit was SVN r19083.
that by decreasing the btl_inuse if there was already a registered BTL we basically reset
the changes for this new BTL to register it's progress function, even if it was supposed to
handle another peer.
This commit was SVN r19080.
* add "register" function to mca_base_component_t
* converted coll:basic and paffinity:linux and paffinity:solaris to
use this function
* we'll convert the rest over time (I'll file a ticket once all
this is committed)
* add 32 bytes of "reserved" space to the end of mca_base_component_t
and mca_base_component_data_2_0_0_t to make future upgrades
[slightly] easier
* new mca_base_component_t size: 196 bytes
* new mca_base_component_data_2_0_0_t size: 36 bytes
* MCA base version bumped to v2.0
* '''We now refuse to load components that are not MCA v2.0.x'''
* all MCA frameworks versions bumped to v2.0
* be a little more explicit about version numbers in the MCA base
* add big comment in mca.h about versioning philosophy
This commit was SVN r19073.
The following Trac tickets were found above:
Ticket 1392 --> https://svn.open-mpi.org/trac/ompi/ticket/1392
have/need lseek64" issue. This fix is also included in MPICH2 after
v1.0.7.
This commit was SVN r19070.
The following Trac tickets were found above:
Ticket 1419 --> https://svn.open-mpi.org/trac/ompi/ticket/1419
"make distclean". It's not clear whether it's an Automake bug or
whether what I did simply is not supported (I've got pending mail into
Ralf W. asking about it). The short version is that during "make
distclean", ompi/mpi/f77/Makefile would rm -rf ompi/mpi/f77/.deps.
But ompi/Makefile still include's some .Plo files from that directory,
so Bad Things happened when "make distclean" unrolled from the
ompi/mpi/f77 dir back up to the ompi/ dir.
So I went with George's original suggestion and moved the f77 "base"
files in question into a new directory: ompi/mpi/f77/base and put a
Makefile.include in there. That way, this directory is not traversed
twice by distclean, and .deps is only removed when it is supposed to
be. Maybe we'll be able to do it a little better someday, but that's
the way it is now.
I'll check this with a fresh checkout once this is committed to SVN as
well; some of these kinds of problems don't show up until you do a
build from a completely fresh SVN checkout.
This commit was SVN r19054.
The following SVN revision numbers were found above:
r19040 --> open-mpi/ompi@9f4d4c4312