Copyright Notice:

The documents distributed by this server have been provided by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a noncommercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Publications of SPCL

T. Hoefler, P. Gottschling, A. Lumsdaine, W. Rehm:

 Optimizing a Conjugate Gradient Solver with Non-Blocking Collective Operations

(Elsevier Journal of Parallel Computing (PARCO). Vol 33, Nr. 9, In , presented in , pages 624-633, Elsevier, ISSN: 0167-8191, ISBN: , Sep. 2007)


This paper presents a case study that analyzes the suitability and usage of non-blocking collective operations in parallel applications. As with their point-to-point counterparts, non-blocking collective operations provide the ability to overlap communication with computation and to avoid unnecessary synchronization. These operations are provided for MPI programs with LibNBC, a portable low-overhead implementation of non-blocking collective operations built on MPI-1. The straightforward applicability of the LibNBC is demonstrated by incorporating non-blocking collective operations into a parallel conjugate gradient solver. Although only minor changes are required to use them, non-blocking collective operations allow most of the communication costs to be hidden and provide performance improvements of up to 34%. We also show that, because of overlap, there is no significant performance difference between Gigabit Ethernet and InfiniBandTM for special cases of our calculation.


download article:


  author={Torsten Hoefler and P. Gottschling and Andrew Lumsdaine and Wolfgang Rehm},
  title={{Optimizing a Conjugate Gradient Solver with Non-Blocking Collective Operations}},
  journal={Elsevier Journal of Parallel Computing (PARCO)},