- 28 Aug, 2009 2 commits
-
-
David Goodell authored
All three all-to-all scatter/gather routines (MPI_Alltoall, MPI_Alltoallv, and MPI_Alltoallw) now accept MPI_IN_PLACE as a valid sendbuf argument. This is an implementation of MPI Forum ticket #31 for MPI-2.2 compliance. See the following URL for more information: https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/31 No reviewer.
-
David Goodell authored
No reviewer.
-
- 27 Aug, 2009 4 commits
-
-
David Goodell authored
This change should help us keep our usage of context IDs straight. It adds a check that runs at MPI_Finalize time that ensures that all allocated context IDs have been freed. Reviewed by buntinas@.
-
David Goodell authored
Under multi-threaded contention the old context ID allocation functions would leak context IDs as part of the error checking. This commit refactors the allocation interfaces to minimize programmer confusion and eliminates the leak in the previous implementation. Context ID allocation error checking is also somewhat improved and a regression test for this issue is included. Reviewed by buntinas@.
-
David Goodell authored
Some of the wiki docs erroneously recommended using --with-pm=none when building for SLURM. This commit adds it as a synonym for "no" to make this more user friendly. Thanks to Ashley Pittman for reporting this discrepancy. No reviewer.
-
David Goodell authored
This is a similar change to r5258 but for intracommunicators instead. No reviewer.
-
- 26 Aug, 2009 2 commits
-
-
Pavan Balaji authored
-
Pavan Balaji authored
untested and a maintenance headache.
-
- 24 Aug, 2009 5 commits
-
-
David Goodell authored
Thanks to Kim McMahon at Cray for spotting and contributing a fix for this bug.
-
David Goodell authored
It made some potentially unsafe assumptions about the behavior of MTestGetIntercomm and it had several unused variables left over from a previous incarnation of this test. No reviewer.
-
David Goodell authored
Otherwise the tests could end up calling communicator functions on MPI_COMM_NULL, which is erroneous. No reviewer.
-
David Goodell authored
This corrects a bug that was introduced in r5249. When the is_low_group field isn't set deadlocks will typically occur for "full-duplex" collectives over intercommunicators (such as MPI_Allreduce). This commit also runs each of the intercomm collective tests with a higher process count to ensure that more intercommunicator code paths are exercised. In this particular case running at higher process counts is an effective regression test. No reviewer.
-
David Goodell authored
The logic added in r5229 to avoid deadlocks in the intercommunicator tests was flawed. It assumed that the intercomm index was updated on every loop iteration, which wasn't actually true. So for involving 5 or less processes that required communicators of size 4 or greater, we would spin forever. No reviewer.
-
- 22 Aug, 2009 1 commit
-
-
Pavan Balaji authored
releases. Otherwise, a bunch of unnecessary files are being added in the release tarballs (e.g., autom4te.cache). Thanks to Lucas Nussbaum (Debian mpich2 maintainer) for catching this.
-
- 20 Aug, 2009 10 commits
-
-
David Goodell authored
Running maint/updatefiles on a release tarball would clobber the README and fedora.spec files because the .vin versions weren't present. No reviewer.
-
David Goodell authored
This commit implements the new MPI_Reduce_local and MPI_Op_commutative functions added in MPI-2.2. It also includes C-binding tests for the new functions. This commit is still WIP because the following things are needed: - at least one Fortran test for the functions No reviewer.
-
David Goodell authored
Per MPI-2.2, MPI_Exscan now supports MPI_IN_PLACE when passed in the sendbuf. For more history and information see the following URL: https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/94 No reviewer.
-
David Goodell authored
No reviewer.
-
David Goodell authored
Implementation of MPI-2.2 ticket #71. Delete callbacks are now invoked in LIFO order. Once the MPI version number macros are updated to 2.2 the test added in r4346 will check for this behavior. This change also includes another test for LIFO ordering because I wrote it before I saw Bill's original test. For more information and history on this issue, please see this URL: https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/71 The non-testing portions of this change were originally written by Bill Gropp.
-
David Goodell authored
This commit does 3 things. - It adds two new types of intercommunicators to the MTestGetIntercomm routine, more thoroughly exercising the MPI implementation's handling of intercommunicators. - It reworks MPI_Comm_create such that intercommunicators that do not include both rank 0s from the input communicator do not crash, corrupt, or hang the MPI implementation. - It adds tests to ensure that the implementation is MPI-2.2 compliant with respect to MPI_Comm_create's new ability to create multiple disjoint intracommunicators. (MPI Forum ticket #66) No reviewer.
-
David Goodell authored
MPI_REQUEST_NULL is now a valid argument to MPI_Request_get_status. This makes MPI_Request_get_status more consistent with MPI_Wait and MPI_Test, which always supported this argument. This is an implementation of MPI Forum ticket #137 for MPI-2.2 compliance. See the following URL for more information: https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/137 No reviewer.
-
Guillaume Mercier authored
-
Guillaume Mercier authored
-
Guillaume Mercier authored
-
- 19 Aug, 2009 6 commits
-
-
David Goodell authored
A trivial change for MPI-2.2 compliance. See the following URL for more information: https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/6 Reviewed by buntinas@.
-
David Goodell authored
This is backwards compatible with MPI-2.0 and MPI-2.1. The _function names have been added and the _fn names have been deprecated but are still present. See the following ticket for more info: https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/7 Reviewed by buntinas@.
-
David Goodell authored
We now understand --do= as well as -do=. Also we only run autoreconf in the openpa and hydra dirs when the 'build_configure' or 'makefiles' steps are enabled. This way you can iterate on the bindings without having to wait for both sub-projects to fully autoreconf. No reviewer.
-
Pavan Balaji authored
-
Guillaume Mercier authored
-
Guillaume Mercier authored
-
- 18 Aug, 2009 5 commits
-
-
Pavan Balaji authored
-
Pavan Balaji authored
might use the same signal.
-
Guillaume Mercier authored
-
Guillaume Mercier authored
-
Guillaume Mercier authored
-
- 17 Aug, 2009 5 commits
-
-
David Goodell authored
No reviewer.
-
David Goodell authored
The 'done' variable that is used to control exit from the communicator creation loop was not guaranteed to be consistently set. Since most iterations of the loop require participation from all processes in MPI_COMM_WORLD a deadlock was possible if some of the procs escape the loop before the other procs. This fix uses an MPI_Allreduce to ensure that all processes are actually done, not just the local proc. No reviewer.
-
David Goodell authored
No reviewer.
-
David Goodell authored
They were very broken prior to this commit and could have potentially interfered with matching logic in extremely difficult to debug ways. Unfortunately the fix required shaving yet another bit from the context ID space, dropping the limit to 2048 regular communicators. No reviewer.
-
David Goodell authored
The various intercommunicator creation functions didn't all agree whether the (send)context_id or the recvcontext_id was allocated from the local group's context pool. This led to double-frees and leaks of context IDs in some cases, particularly for intercommunicators created with MPI_Comm_split or MPI_Comm_create. No reviewer.
-