LibNBC - Nonblocking MPI Collective Operations
Description
LibNBC is a prototypic implementation of a nonblocking interface for
MPI collective operations. Based on ANSI C and MPI-1, it supports all
MPI-1 collective operations in a nonblocking manner. LibNBC is
distributed under the BSD license.
Download the NBC Library
These versions of the NBC Library are available:
Build the NBC Library 1.0 and Programs using it (C- and F77 Bindings)
- mpi-c compiler wrapper (usually 'mpicc', or select a different via 'export mpicc=') must be in $path
- ./configure && make
- include "nbc.h" in your program
- link the program with "libnbc.a" (-lnbc) (you find the library in .libs after the build)
A description of LibNBC and its usage is available in [1] and [2]. Reference
[1] should be used for general citations of LibNBC. The InfiniBand-optimization
is described in [3]. The threaded implementation of LibNBC (on IB, as well as
MPI) is described in [4].
References
SC07 |
[1] T. Hoefler, A. Lumsdaine, W. Rehm: |
| Implementation and Performance Analysis of Non-Blocking Collective Operations for MPI
In Proceedings of the 2007 International Conference on High Performance Computing, Networking, Storage and Analysis, SC07, presented in Reno, USA, IEEE Computer Society/ACM, Nov. 2007, (acceptance rate 20%, 54/268)
|
IUCS-TR |
[2] T. Hoefler, J. Squyres, G. Bosilca, G. Fagg, A. Lumsdaine, W. Rehm: |
| Non-Blocking Collective Operations for MPI-2
Open Systems Lab, Indiana University. presented in Bloomington, IN, USA, School of Informatics, Aug. 2006,
|
Acknowledgements
Most of the work was done at the
Open
Systems Lab at the
Indiana
University. I want to thank
Jeff Squyres (Cisco Systems),
Andrew Lumsdaine (Indiana
University),
A HREF="http://icl.cs.utk.edu/people/peoplev2.apl?id=210">George
Bosilca (University of Tennessee),
Michael Adams (Indiana University),
and
Wolfgang
Rehm (TU Chemnitz)
for useful discussions contributing to the development of LibNBC.