Repository navigation
Update to SSGraphBLAS_jll 10.5 (0.12.0) - #158
Merged
Merged
Conversation
Header moved to include/suitesparse. The libgraphblas import and the complex type aliases move into prologue.jl (Clang.jl maps GxB_FC64_t to ComplexF32). lib/Manifest.toml is no longer committed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Typed GxB_*_Option and GxB_Desc get/set calls replace the varargs ones. Descriptor nthreads/chunk are gone in GraphBLAS 10. - Shallow arrays use a GxB_Container round trip with GxB_IS_READONLY (GB_make_shallow was removed); ownership is handed back before unpacking. - GxB_BinaryOp_new replaces the internal GB_BinaryOp_new. - Disable the JIT, whose default compiler is the jll build machine's. - Drop GrB_finalize at exit; later finalizers would free jl_malloc'd memory with libc free. - Compat: SSGraphBLAS_jll 10.5, KLU 0.6, Blobs 1, StorageOrders 0.3.2. - The reduce(any) test no longer assumes which entry ANY returns. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Index arrays were read one element early (1-based unsafe_load with C's 0-based indices), seeks to absent hypersparse vectors returned the next stored vector, and _rc_knext never advanced k. Also handle GraphBLAS 10's 32/64-bit index arrays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## v11 #158 +/- ##
==========================================
+ Coverage 63.75% 65.59% +1.83%
==========================================
Files 54 54
Lines 4415 4441 +26
==========================================
+ Hits 2815 2913 +98
+ Misses 1600 1528 -72 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This was referenced Oct 27, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves to SuiteSparse:GraphBLAS 10.5. Closes #139 and supersedes #152.
Bindings
lib/LibGraphBLAS_gen.jlis regenerated with Clang.jl 0.19.3 againstSSGraphBLAS_jll10.5. The header now lives underinclude/suitesparse/.import ..libgraphblaswas previously a hand edit to the generated file; it is now inprologue.jl. The prologue also definesGxB_FC64_t = ComplexF64, because Clang.jl maps both complex types toComplexF32.lib/Manifest.tomlis removed and gitignored.API port
GxB_Desc_set/getandGxB_*_Option_set/getcalls are replaced by their typed_INT32/_FP64variants.nthreads/chunkare removed; GraphBLAS 10 no longer has them.chunkoption now usesCdouble.GB_make_shallowno longer exists. Shallow (Julia-owned) arrays are now marked with aGxB_Containerround trip usingGxB_IS_READONLY, which is public API. GraphBLAS 10 also refuses to unpack read-only memory, so ownership is handed back just before each unpack.GxB_BinaryOp_newreplaces the internalGB_BinaryOp_new.GxB_JIT_ERROR(seen inA[:, j]) before GraphBLAS falls back to built-in kernels.GrB_finalizeat exit. After it runs, GraphBLAS uses libcfree, and the finalizers that run afteratexithooks then abort onjl_malloc'd memory (free(): invalid pointeron Julia 1.10).SSGraphBLAS_jll = "10.5",KLU = "0.6",Blobs = "1",StorageOrders = "0.3.2". Version 0.12.0 (breaking).Iterator fixes (these bugs exist in 0.11.x too)
unsafe_loadis 1-based, but the C code's indices are 0-based. Sparse and hypersparse iteration returned wrong rows; bitmap and full were unaffected._rc_knextnever advancedk.test/gbarray.jl.Tests
reduce(any, ...)test (reduce fails when using any as a function #88) no longer assumes which entry theANYmonoid returns.Pkg.test()passes locally on Julia nightly (1.14.0-DEV). An earlier revision, before the iterator fixes, also passed on 1.10.12 and 1.13.2.🤖 Generated with Claude Code