Multilevel Partition Manager.
More...
#include <MLPartMgr.hpp>
|
| | MLPartMgr (double bal_tol) |
| | Constructs a new MLPartMgr object with the given balance tolerance and a default number of partitions (2).
|
| |
| | MLPartMgr (double bal_tol, std::uint8_t num_parts) |
| | Constructs a new MLPartMgr object with the given balance tolerance and number of partitions.
|
| |
| void | set_limitsize (size_t limit) |
| | Sets the limit size for the partitioning.
|
| |
| template<typename Gnl , typename PartMgr > |
| auto | run_Partition (const Gnl &hyprgraph, std::span< std::uint8_t > part) -> LegalCheck |
| | Runs the Fiduccia-Mattheyses (FM) partitioning algorithm on the given hypergraph.
|
| |
|
| int | total_cost {} |
| | Total cost of the current partitioning solution.
|
| |
Multilevel Partition Manager.
◆ MLPartMgr() [1/2]
| MLPartMgr::MLPartMgr |
( |
double |
bal_tol | ) |
|
|
inlineexplicit |
Constructs a new MLPartMgr object with the given balance tolerance and a default number of partitions (2).
- Parameters
-
| [in] | bal_tol | The balance tolerance for the partitioning. |
◆ MLPartMgr() [2/2]
| MLPartMgr::MLPartMgr |
( |
double |
bal_tol, |
|
|
std::uint8_t |
num_parts |
|
) |
| |
|
inline |
Constructs a new MLPartMgr object with the given balance tolerance and number of partitions.
- Parameters
-
| [in] | bal_tol | The balance tolerance for the partitioning. |
| [in] | num_parts | The number of partitions to create. |
◆ run_Partition()
template<typename Gnl , typename PartMgr >
| auto MLPartMgr::run_Partition |
( |
const Gnl & |
hyprgraph, |
|
|
std::span< std::uint8_t > |
part |
|
) |
| -> LegalCheck |
Runs the Fiduccia-Mattheyses (FM) partitioning algorithm on the given hypergraph.
- Template Parameters
-
| Gnl | The type of the hypergraph. |
| PartMgr | The type of the partition manager. |
- Parameters
-
| [in] | hyprgraph | The input hypergraph to partition. |
| [in,out] | part | The partition vector to store the partitioning results. |
- Returns
- LegalCheck The legality check result of the partitioning.
◆ set_limitsize()
| void MLPartMgr::set_limitsize |
( |
size_t |
limit | ) |
|
|
inline |
Sets the limit size for the partitioning.
- Parameters
-
| [in] | limit | The new limit size for the partitioning. |
◆ total_cost
| int MLPartMgr::total_cost {} |
Total cost of the current partitioning solution.
The documentation for this class was generated from the following file: