Skip to content
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

request: SuiteSparseMKL #7661

Closed
ChrisRackauckas opened this issue Nov 12, 2023 · 9 comments
Closed

request: SuiteSparseMKL #7661

ChrisRackauckas opened this issue Nov 12, 2023 · 9 comments

Comments

@ChrisRackauckas
Copy link

SuiteSparse is not supposed to be linked with MKL according to Tim Davis and everyone who benchmarks it.(DrTimothyAldenDavis/SuiteSparse#1). However, I had a fiasco trying to make use of MKL with SuiteSparse since the only way to do that is trigger LBT, and global behavior is bad (SciML/LinearSolve.jl#427), so I had to end up reverting that. In JuliaSparse/SparseArrays.jl#453 we discussed having a SuiteSparseMKL which would be a version that is directly bound to MKL to allow for more direct calling. In LinearSolve.jl I am willing to setup the appropriate wrappers to make this live ASAP if someone is interested in helping get a jll made of this.

@ViralBShah
Copy link
Member

Won't the same issue that affected LBT affect MKL - because they do not export the full ILP64 API with the 64_ suffixes? That should happen in the next MKL release, I believe. At that point you should be able to use LBT - but if you don't want to change global behaviour, it would make sense to have SuiteSparseMKL then.

@DrTimothyAldenDavis
Copy link

OpenBLAS is likely fixed with respect to this issue, in their upcoming 0.3.27 release. See OpenMathLib/OpenBLAS#4441 .

@ViralBShah
Copy link
Member

Thanks @DrTimothyAldenDavis for the pointer. Since this is a simple patch, we should just patch the existing releases of openblas for Julia 1.10 and 1.11 anyways.

@imciner2
Copy link
Member

we should just patch the existing releases of openblas for Julia 1.10 and 1.11 anyways.

Do we just want to patch the most recent version we have for each version (so 0.3.24 for 1.10 and 0.3.26 for 1.11)? Hopefully it still fixes it on that old of an OpenBLAS version. Do we have a Julia example for the slowdown we might be able to do a comparison with?

@ViralBShah
Copy link
Member

ViralBShah commented Jan 23, 2024

I think it is 0.3.23 for 1.10. But yes, just patch those two and bump in Julia. @DrTimothyAldenDavis may be able to provide a good example. Or perhaps @ChrisRackauckas might.

cc @oscardssmith

@DrTimothyAldenDavis
Copy link

I think the OpenBLAS bug fix will appear in 0.3.27, which isn't released yet.

@imciner2
Copy link
Member

We have our own builds of OpenBLAS in Yggdrasil here, so we can backport the fix to the previous versions and get it into the older versions of Julia.

@imciner2
Copy link
Member

Since this is a simple patch, we should just patch the existing releases of openblas for Julia 1.10 and 1.11 anyways.

Builds with this patch have now been made in Yggdrasil and are OpenBLAS 0.3.23+2 and 0.3.26+2 for Julia 1.10 and 1.11, respectively.

@ViralBShah
Copy link
Member

Please reopen if the tip of 1.10 and master do not both fix this for OpenBLAS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants