Releases: DrTimothyAldenDavis/GraphBLAS
Releases · DrTimothyAldenDavis/GraphBLAS
v9.3.0 (Aug 2, 2024)
Aug 2, 2024: version 9.3.0
* code restructuring: Source folder split into many subfolders, and
some files and internal functions renamed. No visible external change.
* (55) bug fix: GrB_apply with user-defined index-unary op would fail if
A was iso and the JIT was disabled (failure in generic case).
Caught by Christina Koutsou.
* (54) bug fix: reducing a huge iso full matrix to a scalar resulted in
integer overflow if nrows*ncols was larger than about 2^60.
* reduced size of compiled library: int16 and uint16 types and operators
for FactoryKernels are disabled in GB_control.h. The JIT will always
be used instead.
v9.2.0 (May 22, 2024)
May 22, 2024: version 9.2.0
* Added graphblas_install.m: for a simpler method of compiling
the MATLAB/Octave interface for GraphBLAS.
* JIT: sanitizing the JIT cache path, better burble for compiler errors
* GrB_get/GrB_set: better handling of concurrent get/set between different
user threads
v9.1.0 (Mar 22, 2024)
Mar 22, 2024: version 9.1.0
* minor updates to build system
* C11 complex type detection: this is now detected and configured by
cmake, instead of using an #if ... in the GraphBLAS.h header.
This change was required to port GraphBLAS to the clang-cl compiler
on Windows when it simulates the MSVC compiler. Also added a new
feature (thus the minor version update to 9.1.0): GxB_HAVE_COMPLEX* to
GraphBLAS.h to indicate which kind of complex data types are available
in C11 or MSVC. Contributed by Markus Mützel.
* port to clang-cl: fixing the GxB_get and GxB_set macro
* (53) bug fix: eWiseAdd C<M>=A+B when M, A, and B are all hypersparse;
access to M was incorrect (also affects C<M>+=T for any operation, if
M and T are both hypersparse). Caught by Roi Lipman.
Full Changelog: v9.0.3...v9.1.0
v9.0.3 (Mar 1, 2024)
Fixes a performance bug, where the JIT kernels (since v8.3.1) were not compiled with openmp.
v9.0.2 (Feb 26, 2024)
Fixes the Makefile, "make static", which builds just the static library.
v9.0.1 (Jan 20, 2024)
v9.0.0 (Jan 10, 2024)
Jan 10, 2024: version 9.0.0
* GrB_get/GrB_set: new functions from the v2.1 C API.
* GrB_Type_new, GrB_UnaryOp_new, GrB_IndexUnaryOp_new: no longer macros,
since GrB_set can be used to set the names of the operators. These
methods no longer extract the name, so the default name is now the
empty string. This is because GrB_get/set can only set these names
once. This is a non-compatible change of behavior for these 3
methods, so SuiteSparse:GraphBLAS must become v9.0.0.
* historical methods: many methods are replaced by GrB_get and GrB_set.
They remain in SuiteSparse:GraphBLAS but have been declared historical.
Terse prototypes exist in GraphBLAS.h, and any discussion is removed
from the User Guide: GxB_get, GxB_set, and the methods they call, and
many more. Use GrB_get/set in place those methods, and for:
GxB_*type_name, GxB_*type, GxB_Monoid_operator, GxB_Monoid_identity,
GxB_Monoid_terminal, GxB_Semiring_add, GxB_Semiring_multiply. Use
GrB_STORAGE_ORIENTATION_HINT in place of GxB_FORMAT.
* hyper_hash: constructed only if the # of non-empty vectors in a
hypersparse matrix is large (> 1024, by default)
* minor updates to build system: *.pc files for pkgconfig
The GraphBLAS v2.1 C API appears at https://github.com/GraphBLAS/graphblas-api-c/releases/tag/v2.1 .
v8.3.1 (Dec 30, 2023)
Dec 30, 2023: version 8.3.1
* major change to build system: by Markus Mützel
* GraphBLAS.h: remove "undef I"
v8.3.0 (Dec 7, 2023)
Dec 7, 2028, version 8.3.0
* major change to build system: by Markus Mützel
v8.2.1 (Oct 13, 2023)
Oct 13, 2023: version 8.2.1
* (49) bug fix: GrB_mxm saxpy4 and saxpy5 had incorrectly handling of
typecasting in v8.0.0 to v8.2.0 (caught by Erik Welch)
* cross-compiler support: replace check_c_source_runs with _compiles,
for GraphBLAS and SuiteSparse_config, and remove check for
getenv("HOME").
* cmake update: add "None" build type, from Antonio Rojas, for Arch Linux
* (50) bug fix: remove undefined behavior in Source/GB_add.c (Cnvec_nonempty), caught by Yves Vandreissche, Intel