github DrTimothyAldenDavis/SuiteSparse v5.6.0
SuiteSparse v5.6.0

latest releases: v7.7.0, v7.7.0.beta1, v7.6.1...
4 years ago

SuiteSparse v5.6.0, Oct 21, 2019, with GraphBLAS v3.1.1.

Release notes for GraphBLAS, since v2.3.5 in SuiteSparse v5.5.0:

GraphBLAS Version 3.1.1, Oct 21, 2019

* minor edits: user guide and comments in code

GraphBLAS Version 3.1.0, Oct 2, 2019

* added MATLAB interface: GraphBLAS/GraphBLAS is new.  In Source/, added
    global pointer to printf for MATLAB mexPrintf, pointer to
    mexMakeMemoryPersistent for Sauna workspace.  Changed how GraphBLAS
    objects are printed with GxB_print.  Changed how duplicate indices are
    handled in assign and extract, to match the MATLAB stadard.  Added
    helper functions for MATLAB (GB_matlab_helper.[ch]).
    Code size: @GrB is 9.7KLOC, test/ is 4.5KLOC).
* bug counter added to this ChangeLog: to count # of bugs that appeared
    in formal releases that affect production code.  The count excludes
    bug fixes for test code, bugs in the demo codes, bugs introduced
    in beta versions that were fixed before any formal release, and
    bugs prior to version 1.0.  Code size of Source/, Include/ excluding
    Source/Generated, and Config/*.m4, is 42,659 lines (not including the
    new MATLAB interface).  13 bugs / 42K lines is a bug rate of 0.3 bugs
    per KLOC, much lower than most commercial software, but higher than
    UMFPACK, CHOLMOD, etc (with about 0.1 bug per KLOC).  GraphBLAS is a
    much more complex library, from the external view, than solving Ax=b.
    If UMFPACK has a bug, then Ax-b is typically large; there is no
    'residual' to check for GraphBLAS.  Also, in GraphBLAS, the test suite
    has about the same size as the main library (32K lines in Test/ and
    Tcov/).  For UMFPACK, etc, the test suite is always about 1/3 the size
    of the library itself.
* 'make dox': for doxygen removed (not really that useful)
* (13) bug fix to GB_reduce_to_vector: to avoid integer divide-by-zero for
    a matrix with n=0 columns.
* (12) bug fix to GB_accum_mask: when C+=T if C has no entries except
    pending tuples
* (11) bug fix to GB_resize: when pending tuples exist and vdim is growing
    from vdim <= 1 to vdim > 1, GB_WAIT(A) is required first.
* (10) bug fix to GB_subref_phase1: "int nI" parameter should be int64_t.

GraphBLAS Version 3.0.1, July 26, 2019

* version number: Three changes to the user-visible API are not
    backward-compatible with V2.x: the added parameters to GxB_init and
    GxB_SelectOp_new, and the change in the type of the Thunk argument for
    GxB_select.  Thus, the SO version of SuiteSparse:GraphBLAS is now 3, no
    longer 2.  This change only affects SuiteSparse:GraphBLAS GxB_*
    extenstions, not any GrB_* functions or definitions.
* added GxB_Scalar: acts like a GrB_Vector of length 1.
* OpenMP parallelism: added nthreads and chunk parameters to GxB_set/get.
* added parameter to GxB_init: bool user_malloc_is_thread_safe,
    for the MATLAB mexFunction interface, or any other malloc library that
    might not be thread-safe.  mxMalloc is not thread-safe.
    This change is not backward compatible with Version 2.x.
* changed thunk parameter of GxB_select:  was (void *), now GxB_Scalar.
    This change is not backward compatible with Version 2.x.
* added parameter to GxB_SelectOp_new: to specify the type of the Thunk.
    This change is not backward compatible with Version 2.x.
* added options to GxB_get: determine if a matrix is hypersparse or not,
    global library, API information, nthreads, and chunk.
* added options to GxB_set: nthreads, and chunk.
* new operators and semirings: RDIV (f(x,y)=y/x) and RMINUS (y-x)
    binary operators.

Don't miss a new SuiteSparse release

NewReleases is sending notifications on new releases.