Skip to content

Commit e2fd74b

Browse files
committed
merge origin
2 parents 7f7e288 + 6d0d2e9 commit e2fd74b

File tree

5 files changed

+72
-13
lines changed

5 files changed

+72
-13
lines changed

.github/workflows/hipo-fetch.yml

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ on: [push, pull_request]
44

55
jobs:
66
ubuntu:
7-
runs-on: ubuntu-latest
7+
runs-on: [ubuntu-latest, ubuntu-24.04-arm]
8+
89
strategy:
910
matrix:
10-
# config: [Release, Debug]
1111
config: [Release]
1212
all_tests: [ON]
1313

@@ -41,7 +41,6 @@ jobs:
4141
runs-on: ubuntu-latest
4242
strategy:
4343
matrix:
44-
# config: [Release, Debug]
4544
config: [Release]
4645
all_tests: [ON]
4746

@@ -54,7 +53,8 @@ jobs:
5453
- name: Install 32-bit deps
5554
run: |
5655
sudo apt-get update
57-
sudo apt-get install -y gcc-multilib g++-multilib libc6-dev-i386
56+
sudo apt-get install -y gcc-multilib g++-multilib
57+
sudo apt-get install -y libc6-dev-i386 libstdc++-devel.i686
5858
5959
- name: Configure CMake
6060
working-directory: ${{runner.workspace}}/build
@@ -83,7 +83,6 @@ jobs:
8383
runs-on: ubuntu-24.04-arm
8484
strategy:
8585
matrix:
86-
# config: [Release, Debug]
8786
config: [Release]
8887
all_tests: [ON]
8988

@@ -121,7 +120,8 @@ jobs:
121120
ctest --parallel --timeout 300 --output-on-failure
122121
123122
windows:
124-
runs-on: [windows-latest, windows-11-arm]
123+
runs-on: [windows-latest]
124+
fail-fast: false
125125
strategy:
126126
matrix:
127127
config: [Release]
@@ -137,7 +137,50 @@ jobs:
137137
cmake `
138138
-S "$env:GITHUB_WORKSPACE" `
139139
-B "${{ runner.workspace }}/build" `
140-
-A ${{ matrix.arch }}
140+
-A ${{ matrix.arch }} `
141+
-DHIPO=ON `
142+
-DALL_TESTS=${{ matrix.all_tests }} `
143+
-DBUILD_OPENBLAS=ON
144+
145+
- name: Build
146+
shell: pwsh
147+
working-directory: ${{runner.workspace}}/build
148+
run: |
149+
cmake --build . --parallel --config ${{ matrix.config }}
150+
151+
- name: Test executable
152+
shell: pwsh
153+
working-directory: ${{runner.workspace}}/build
154+
run: |
155+
& ".\${{ matrix.config }}\bin\highs.exe" --solver=hipo `
156+
"$env:GITHUB_WORKSPACE/check/instances/afiro.mps"
157+
158+
- name: Ctest
159+
shell: pwsh
160+
working-directory: ${{runner.workspace}}/build
161+
run: |
162+
ctest --parallel --timeout 300 --output-on-failure -C ${{ matrix.config }}
163+
164+
windows_arm_64:
165+
runs-on: [windows-11-arm]
166+
strategy:
167+
matrix:
168+
config: [Release]
169+
all_tests: [ON]
170+
# ARM32 Windows development is basically deprecated:
171+
# https://learn.microsoft.com/en-us/windows/arm/arm32-to-arm64
172+
arch: ["x64"]
173+
174+
steps:
175+
- uses: actions/checkout@v4
176+
177+
- name: Configure CMake
178+
shell: pwsh
179+
run: |
180+
cmake `
181+
-S "$env:GITHUB_WORKSPACE" `
182+
-B "${{ runner.workspace }}/build" `
183+
-A ${{ matrix.arch }} `
141184
-DHIPO=ON `
142185
-DALL_TESTS=${{ matrix.all_tests }} `
143186
-DBUILD_OPENBLAS=ON

.github/workflows/release-cpack.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ jobs:
6262
cd build
6363
cpack -C Release
6464
65-
# -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL
66-
# Win32
67-
6865
- name: Upload artifacts
6966
uses: actions/upload-artifact@v4
7067
with:

check/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ if ((NOT FAST_BUILD OR ALL_TESTS) AND NOT (BUILD_EXTRA_UNIT_ONLY))
4848
TestHighsRbTree.cpp
4949
TestHighsSparseMatrix.cpp
5050
TestHighsVersion.cpp
51-
TestHipo.cpp
5251
TestHSet.cpp
5352
TestICrash.cpp
5453
TestIis.cpp
@@ -82,6 +81,11 @@ if ((NOT FAST_BUILD OR ALL_TESTS) AND NOT (BUILD_EXTRA_UNIT_ONLY))
8281
TestUserScale.cpp
8382
Avgas.cpp)
8483

84+
85+
if (HIPO)
86+
list(APPEND TEST_SOURCES TestHipo.cpp)
87+
endif()
88+
8589
set(OPT_LEVEL_CHANGED OFF)
8690

8791
if(CMAKE_CXX_FLAGS_RELEASE MATCHES "-O[0-9s]" AND NOT CMAKE_CXX_FLAGS_RELEASE MATCHES "-O3")

cmake/FindHipoDeps.cmake

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,13 @@ if (BUILD_OPENBLAS)
1919
)
2020

2121
if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64|armv8|arm")
22-
message(STATUS "ARM architecture detected. Applying -DTARGET=ARMV8.")
23-
list(APPEND OPENBLAS_MINIMAL_FLAGS -DTARGET=ARMV8)
22+
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
23+
message(STATUS "ARM architecture detected. Applying -DTARGET=ARMV7.")
24+
list(APPEND OPENBLAS_MINIMAL_FLAGS -DTARGET=ARMV7)
25+
else()
26+
message(STATUS "ARM architecture detected. Applying -DTARGET=ARMV8.")
27+
list(APPEND OPENBLAS_MINIMAL_FLAGS -DTARGET=ARMV8)
28+
endif()
2429
endif()
2530

2631
# CMAKE_SIZEOF_VOID_P is 4 for 32-bit builds, 8 for 64-bit builds.
@@ -36,7 +41,10 @@ if (BUILD_OPENBLAS)
3641
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded")
3742
endif()
3843

44+
<<<<<<< HEAD
3945

46+
=======
47+
>>>>>>> hipo-cpack
4048
# list(APPEND OPENBLAS_MINIMAL_FLAGS -DUSE_THREAD=OFF)
4149
list(APPEND OPENBLAS_MINIMAL_FLAGS -DINTERFACE64=0)
4250

highs/lp_data/HighsSolve.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -718,11 +718,18 @@ bool useHipo(const HighsOptions& options,
718718
use_hipo = false;
719719
} else if (specific_solver_option_value == kIpmString ||
720720
specific_solver_option_value == kHipoString || force_ipm) {
721+
721722
#ifdef HIPO
722723
use_hipo = true;
723724
#else
725+
if (specific_solver_option_value == kHipoString) {
726+
highsLogUser(options.log_options, HighsLogType::kError,
727+
"HiPO is not available in this build.\n");
728+
return HighsStatus::kError;
729+
724730
use_hipo = false;
725731
#endif
732+
726733
}
727734
if (options.run_centring) use_hipo = false;
728735
// Later decide between HiPO and IPX based on LP properties

0 commit comments

Comments
 (0)