|
6 | 6 | #include <random> |
7 | 7 | #include <stack> |
8 | 8 |
|
9 | | -#include "amd/amd.h" |
10 | 9 | #include "DataCollector.h" |
11 | 10 | #include "FactorHiGHSSettings.h" |
12 | | -#include "metis/metis.h" |
13 | 11 | #include "ReturnValues.h" |
| 12 | +#include "amd/amd.h" |
14 | 13 | #include "ipm/hipo/auxiliary/Auxiliary.h" |
15 | 14 | #include "ipm/hipo/auxiliary/Log.h" |
| 15 | +#include "metis/metis.h" |
16 | 16 | #include "rcm/rcm.h" |
17 | 17 |
|
18 | 18 | namespace hipo { |
@@ -61,7 +61,7 @@ Analyse::Analyse(const std::vector<Int>& rows, const std::vector<Int>& ptr, |
61 | 61 | ready_ = true; |
62 | 62 | } |
63 | 63 |
|
64 | | -Int Analyse::getPermutation(bool metis_no2hop) { |
| 64 | +Int Analyse::getPermutation() { |
65 | 65 | // Compute fill-reducing reodering using metis, amd or rcm. |
66 | 66 |
|
67 | 67 | perm_.resize(n_); |
@@ -130,8 +130,8 @@ Int Analyse::getPermutation(bool metis_no2hop) { |
130 | 130 | if (log_->debug(2)) |
131 | 131 | options[METIS_OPTION_DBGLVL] = METIS_DBG_INFO | METIS_DBG_COARSEN; |
132 | 132 |
|
133 | | - // set no2hop=1 if the user requested it |
134 | | - if (metis_no2hop) options[METIS_OPTION_NO2HOP] = 1; |
| 133 | + // no2hop improves the quality of ordering in general |
| 134 | + options[METIS_OPTION_NO2HOP] = 1; |
135 | 135 |
|
136 | 136 | if (log_) log_->printDevInfo("Running Metis\n"); |
137 | 137 |
|
@@ -1302,7 +1302,7 @@ Int Analyse::run(Symbolic& S) { |
1302 | 1302 | #if HIPO_TIMING_LEVEL >= 2 |
1303 | 1303 | Clock clock_items; |
1304 | 1304 | #endif |
1305 | | - if (getPermutation(S.metisNo2hop())) return kRetOrderingError; |
| 1305 | + if (getPermutation()) return kRetOrderingError; |
1306 | 1306 | #if HIPO_TIMING_LEVEL >= 2 |
1307 | 1307 | data_.sumTime(kTimeAnalyseOrdering, clock_items.stop()); |
1308 | 1308 | #endif |
|
0 commit comments