Skip to content

Conversation

@galabovaa
Copy link
Contributor

@galabovaa galabovaa commented Jan 6, 2026

Add release binary packages including HiPO and OpenBLAS on Windows and Linux. MacOS packages depend on Apple Accelerate for now. If compatibility issues pop up, we could restrict the Accelerate version to an older one after investigating performance variations.

The following binary packages are generated:

Windows 64bit AMD and ARM
Linux 64bit AMD and ARM
MacOS Universal

The packages are generated using CPack from CMake.

Added a CMake option BUILD_OPENBLAS. If enabled, HiGHS downloads and configures OpenBLAS v0.3.30 as a subproject, following the OR-Tools CMake dependency management approach.

Supported platforms

Windows 64bit AMD and ARM
Windows 32bit AMD
Linux 64bit AMD and ARM
Linux 32bit AMD

TestHipo.cpp is only included in the unit tests if HIPO=ON.

@galabovaa galabovaa requested review from filikat and jajhall January 6, 2026 09:00
@codecov
Copy link

codecov bot commented Jan 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.28%. Comparing base (b213563) to head (9d6557a).
⚠️ Report is 8 commits behind head on latest.

Additional details and impacted files
@@            Coverage Diff             @@
##           latest    #2728      +/-   ##
==========================================
- Coverage   81.33%   80.28%   -1.05%     
==========================================
  Files         349      348       -1     
  Lines       86134    86062      -72     
==========================================
- Hits        70053    69098     -955     
- Misses      16081    16964     +883     

☔ 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.

Copy link
Member

@jajhall jajhall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have to trust you!

Copy link
Collaborator

@filikat filikat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In hipo/auxiliary/AutoDetect.cpp, line 34, should it be #ifdef instead of #ifndef?
It looks like OPENBLAS_32 indicates that OpenBLAS is built on a 32-bit machine, so the integer model should be set to lp32 if OPENBLAS_32 is defined. Also, the correct name for the integer model would be ilp32, instead of lp32.
BTW, if the stuff in AutoDetect.cpp is giving issues, we can just remove it. I added it to check the size of integers used by BLAS , but it would probably fail to link if BLAS was using 64-bit integers, because the BLAS API for 64-bit integers is a bit different.

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