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.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)

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

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)
 Direction optimizing breadthfirst
search is available
 Several performance enhancements
and bugfixes
CombBLAS
1.3 (February
2013)
 MPI C++ bindings are removed since
they are no longer supported by the MPI3 standard. All MPI calls are
Cstyle.
 Onthefly filtering support
illustrated through examples.
 Frequently asked questions (FAQ)
added.
 Maximal Independent Set (MIS)
application implemented in the language of linear algebra.
CombBLAS 1.2.1 (April
2012)
 Sparse matrix assignment is
improved to cover cases where the additive inverses are not available.
 Prune with row/column vector
indices are supported.
 New test/timing scripts for galerkin restriction.
CombBLAS 1.2 (March
2012)
 It is made possible to create
matrices with globally 64bit, locally 32bit indices.
 This is very handy because the
index range for submatrices are typically addressible with 32bit indices but the global semantics
require 64bit computation.
 Example: SpParMat <int64_t, float, SpDCCols<int32_t,float>
> A;
 Some primitives (Sparse SpMV, EWiseMult, Apply, Set)
are hybrid multithreaded (using OpenMP) within a
socket. To enable, follow
instructions here
 A new binary format is introduced
that enables parallel I/O.
 Filtering (in the context of
semantic graphs) is supported in Sparse SpMV and
SpGEMM by checking against the semiring additive identity (SAID) that is
returned by the scalar semiring multiply if the edge is filtered.
CombBLAS 1.1.1 (August
2011)
 Bug fixes for the Graph500 sample
script and some sample input files.
CombBLAS 1.1 (May
2011)
 Fully distributed vectors are
supported for better load balance; diagonally distributed vectors are
deprecated.
 Scalable Sparse SpMV (that enables breadthfirst search) is exposed.
 Many new functions such as Matlab equivalent Sparse()like constructor and Find()
 An exact splitter is used
recursively until the range is covered by at most 512 core,
before PSort is called. This is because PSort needed local memory that was quadratic in the
number of processors.
 Sparse matrix to dense vector
reduction along rows is made memory efficient for large number of cores.
CombBLAS 1.0 (May
2011)
 Initial release of the
Combinatorial BLAS.
Go back to the the
Combinatorial BLAS home page.