The Combinatorial BLAS Release Notes

This document describes the new features and changes in each release of the Combinatorial BLAS. The numbering is of the form Z.Y.X.

X denotes bug fixes and/or minor updates for existing functionality.

Y denotes new major functionality.

Z denotes an overall paradigm shift in terms of abstractions.


CombBLAS 1.6 (September 2017)

·       Fully parallel text-file reader for vectors (FullyDistSpVec::ParallelReadMM() and FullyDistVec::ParallelReadMM())

·       Fully parallel text-file writer for vectors (FullyDistSpVec::ParallelWrite () and FullyDistVec::ParallelWrite())

·       Reverse Cuthill-McKee (RCM) ordering implementation

-        Please cite [12] if you use this implementation

·       Novel multithreaded SpGEMM and SpMV (with sparse vectors) algorithms are integrated with the rest of CombBLAS.

-        For benchmarking multithreaded SpMV with sparse vectors, go to Applications/SpMSpV-IPDPS2017 directory and use the code there.

-        Please cite [13] if you use the new multithreaded SpMV with sparse vectors.

·       Extended CSC support

·       Previously deprecated SpParVec and DenseParVec (that were distributed to diagonal processors only) classes are removed.

·       Lots of more bug fixes


CombBLAS 1.5 (January 2016)

·       Fully parallel matrix market format reader (SpParMat::ParallelReadMM())

·       Complete multithreading support, including SpGEMM (previously it was solely SpMV), enabled by -DTHREADED during compilation

·       Experimental 3D SpGEMM (the ability to switch processor grids from 2D to 3D will have to wait for version 1.6)

-        Please cite [9] if you use this implementation

-        cd 3DSpGEMM/, make test_mpipspgemm, and call the executable with correct parameters

·       Maximal and Maximum cardinality matching algorithms on bipartite graphs

-        Please cite [10] for maximal cardinality and [11] for maximum cardinality matching

-        cd MaximumMatching, make bpmm, and call the executable with correct parameters

·       Automated MPI_Op creation from simple C++ function objects (simplifies semiring descriptions and Reduce() functions)

·       FullyDistSpVec::Invert() to map from/to (integer) values to/from indices

·       Many more helper functions

·       Experimental CSC support for low concurrencies

·       Lots of bug fixes


CombBLAS 1.4 (January 2014)


CombBLAS 1.3 (February 2013)


CombBLAS 1.2.1 (April 2012)

CombBLAS 1.2 (March 2012)

CombBLAS 1.1.1 (August 2011)


CombBLAS 1.1 (May 2011)


CombBLAS 1.0 (May 2011)


Go back to the the Combinatorial BLAS home page.