Skip to content

Conversation

@amontoison
Copy link
Member

@carstenbauer
I compiled an LP64 version of BLIS with Yggdrasil.
With Julia 1.9, we should be able to combine them with LAPACK_jll and LAPACK32_jll.

@codecov
Copy link

codecov bot commented May 10, 2023

Codecov Report

❌ Patch coverage is 90.90909% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 95.00%. Comparing base (6938103) to head (a6ae8cb).
⚠️ Report is 6 commits behind head on main.

Files with missing lines Patch % Lines
src/BLISBLAS.jl 90.90% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main       #6      +/-   ##
==========================================
+ Coverage   91.66%   95.00%   +3.33%     
==========================================
  Files           1        1              
  Lines          12       20       +8     
==========================================
+ Hits           11       19       +8     
  Misses          1        1              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@amontoison
Copy link
Member Author

amontoison commented Jun 8, 2024

@carstenbauer
I updated this PR because some users wanted to try it in Ipopt.jl. Here are a few key points:

  • LBT requires at least Julia 1.9 to work on all platforms.
  • BLIS serves only as an alternative to BLAS. Therefore, it must be combined with LAPACK to provide a full alternative to OpenBLAS.
  • For many packages compiled with Yggdrasil, we need an LP64 BLAS/LAPACK compiled with 32-bit integers. This PR includes both LP64 and ILP64 versions, enabling functionality similar to MKL.jl or AppleAccelerate.jl.
  • OpenBLAS is no longer necessary as we can now utilize LAPACK routines that rely on BLIS.

@amontoison amontoison requested a review from carstenbauer June 8, 2024 03:58
@amontoison amontoison changed the title Add blis32_jll Upgrade BLISBLAS.jl Jun 8, 2024
@carstenbauer
Copy link
Member

Haven't reviewed this yet but note that almost all CI runs are failing. Can you address those failures first?

@amontoison
Copy link
Member Author

Haven't reviewed this yet but note that almost all CI runs are failing. Can you address those failures first?

The issues seem related to blis. Since the OpenBLAS backend wasn't cleared, blis symbols were never used.
I opened PR #18 to verify it.

It turns out that using BLISBLAS.jl didn't change the default BLAS backend before this PR.

@imciner2
Copy link
Contributor

imciner2 commented Oct 4, 2025

We just merged BLIS 2.0 into Yggdrasil, so can this PR be revived and updated to allow BLIS 2.0?

@ViralBShah
Copy link
Member

It should be straightforward to rebase this on main now. I am now requiring Julia 1.12 to keep things simple (and perhaps it provides a good starting point to make things work on older versions).

If we enable LAPACK now, we should be able to use the stock tests from LinearAlgebra (and delete the modified tests from LinearAlgebra I just checked in).

@ViralBShah
Copy link
Member

We should be able to tag the 0.2 release after this PR is merged.

@amontoison
Copy link
Member Author

@ViralBShah I rebased the PR.

@amontoison amontoison requested review from ViralBShah and removed request for carstenbauer October 15, 2025 20:49
@imciner2
Copy link
Contributor

I think the test failures here are actually due to a bug in LBT - LAPACK_jll is not getting auto detected properly when it is linked against LBT. I think this PR to LBT should fix it: JuliaLinearAlgebra/libblastrampoline#168.

@ViralBShah ViralBShah merged commit 46553a1 into JuliaLinearAlgebra:main Oct 16, 2025
4 of 5 checks passed
@ViralBShah
Copy link
Member

@amontoison Should we register a new release or are there other things we should do before that?

@amontoison
Copy link
Member Author

We can register a new release.

@amontoison amontoison deleted the blis32_jll branch October 16, 2025 19:28
@ViralBShah
Copy link
Member

Registered, along with a few more improvements. Verified this all works with Julia 1.9 onwards.

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

Successfully merging this pull request may close these issues.

4 participants