|
4 | 4 |
|
5 | 5 | HiGHS currently has limited opportunities for exploiting parallel |
6 | 6 | computing. When using a CPU, these are currently restricted to the |
7 | | -dual simplex solver for LP, and the MIP solver. Details of these and |
8 | | -future plans are set out below. HiGHS has an implementation of a first |
9 | | -order method (PDLP) for solving LPs that can exploit the availability of a |
10 | | -[GPU](@ref highs-gpu). |
| 7 | +dual simplex solver for LP, the factorisation-based interior point solver, |
| 8 | +and the MIP solver. Details of these and future plans are set out below. |
| 9 | +HiGHS has an implementation of a first order method (PDLP) for solving LPs |
| 10 | +that can exploit the availability of a [GPU](@ref highs-gpu). |
11 | 11 |
|
12 | 12 | By default, when running in parallel, HiGHS will use half the |
13 | 13 | available threads on a machine. This number can be modified by setting |
@@ -47,14 +47,32 @@ clique tables, and when the interior point solver is used to compute |
47 | 47 | the analytic centre. This parallelism is always advantageous, so is |
48 | 48 | performed regardless of the value of the [parallel](@ref) option. |
49 | 49 |
|
| 50 | +## IPM |
| 51 | + |
| 52 | +The interior point solver HiPO uses multiple threads to process the |
| 53 | +elimination tree during the multifrontal factorisation (_tree level_) |
| 54 | +and to perform the dense factorisation of the frontal matrices |
| 55 | +(_node level_). |
| 56 | + |
| 57 | +If the [parallel](@ref) option is set "on", the level of parallelism is |
| 58 | +determined by the [hipo\_parallel\_type](@ref option-hipo-parallel) option, |
| 59 | +which can be "tree" for tree level only, "node" for node level only, or |
| 60 | +"both" for both levels. |
| 61 | + |
| 62 | +If the [parallel](@ref) option is set "choose", the solver selects which |
| 63 | +level to use based on a heuristic. When the [parallel](@ref) option is set |
| 64 | +"choose" or "off", the value of the hipo\_parallel\_type option is ignored. |
| 65 | + |
| 66 | + |
50 | 67 | ## Future plans |
51 | 68 |
|
52 | 69 | The MIP solver has been written with parallel tree search in mind. Some |
53 | 70 | work has started (Feb 2025), and it is hoped that a prototype solver |
54 | 71 | will be available during 2025. |
55 | 72 |
|
56 | | -Development of a new parallel interior point solver began 2023, and a |
57 | | -prototype solver is expected to be be available during 2025. |
| 73 | +Multi-threading within HiPO will be extended to other phases of the solver, |
| 74 | +including the solve phase of the factorisation and the process of assemblying |
| 75 | +the matrices. |
58 | 76 |
|
59 | 77 | First-order solvers for LP are still very much in their infancy, and |
60 | 78 | are not robust. Hence the availability of a PDLP solver for LP is |
|
0 commit comments