You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/installation.md
+36-16Lines changed: 36 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,43 +7,63 @@ HiGHS uses CMake as build system, and requires at least version
7
7
8
8
## HiGHS with HiPO
9
9
10
-
HiGHS does not have any external dependencies, however, the new interior point solver HiPO uses BLAS. At the moment HiPO is optional and can be enabled via CMake. To build HiPO, you need to have BLAS installed on your machine. Please follow the instructions below.
10
+
HiGHS does not have any external dependencies, however, the new interior point solver HiPO uses BLAS. At the moment HiPO is optional and can be enabled via CMake.
11
11
12
-
#### BLAS
12
+
###External ordering heuristics
13
13
14
-
On Linux, libblas and libopenblas are supported. We recomment libopenblas for its better performance, and it is found by default if available on the system. Install with
14
+
HiPO also relies on a fill-reducing ordering heuristic. HiGHS includes the source code of Metis, AMD and RCM, three open-source ordering heuristics. Their source code is already part of the HiGHS library, so there is no need to link them. In particular, there is no need to have Metis installed separately, as in previous versions of HiPO. These source codes can be found in extern/metis, extern/amd, extern/rcm, together with the respective license files. Notice that the HiGHS source code is MIT licensed. However, if you build HiGHS with HiPO support, then libhighs and the HiGHS executables are licensed Apache 2.0, due to the presence of Metis and AMD.
15
15
16
-
```
17
-
sudo apt update
18
-
sudo apt install libopenblas-dev
19
-
```
16
+
### BLAS
20
17
21
18
On MacOS no BLAS installation is required because HiPO uses [Apple Accelerate](https://developer.apple.com/accelerate/) by default.
22
19
23
-
On Windows, OpenBLAS is required. It could be installed via [vcpkg](https://learn.microsoft.com/en-us/vcpkg/get_started/overview) with
20
+
On Windows and Linux, you can either compile OpenBLAS at configure time using the option `-DBUILD_OPENBLAS=ON` (`OFF` by default) or compile BLAS using the instructions below.
21
+
22
+
#### MacOS
24
23
24
+
To build HiPO on MacOS, run
25
25
```
26
-
vcpkg install openblas[threads]
26
+
cmake -S. -B build -DHIPO=ON
27
27
```
28
-
Note, that `[threads]` is required for HiPO.
29
28
30
-
To specify explicitly which BLAS vendor to look for, `BLA_VENDOR` coud be set in CMake, e.g. `-DBLA_VENDOR=Apple` or `-DBLA_VENDOR=OpenBLAS`. Alternatively, to specify which BLAS library to use, set `BLAS_LIBRARIES` to the full path of the library e.g. `-DBLAS_LIBRARIES=/path_to/libopenblas.so`.
29
+
#### Linux and Windows: Compile OpenBLAS at configure time
31
30
32
-
#### External ordering heuristics
31
+
```
32
+
cmake -S. -B build -DHIPO=ON -DBUILD_OPENBLAS=ON
33
+
```
33
34
34
-
HiPO also relies on a fill-reducing ordering heuristic. HiGHS includes the source code of Metis, AMD and RCM, three open-source ordering heuristics. Their source code is already part of the HiGHS library, so there is no need to link them. In particular, there is no need to have Metis installed separately, as in previous versions of HiPO. These source codes can be found in extern/metis, extern/amd, extern/rcm, together with the respective license files. Notice that the HiGHS source code is MIT licensed. However, if you build HiGHS with HiPO support, then libhighs and the HiGHS executables are licensed Apache 2.0, due to the presence of Metis and AMD.
35
+
#### Linux and Windows: Link with BLAS installatied on your machine
35
36
36
-
### HiPO
37
+
On Linux, libblas and libopenblas are supported. We recommend libopenblas for its better performance, and it is found by default if available on the system. Install with
38
+
39
+
```
40
+
sudo apt update
41
+
sudo apt install libopenblas-dev
42
+
```
37
43
38
-
To install HiPO, on Linux and MacOS, run
44
+
To build HiPO, run
39
45
```
40
46
cmake -S. -B build -DHIPO=ON
41
47
```
48
+
49
+
On Windows, OpenBLAS is required. It could be installed via [vcpkg](https://learn.microsoft.com/en-us/vcpkg/get_started/overview) with
50
+
51
+
```
52
+
vcpkg install openblas[threads]
53
+
```
54
+
55
+
Note, that `[threads]` is required for HiPO.
56
+
42
57
On Windows, you also need to specify the path to OpenBLAS. If it was installed with vcpkg as suggested above, add the path to `vcpkg.cmake` to the CMake flags, e.g.
To specify explicitly which BLAS vendor to look for, `BLA_VENDOR` coud be set in CMake, e.g. `-DBLA_VENDOR=Apple` or `-DBLA_VENDOR=OpenBLAS`. Alternatively, to specify which BLAS library to use, set `BLAS_LIBRARIES` to the full path of the library e.g. `-DBLAS_LIBRARIES=/path_to/libopenblas.so`.
65
+
66
+
47
67
## Bazel build
48
68
49
69
Alternatively, building with Bazel is supported for Bazel-based projects. To build HiGHS, from the root directory, run
0 commit comments