Releases: DrTimothyAldenDavis/GraphBLAS
Releases · DrTimothyAldenDavis/GraphBLAS
v3.3.3 (July 14, 2020)
Version 3.3.3, July 14, 2020
* (20) bug fix: w<mask>=A*u with mask non-empty and u empty (issue #13).
affects mxm (A*B when B is a vector), vxm, and mxv.
* GraphBLAS v3.3.3 released as part of SuiteSparse v5.8.1
v3.3.2 (July 3, 2020)
Version 3.3.2, July 3, 2020
* minor changes to build system
v3.3.1 (June 30, 2020)
Version 3.3.1, June 30, 2020
* (19) bug fix: incorrect typecasting when GrB_assign or GxB_subassign
is simple: C=A where A is sparse or dense, in GB_dense_subassign_24.
Bug introduced in v3.2.0.
* revised gbmake: to allow GraphBLAS to be compiled in Octave
v3.3.0 (June 26, 2020)
Version 3.3.0, June 26, 2020
* GrB_wait( ): with no input arguments, has been deprecated. It will
be removed in V4.0.
* GrB_error ( ) with no input parameters is deprecated.
* added complex types: GxB_FC32 and GxB_FC64, many unary operators,
binary operators, monoids, and semirings
* added GrB_*_apply_BinaryOp1st and 2nd: also GxB version with GxB_Scalar
* added bitwise operators: and their monoids and semirings
* added predefined GrB* monoids and semirings: from the v1.3 spec.
* MATLAB interface: added complex matrices and operators, bitwise
operators; improved performance
* changed typecasting rules: for casting floating point types to integers
* added GrB_*_wait: wait for specific object to complete
* added GrB_*_resize: same as prior GxB_*_resize functions
* added GrB_kronecker: same as prior GxB_kron
* added version methods: GrB_getVersion, GRB_VERSION, GRB_SUBVERSION
* added GrB_*_removeElement
* (18) bug fix: fixed typecasting in GB_dense_subassign_23, generic case
* (17) bug fix: non-polymorphic GrB_eWiseAdd and eWiseMult functions
were misnamed.
* DRAFT interfaces: A few functions have been added to use CUDA and the
Intel MKL library. These are visible in GraphBLAS.h but are
undocumented; do *not* use them yet. They will likely change without
warning, and without change the SuiteSparse:GraphBLAS version number.
Future version: v4.0.0 may incorporate the following changes. This list is tentative since v2.0 of the C API is still under development:
* GrB_wait(), with no inputs: will be removed
* GrB_wait(&object): polymorphic function will be added
* GrB_*_nvals: will no longer guarantee completion; use GrB_wait(&object)
or non-polymorphic GrB_*_wait (&object) instead
* GrB_error: will have two inputs: a string (char **) and an object
* V4.0.0 will otherwise be identical to V3.3.0.
v3.2.2 (Apr 2, 2020)
Version 3.2.2, Apr 2, 2020
* (16) bug fix to MATLAB interface: for matrices with dimension > 2^53.
Note that MATLAB will not display the size correctly in 'whos', which
rounds the int64 values of m and n for [m,n]=size(A) of a GrB_matrix to
a 'flint', which is a double value, that then gets rounded. This is
outside of my control. size(A) is correct, just the 'whos' is wrong.
* port to Microsoft Visual Studio: including GraphBLAS/Demo and
GraphBLAS/Test, which had not been ported in v3.1.2.
* remove dependency on m4: end-users no longer need m4; still needed by
the Source/codegen*.m scripts but those are for development only.
v3.2.1 (March 10, 2020)
Version 3.2.1, Mar 10, 2020
* GAP benchmarks in MATLAB: in GraphBLAS/GraphBLAS/GAP (all but CC).
* atomic read/write: faster atomics for icc (see Source/GB_atomics.h)
* install name for Mac: in alternative/Makefile and Tcov/Makefile
* enable -DGBCOMPACT from CMake: for faster Travis builds
* MATLAB interface: better error message in GrB.reduce
* MATLAB triangle count: added sorting heuristic in GrB.tricount.
* bug fix for GraphBLAS/Demo/simple_timer: better selection of which
timer to use; simple_timer.[ch] made consistent.
* no bug fixes needed in primary GraphBLAS library: just in Demo, test,
and alternative/Makefile.
v3.2.0 (Feb 20, 2020)
Version 3.2.0, Feb 20, 2020
* GxB_*_define for user-defined compile-time objects: removed. Not
compatible with the faster kernels for mxm and dense matrices/vectors.
Use the GrB_*_new functions in the GraphBLAS C API Specification
instead.
* faster saxpy-based matrix multiply (about 5x to 10x for mxv and vxm):
removed Sauna workspace. Heap method removed. Hash method added.
* better performance for dense matrix and vectors
* faster typecast of the mask matrix M: GB_mcast replaces cast_M
* added GB_BURBLE: for development diagnostics
* changed default chunk size: from 4K to 64K
* added the PAIR binary operator: f(x,y)=1
* added the ANY binary operator: f(x,y)=x, or f(x,y)=y ; arbitrary choice
* added structural mask: from v1.3 C API Specification
* added GrB_DESC_*: predefined descriptor, from v1.3 C API Specification
* many atomics added: for the faster matrix multiply. These changes have
not been ported to Microsoft Visual Studio, which only supports a
subset of "#pragma omp atomic" statements. This will be resolved in a
future version; in the meantime, use v3.1.2 with MS Visual Studio
instead of v3.2.0.