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

BLIS for Ipopt.jl #412

Closed
stumarcus314 opened this issue Jun 1, 2024 · 2 comments · Fixed by #413
Closed

BLIS for Ipopt.jl #412

stumarcus314 opened this issue Jun 1, 2024 · 2 comments · Fixed by #413

Comments

@stumarcus314
Copy link

stumarcus314 commented Jun 1, 2024

In the Ipopt.jl README in the Section "BLAS and LAPACK" (https://github.com/jump-dev/Ipopt.jl#blas-and-lapack), you can also mention BLIS as an alternative to OpenBLAS (the default), Intel MKL, and Apple Accelerate. BLISBLAS.jl is a Julia package that uses BLIS for Julia's underlying BLAS and is compatible with LBT.

"Using LBT, we can also switch dynamically to other BLAS backends such as Intel MKL and Apple Accelerate."
->
"Using LBT, we can also switch dynamically to other BLAS backends such as Intel MKL, BLIS, and Apple Accelerate."

BLIS
If you have BLISBLAS.jl (https://github.com/JuliaLinearAlgebra/BLISBLAS.jl) installed, switch to BLIS by adding using BLISBLAS to your code:

using BLISBLAS  # Replace OpenBLAS BLAS functionality by BLIS. OpenBLAS is still used for LAPACK functionality.
using Ipopt
@amontoison
Copy link
Contributor

amontoison commented Jun 6, 2024

BLISBLAS.jl only loads an ILP64 BLAS (blis_jll.jl).
We need an LP64 BLAS / LAPACK for Ipopt and the dependencies.
Note that blis32_jll.jl must be combined with LAPACK32_jll.jl if we want to replace OpenBLAS32_jll.jl, MKL.jl or AppleAccelerate.jl.

@amontoison
Copy link
Contributor

amontoison commented Jun 6, 2024

I also wanted to add a comment about sequential BLAS / LAPACK for MA86, MA87, MA97. They already use parallelism within the linear solver so we should not oversubscribe the threads with a multithreaded BLAS / LAPACK.

I will open a PR.

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

Successfully merging a pull request may close this issue.

2 participants