|
CkPttn 1.2.4
|
Mid-Level K-Way Partition Manager. More...
#include <MidLvlKWayPartMgr.hpp>
Public Member Functions | |
| MidLvlKWayPartMgr (double bal_tol, std::uint8_t num_parts) | |
| Constructs a new MidLvlKWayPartMgr object. | |
| void | optimize (std::span< std::uint8_t > part, const SimpleNetlist &hyprgraph) |
| Optimizes the partition using exhaustive mid-level k-way search. | |
Public Attributes | |
| int | total_cost {} |
| Total cost of the current partitioning solution. | |
Mid-Level K-Way Partition Manager.
The MidLvlKWayPartMgr class performs mid-level exhaustive partitioning for small hypergraphs with arbitrary number of partitions (k-way). It iterates over partition pairs and uses the middle-levels Gray code algorithm to find optimal partitioning for small instances.
| MidLvlKWayPartMgr::MidLvlKWayPartMgr | ( | double | bal_tol, |
| std::uint8_t | num_parts | ||
| ) |
Constructs a new MidLvlKWayPartMgr object.
| [in] | bal_tol | The balance tolerance for the partitioning |
| [in] | num_parts | The number of partitions to create |
| void MidLvlKWayPartMgr::optimize | ( | std::span< std::uint8_t > | part, |
| const SimpleNetlist & | hyprgraph | ||
| ) |
Optimizes the partition using exhaustive mid-level k-way search.
| [in,out] | part | The partition vector to optimize |
| [in] | hyprgraph | The hypergraph to partition |
| int MidLvlKWayPartMgr::total_cost {} |
Total cost of the current partitioning solution.