Multi-Level Mid-Level K-Way Partition Manager.
More...
#include <MLMidLvlKWayPartMgr.hpp>
|
| int | total_cost {} |
| | Total cost of the current partitioning solution.
|
| |
Multi-Level Mid-Level K-Way Partition Manager.
The MLMidLvlKWayPartMgr class combines multi-level partitioning with mid-level (exhaustive) refinement for k-way partitioning. For small hypergraphs it uses the exhaustive mid-level k-way search directly; for larger instances it applies multi-level coarsening followed by FM-based refinement on the coarsened graph.
◆ MLMidLvlKWayPartMgr()
| MLMidLvlKWayPartMgr::MLMidLvlKWayPartMgr |
( |
double |
bal_tol, |
|
|
std::uint8_t |
num_parts |
|
) |
| |
Constructs a new MLMidLvlKWayPartMgr object.
- Parameters
-
| [in] | bal_tol | The balance tolerance for the partitioning |
| [in] | num_parts | The number of partitions to create |
◆ optimize()
| void MLMidLvlKWayPartMgr::optimize |
( |
std::span< std::uint8_t > |
part, |
|
|
const SimpleNetlist & |
hyprgraph |
|
) |
| |
Optimizes the partition using multi-level mid-level k-way algorithm.
- Parameters
-
| [in,out] | part | The partition vector to optimize |
| [in] | hyprgraph | The hypergraph to partition |
◆ set_limitsize()
| void MLMidLvlKWayPartMgr::set_limitsize |
( |
size_t |
limit | ) |
|
|
inline |
Sets the size limit for multi-level coarsening.
- Parameters
-
| [in] | limit | The minimum module count to trigger coarsening |
◆ total_cost
| int MLMidLvlKWayPartMgr::total_cost {} |
Total cost of the current partitioning solution.
The documentation for this class was generated from the following file: