-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update SparseArrays.jl stdlib for SuiteSparse 7 #48977
Conversation
1d4a684
to
b17d6f5
Compare
b17d6f5
to
77c437b
Compare
@gbaraldi I think you had suggested using the compile cache. I get this for my SparseArrays tests locally:
Any suggestions? Perhaps this is #48579 |
77c437b
to
d8dd388
Compare
decd02d
to
b46a1f3
Compare
On i686-linux:
On 32-bit Windows there are more failures |
Yes, made some progress in JuliaSparse/SparseArrays.jl#372, but the wrappers need some more work. SuiteSparse changed a lot of internal representations for the new |
SuiteSparse 7 is not built for 32-bit BLAS on 32-bit platforms in the recent PRs we merged. JuliaPackaging/Yggdrasil#6455 is attempting to fix that. |
ef0209e
to
e91bba3
Compare
e91bba3
to
2fe3d7c
Compare
@Wimmerer I am pulling in your SparseArrays update for 32-bit SS7 PR here. Binaries for 32-bit platforms will get built in CI and can be used for testing, and if we get lucky, the issues are easy to fix by just reading the CI logs. |
f2f02ef
to
29bec57
Compare
Hi, has this been fixed in the new Julia 1.9.0 yet? On Intel macOS x86_64 this problem is still occurring each time Julia is started, or the Package Manager runs. Julia installed either via "brew install julia" or from a cask "brew install --cask julia", it doesn't matter which way, the problem is still there:
|
We do not have a path to update to SS 7 yet, which doesn't have the 32 bit QR solver. I suggest using the official Julia binaries which use an older SS 5. |
OK, I see. But I thought the cask version of Julia installs the official .dmg package from the Julia downloads website. And yet when the cask version of Julia is installed the same error appears. There is no difference between running the cask and non-cask Julia versions. Both suffer from the error. Anyway, will uninstall the brew versions and try the official .dmg package the next time I work from the office. |
Note that this is quite breaking, because there are packages that depend directly on the jll, so there needs to be some jll rebuilding of packages first. Ideally we do that before we backport. |
Do we have some examples? Or do we need to run pkgeval? Is the list pretty much: https://juliahub.com/ui/Packages/SuiteSparse_jll/ME9At/7.2.0+0?page=2 |
@Keno I doubt Sundials.jl which depends on Sundials 5 will cleanly be able to use SuiteSparse 7 - and I don't think it is a good idea to force it. I am sure that this will hold back most of the other Yggdrasil packages. Giving it a shot in JuliaPackaging/Yggdrasil#7030, but I am not hopeful. |
@ViralBShah SS 6 and 7 shouldn't have broken the 64 bit interface. At least not by very much |
This reverts commit b26f3b2.
Fingers crossed. But refreshing these old builds is a bit painful: JuliaPackaging/Yggdrasil#7030 |
This reverts commit 2c7f4d6 (#406), now that JuliaLang/julia#48977 is finished.
This PR broke CI in the General registry, all jobs on nightly are failing with
|
The relevant issue is here: JuliaLang/Pkg.jl#3498. |
Nevermind, that was fixed by updating the manifest, which previously didn't include |
I never knew that this Manifest was the CI manifest. I checked the manfiest in the Julia source. It all makes sense now. |
* Use SparseArrays.jl updated to work with SuiteSparse 7, and with Int32 indices * SuiteSparse_jll Update to v7.2.0 (Using @Wimmerer's SuiteSparse fork for 32-bit QR) --------- Co-authored-by: Francois-Xavier Coudert <fxcoudert@gmail.com> Co-authored-by: Will Kimmerer <kimmerer@mit.edu> (cherry picked from commit b26f3b2)
Backported PRs: - [x] #48625 <!-- add replace(io, str, patterns...) --> - [x] #48387 <!-- Improve documentation of sort-related functions --> - [x] #48363 <!-- Revise sort.md and docstrings in sort.jl --> - [x] #48977 <!-- Update SparseArrays.jl stdlib for SuiteSparse 7 --> - [x] #50719 <!-- fix `CyclePadding(::DataType)` --> - [x] #50694 <!-- inference: permit recursive type traits --> - [x] #50860 <!-- Add `Base.get_extension` to docs/API --> - [x] #50594 <!-- Disallow non-index Integer types in isassigned --> - [x] #50802 <!-- Makes IntrusiveLinkedListSynchronized mutable to avoid allocation on poptask --> - [x] #50858 <!-- Add a `threadpool` parameter to `Channel` constructor --> - [x] #50874 <!-- Restrict COFF to a single thread when symbol count is high --> - [x] #50822 <!-- Add default method for setmodifiers! --> - [x] #50730 <!-- Fix integer overflow in `isapprox` --> - [x] #50850 <!-- Remove weird Rational dispatch and add pi functions to list --> - [x] #50809 <!-- Limit type-printing in MethodError --> - [x] #50915 <!-- Add note the `Task` about sticky bit --> - [x] #50929 <!-- when widening tuple types in tmerge, only widen the complex parts --> - [x] #50928 <!-- Bump JuliaSyntax to 0.4.6 --> - [x] #50959 <!-- Update libssh2 patches --> - [x] #50823 <!-- Make ranges more robust with unsigned indexes. --> - [x] #48542 <!-- Add docs on task-specific buffering using multithreading --> - [x] #50912 <!-- Separate foreign threads into a :foreign threadpool --> - [x] #51010 <!-- Add ORIGIN to SuiteSparse rpath on Linux/FreeBSD --> - [x] #50753 <!-- cat: remove unused promote_eltype methods that confuse inference --> - [x] #51027 <!-- Implement realloc accounting correctly --> - [x] #51019 <!-- fix a case of potentially use of undefined variable when handling error in distributed message processing --> - [x] #51039 <!-- Revert "Optimize findall(f, ::AbstractArray{Bool}) (#42202)" --> - [x] #51036 <!-- add missing invoke edge for nospecialize targets --> - [x] #51042 <!-- inference: fix return_type_tfunc modeling of concrete functions --> - [x] #51114 <!-- Workaround upstream FreeBSD issue #272992 --> - [x] #50892 <!-- Add `JL_DLLIMPORT` to `small_typeof` declaration --> - [x] #51154 <!-- broadcast: use recursion rather than ntuple to map over a tuple --> - [x] #51153 <!-- fix debug typo in "add missing invoke edge for nospecialize targets (#51036)" --> - [x] #51222 <!-- Check again if the tty is open inside the IO lock --> - [x] #51236 <!-- Add lock around uv_unref during init --> - [x] #51243 <!-- GMP: Gracefully handle more overflows. --> - [x] #51254 <!-- Ryu: make sure adding zeros does not overwrite trailing dot --> - [x] #51175 <!-- shorten stale_age for cachefile lock --> - [x] #51300 <!-- fix method definition error for bad vararg --> - [x] #51307 <!-- fix force-throw ctrl-C on Windows --> - [x] #51303 <!-- ensure revising structs is safe --> - [x] #51393 - [x] #51403 Need manual backport: - [x] #51009 <!-- fix #50562, regression in `in` of tuple of Symbols --> - [x] #51053 <!-- Bump Statistics stdlib --> - [x] #51013 <!-- fix #50709, type bound error due to free typevar in sparam env --> - [x] #51305 <!-- reduce test time for rounding and floatfuncs --> Contains multiple commits, manual intervention needed: - [ ] #50663 <!-- Fix Expr(:loopinfo) codegen --> - [ ] #51035 <!-- refactor GC scanning code to reflect jl_binding_t are now first class --> - [ ] #51092 <!-- inference: fix bad effects for recursion --> - [x] #51247 <!-- Check if malloc has succeeded before incrementing gc stats --> - [x] #51294 <!-- use LibGit2_jll for LibGit2 library --> Non-merged PRs with backport label: - [ ] #51132 <!-- Handle `AbstractQ` in concatenation --> - [x] #51029 <!-- testdefs: make sure that if a test set changes the active project, they change it back when they're done --> - [ ] #50919 <!-- Code loading: do the "skipping mtime check for stdlib" check regardless of the value of `ispath(f)` --> - [ ] #50824 <!-- Add some aliasing warnings to docstrings for mutating functions --> - [x] #50385 <!-- Precompile pidlocks: add to NEWS and docs --> - [ ] #49805 <!-- Limit TimeType subtraction to AbstractDateTime -->
This is essentially the same as @fxcoudert's #48855, but disables building SuiteSparse and SparseArrays in the system image, making it easy to develop.
cc @fxcoudert