Skip to content

Commit 8396ba6

Browse files
authored
Merge pull request #2578 from ERGO-Code/hipo-tt
HiPO
2 parents 3d19148 + a3000b8 commit 8396ba6

File tree

11 files changed

+786
-586
lines changed

11 files changed

+786
-586
lines changed

.github/julia/build_tarballs.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ cmake -DCMAKE_INSTALL_PREFIX=${prefix} \
3333
-DCMAKE_BUILD_TYPE=Release \
3434
-DBUILD_SHARED_LIBS=${BUILD_SHARED} \
3535
-DZLIB_USE_STATIC_LIBS=${BUILD_STATIC} \
36-
-DFAST_BUILD=ON ..
36+
-DHIPO=ON \
37+
-DBLAS_LIBRARIES="${libdir}/libopenblas.${dlext}" \
38+
-DMETIS_ROOT=${prefix} \
39+
..
3740
3841
if [[ "${target}" == *-linux-* ]]; then
3942
make -j ${nproc}
@@ -60,6 +63,8 @@ platforms = expand_cxxstring_abis(platforms)
6063
dependencies = [
6164
Dependency("CompilerSupportLibraries_jll"),
6265
Dependency("Zlib_jll"),
66+
Dependency("METIS_jll"),
67+
Dependency("OpenBLAS32_jll"),
6368
HostBuildDependency(PackageSpec(; name="CMake_jll")),
6469
]
6570

.github/workflows/hipo-bla.yml

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
name: hipo-bla
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
7+
win-bla:
8+
runs-on: windows-latest
9+
strategy:
10+
fail-fast: false
11+
matrix:
12+
config: [Release]
13+
14+
steps:
15+
- uses: actions/checkout@v4
16+
17+
- name: Checkout METIS
18+
uses: actions/checkout@v4
19+
with:
20+
repository: galabovaa/METIS
21+
ref: 510-ts
22+
path: METIS
23+
24+
- name: Create installs dir
25+
working-directory: ${{runner.workspace}}
26+
run: |
27+
ls
28+
mkdir installs
29+
ls
30+
31+
- name: Install METIS
32+
shell: pwsh
33+
run: |
34+
cd METIS
35+
pwd
36+
cmake -S. -B build `
37+
-DGKLIB_PATH="$env:GITHUB_WORKSPACE/METIS/GKlib" `
38+
-DCMAKE_INSTALL_PREFIX="${{ runner.workspace }}/installs"
39+
cmake --build build --parallel --config ${{ matrix.config }}
40+
cmake --install build --config ${{ matrix.config }}
41+
42+
- name: Install OpenBLAS
43+
shell: pwsh
44+
run: vcpkg install openblas[threads]
45+
46+
- name: Configure CMake
47+
shell: pwsh
48+
run: |
49+
cmake `
50+
-S "$env:GITHUB_WORKSPACE" `
51+
-B "${{ runner.workspace }}/build" `
52+
-DHIPO=ON `
53+
-DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" `
54+
-DMETIS_ROOT="${{ runner.workspace }}/installs" `
55+
-DBLA_VENDOR=OpenBLAS
56+
57+
- name: Build
58+
shell: pwsh
59+
working-directory: ${{runner.workspace}}/build
60+
run: |
61+
cmake --build . --parallel --config ${{ matrix.config }}
62+
63+
- name: Test executable
64+
shell: pwsh
65+
working-directory: ${{runner.workspace}}/build
66+
run: |
67+
& ".\${{ matrix.config }}\bin\highs.exe" --solver=hipo `
68+
"$env:GITHUB_WORKSPACE/check/instances/afiro.mps"
69+
70+
- name: Ctest
71+
shell: pwsh
72+
working-directory: ${{runner.workspace}}/build
73+
run: |
74+
ctest --parallel --timeout 300 --output-on-failure -C ${{ matrix.config }}
75+
76+
hipo-bla:
77+
strategy:
78+
fail-fast: false
79+
matrix:
80+
os: [ubuntu-latest, macos-latest]
81+
config: [Release]
82+
83+
steps:
84+
- uses: actions/checkout@v4
85+
86+
- name: Checkout METIS
87+
uses: actions/checkout@v4
88+
with:
89+
repository: galabovaa/METIS
90+
ref: 510-ts
91+
path: METIS
92+
93+
- name: Create installs dir
94+
working-directory: ${{runner.workspace}}
95+
run: |
96+
mkdir installs
97+
ls
98+
99+
- name: Install METIS
100+
run: |
101+
cmake \
102+
-S $GITHUB_WORKSPACE/METIS \
103+
-B build \
104+
-DGKLIB_PATH=${{ github.workspace }}/METIS/GKlib \
105+
-DCMAKE_INSTALL_PREFIX=${{ runner.workspace }}/installs \
106+
cmake --build build --parallel
107+
cmake --install build
108+
109+
# no default blas available on runner
110+
111+
- name: Cache APT packages
112+
uses: actions/cache@v4
113+
with:
114+
path: |
115+
/var/cache/apt/archives
116+
/var/lib/apt/lists
117+
key: ${{ runner.os }}-apt-libopenblas
118+
119+
- name: Install OpenBLAS
120+
shell: bash
121+
run: |
122+
sudo apt update
123+
sudo apt install libopenblas-dev
124+
125+
- name: Create Build Environment
126+
run: cmake -E make_directory ${{runner.workspace}}/build
127+
128+
- name: Configure CMake ubuntu
129+
working-directory: ${{runner.workspace}}/build
130+
if: ${{ matrix.os == 'ubuntu-latest' }}
131+
run: |
132+
cmake $GITHUB_WORKSPACE -DHIPO=ON \
133+
-DMETIS_ROOT=${{runner.workspace}}/installs \
134+
-DBLA_VENDOR=OpenBLAS
135+
136+
- name: Configure CMake macos
137+
working-directory: ${{runner.workspace}}/build
138+
if: ${{ matrix.os == 'macos-latest' }}
139+
run: |
140+
cmake $GITHUB_WORKSPACE -DHIPO=ON \
141+
-DMETIS_ROOT=${{runner.workspace}}/installs \
142+
-DBLA_VENDOR=Apple
143+
144+
- name: Build
145+
working-directory: ${{runner.workspace}}/build
146+
run: |
147+
cmake --build . --parallel
148+
149+
- name: Test executable
150+
working-directory: ${{runner.workspace}}/build
151+
run: ./bin/highs --solver=hipo $GITHUB_WORKSPACE/check/instances/afiro.mps
152+
153+
- name: Ctest
154+
working-directory: ${{runner.workspace}}/build
155+
run: |
156+
ctest --parallel --timeout 300 --output-on-failure

0 commit comments

Comments
 (0)