Repository navigation
[1.13] openblas: Carry upstream fix for allocator contention between threads - #64257
Merged
ViralBShah merged 2 commits intoOct 26, 2026
Merged
Conversation
…threads OpenBLAS's default (non-TLS) buffer allocator, which Julia uses, serializes threads that call BLAS concurrently. Small level-2 calls such as `trsv` from several threads then run slower than the same calls made one after another, and so do parallel solves with one supernodal CHOLMOD factor, which make many such calls. Carry the five commits of OpenMathLib/OpenBLAS#6105, which remove that contention and fix a crash once more buffers are in use than the main table holds. This is the 0.3.30 counterpart of #64249. The fix builds on the buffer table's fields being `_Atomic`, which upstream did after 0.3.30, so the patch starts with that part of the earlier upstream change alone. As on master, the overflow area's release table keeps its `malloc` instead of upstream's `calloc`. Assisted-by: Claude Code (Opus 5.5)
Use the build of OpenBLAS 0.3.30 that carries the allocator contention fix from the previous commit, so that the binaries get it too. Assisted-by: Claude Code (Opus 5.5)
ViralBShah
marked this pull request as ready for review
October 26, 2026 22:15
23 of 37 tasks
IanButterworth
pushed a commit
that referenced
this pull request
Nov 8, 2026
…threads (#64257) * [1.13] openblas: Carry upstream fix for allocator contention between threads OpenBLAS's default (non-TLS) buffer allocator, which Julia uses, serializes threads that call BLAS concurrently. Small level-2 calls such as `trsv` from several threads then run slower than the same calls made one after another, and so do parallel solves with one supernodal CHOLMOD factor, which make many such calls. Carry the five commits of OpenMathLib/OpenBLAS#6105, which remove that contention and fix a crash once more buffers are in use than the main table holds. This is the 0.3.30 counterpart of #64249. The fix builds on the buffer table's fields being `_Atomic`, which upstream did after 0.3.30, so the patch starts with that part of the earlier upstream change alone. As on master, the overflow area's release table keeps its `malloc` instead of upstream's `calloc`. Assisted-by: Claude Code (Opus 5.5) * [1.13] openblas: Update OpenBLAS_jll to 0.3.30+1 Use the build of OpenBLAS 0.3.30 that carries the allocator contention fix from the previous commit, so that the binaries get it too. Assisted-by: Claude Code (Opus 5.5)
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.
The 1.13 version of #64249: carries the fix from OpenMathLib/OpenBLAS#6105 for lock contention in OpenBLAS's default buffer allocator, as a patch on 0.3.30. Parallel supernodal CHOLMOD solves and small
trsvcalls from many threads get an order of magnitude faster.The first commit adds the patch to the source build. On 0.3.30 it also includes the small part of an earlier upstream change that the fix depends on, which makes the buffer table's fields
_Atomic. The second updatesOpenBLAS_jllto 0.3.30+1, built with the same patch in JuliaPackaging/Yggdrasil#15326.🤖 Generated with Claude Code