Things should be working fine now with openib.
This commit was SVN r20618.
The following SVN revision numbers were found above:
r20617 --> open-mpi/ompi@d460264c79
devel list, it ''is'' within in the spirit of MPI to allow
MPI_REQUEST_NULL to be passed to MPI_REQUEST_GET_STATUS. I filed a
ticket proposal with MPI-2.2 to make this officially accepted:
https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/137
Plus, r20537 didn't revert out all of the machinery for allowing
MPI_REQUEST_NULL or inactive requests, anyway. So this commit simply
removes the parameter check that was added in r20537, and we're back
to where we were before this whole conversation. :-)
This commit was SVN r20616.
The following SVN revision numbers were found above:
r20537 --> open-mpi/ompi@38aab37bb3
* compute mmap-file size more wisely and pass requested size to allocator
* change MCA parameters:
- get rid of mpool_sm_per_peer_size
- get rid of mpool_sm_max_size
- set default mpool_sm_min_size to 0
* no longer pad sm allocations to page boundaries
* have sm_btl_first_time_init check return codes on free-list creations
Have mca_btl_sm_prepare_src() check to see if it can allocate an EAGER fragment
rather than a MAX fragment if the smaller size works.
Remove ompi/class/ompi_[circular_buffer_]fifo.h and references thereto.
Remove opal/util/pow2.[c|h] and references thereto.
This commit was SVN r20614.
Note: this requires that nodes not be shared by jobs/users. SLURM developers are working on an enhancement to remove this constraint.
Note 2: yes, the direct routed module returned! However, it is vastly different than the old one and has zero support for such things as comm_spawn. It is solely to support non-daemon, direct-launch environments.
This commit was SVN r20601.
Note that this assumes non-shared nodes...but only takes affect if there is no prior knowledge of how to talk to the specified peer. Thus, all daemon-based environments are unaffected.
This commit was SVN r20598.
deactivated by default. It is activated by setting either of the
following two MCA parameters to values greater than 0:
* coll_sync_barrier_before
* coll_sync_barrier_after
If !_before is >0, then the sync coll collective will insert itself
before the underlying collective operations and invoke a barrier
before every Nth barrier (N == coll_sync_barrier_before). Similar for
!_after. Note that N is a _per communicator_ value; not global to the
MPI process.
If both are 0 (which is the default), this component returns NULL for
the comm query, meaning that it is not insertted into the coll module
stack.
The intent of this component is to provide a a workaround for
applications with large numbers of collectives of short messages that
can cause unbounded unexpected messages. Specifically, it is possible
for some iterative collective communication patterns to cause
unbounded unexpected messages. Forcing a barrier before or after
every Nth collective operation would prevent that behavior by forcing
applications to synchronize (and thereby consume any outstanding
unexpected messages caused by collectives on the same communicator).
Open MPI still needs to bound unexpected messages resource consumption
at the receiver, but this is a viable workaround for at least some
symptoms of the problem.
Additionally, there has been anecdotal evidence of some applications
that "perfom better" when they put barriers after other collective
operations. This could be due to many factors -- including shortening
the unexpected message queue. Putting this component in Open MPI
allows people to try this with their own applications and give real
world feedback on this kind of behavior.
This commit was SVN r20584.
Also create mca parameter to force daemonization (previous
behavior) which might be needed on larger clusters or
to make use of the -notify flag with qsub.
This fixes trac:1783.
This commit was SVN r20582.
The following Trac tickets were found above:
Ticket 1783 --> https://svn.open-mpi.org/trac/ompi/ticket/1783
* The main thing done here is to convert from multiple FIFOs/queues per
receiver (each receiver has one FIFO for each sender) to a single FIFO/queue
per receiver (all senders sharing the same FIFO for a given receiver).
* This requires rewriting the FIFO support, so that
ompi/class/ompi_[circular_buffer_]fifo.h is no longer used and FIFO
support is instead in btl_sm.h.
* The number of FIFOs per receiver is actually an MCA tunable parameter,
but it appears that 1 or possibly 2 FIFOs (even for 112 local processes)
per receiver is sufficient.
This commit was SVN r20578.
known-bad memory access pattern. Specifically, a NULL pointer is
passed in a system call as part of a probe to figure out which
affinity API this system has. We know it's a NULL and we did it on
purpose, so don't have Valgrind yell about it.
This commit was SVN r20572.