Home   Publications   Awards   Research     NB Collectives       LibNBC       NBCBench       Performance       CG Solver       Kernels       HPL     MPI Topologies     MPI Datatypes     Netgauge     Network Topologies     Ethernet BTL eth     ORCS     DFSSSP     Older Projects     cDAG     LogGOPSim     CoMPIler   Teaching   Miscellaneous   Full CV [pdf]   BLOG   bio
  
 
 
  
 
  
  Events
  
  
  
  
   
  
   Past Events
  
  
  
  
  
  
   
    | 
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 "Implementation and Performance 
Analysis of Non-Blocking Collective Operations for MPI" [1] and 
"Design,
Implementation, and Usage of LibNBC" [2].  Reference [1] should 
be used for general citations of LibNBC.
The InfiniBand-optimization is described in "Optimizing non-blocking 
Collective Operations for InfiniBand" [3]. The threaded implementation of LibNBC (on IB, as well as MPI) is described in "Message Progression in Parallel Computing - To Thread or not to Thread?" [4]
  References
| SC07 | [1] Torsten Hoefler, Andrew Lumsdaine and Wolfgang 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)         |   
  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), 
  George
  Bosilca (University of Tennessee),
  Michael Adams (Indiana University),
  and Wolfgang
  Rehm (TU Chemnitz)
  for useful discussions contributing to the development of LibNBC.
   
  
 |