Parallel BGL logo

The Parallel Boost Graph Library

  |   Home   |   Documentation   |  

The Parallel Boost Graph Library
A Generic C++ Library for High-Performance Parallel and Distributed Graph Computation

The Parallel BGL builds on the Boost Graph Library (BGL), offering similar data structures, algorithms, and syntax for distributed, parallel computation that the BGL offers for sequential programs. The Parallel BGL is intended primarily as a research platform, to facilitate both experimentation with and comparison of parallel graph algorithms and to provide solid implementations for solving large-scale graph problems in other application areas.

The Parallel BGL is being developed by the Open Systems Lab, part of the Pervasive Technologies Institute at Indiana University.


  • December 19, 2013: The experimental message-based PBGL2 has been released. This new version utilizes AM++ a generalized active message library.
  • February 25, 2010: Andrew Lumsdaine presented preliminary work in collaboration with Nicholas Edmonds and Jeremiah Willcock on hybrid parallel graph algorithms at the SIAM Conference on Parallel Processing for Scientific Computing. The implementation utilizes both threads and MPI-based active messages (in the form of a generalized active message library developed by the aforementioned individuals and Torsten Hoefler) to leverage both coarse- and fine-grained parallelism on multi-core clusters. Both the generalized active message library and hybrid parallel graph algorithm implementations will be released soon.
  • April 14, 2009: Version 0.7.0 of the Parallel BGL is available for download. Version 0.7.0 also comprises the initial codebase incorporated into Boost 1.40. Parallel BGL development will continue on the Indiana University hosted repository with periodic updates of tested and documented code pushed to the Boost repository.
  • April 11, 2008: The communication layer of the Parallel BGL has been replaced with an optimized MPI process group supporting asynchronous message handlers. The 'original' Parallel BGL code has been moved to the 0.6.0 branch.
  • January 17, 2006: The Parallel BGL Subversion repository is now open for anonymous, read-only access.
  • October 20, 2005: Douglas Gregor presented a paper describing the Generic Programming process used to design the Parallel BGL at OOPSLA 2005.
  • March 31, 2005: Version 0.5.0 alpha of the Parallel BGL is available for download.