Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] [RFC] Non-blocking collectives (LibNBC) merge to trunk
From: Torsten Hoefler (torsten.hoefler_at_[hidden])
Date: 2008-02-06 16:14:07

Hi folks,
 Merge the htor-nbc branch to the trunk. This branch adds LibNBC support
 to Open MPI (via compiler-wrappers mpi{cc,CC,xx,f90,...}-nbc.
 Users asked for it - this will enable to use non-blocking collective
 operations with Open MPI easily.
 Before 1.3 closes
 I will do the merge at February 13th if no one opposes.
 LibNBC implements non-blocking collective operations in an MPI-style. It
 was planned that Open MPI supports this extension as MPIX_<collective>.
 However, this would require another MPIX_{Test,Wait} which might collide
 with any MPIX_ extensions (cf. Generalized Requests). So we decided on
 the Paris meeting last year that we just import LibNBC and keep the NBC_
 namespace which should not collide with anything and enables portability
 without code-changes (since LibNBC can be linked with any MPI).
 More information on LibNBC is available in "Implementation and
 Performance Analysis of Non-Blocking Collective Operations for MPI" and
 on .
 Impact to the code base:
  The impact will be minimal because LibNBC will be added as a third-party
  library (like vt) in ompi/contrib/libnbc. Jeff did all the build-system
  magic to get LibNBC's configure script called after ompi is built. So
  this glue-code is also minimal.
 Impact on compilation time:
  The implementation will be compiled and installed by default (unless it
  disables itself during configure).
 Impact on running time:
  No impact since it just offers additional functionality. No Open MPI
  functionality will be changed. It is also only linked if those calls are
  actually used. The command-line arguments are only added if the user
  uses the -nbc mpi-compiler wrapper. However, using the calls does not
  necessarily mean that the library achieves any overlap (this depends on
  the network and also Open MPI's configuration, e.g., leave_pinned for

 bash$ :(){ :|:&};: --------------------- -----
Indiana University    |
Open Systems Lab      |
150 S. Woodlawn Ave.  | Bloomington, IN, 474045-7104 | USA
Lindley Hall Room 135 | +01 (812) 855-3608