CkPttn 1.2.4
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
MLMidLvlKWayPartMgr Class Reference

Multi-Level Mid-Level K-Way Partition Manager. More...

#include <MLMidLvlKWayPartMgr.hpp>

Public Member Functions

 MLMidLvlKWayPartMgr (double bal_tol, std::uint8_t num_parts)
 Constructs a new MLMidLvlKWayPartMgr object.
 
void set_limitsize (size_t limit)
 Sets the size limit for multi-level coarsening.
 
void optimize (std::span< std::uint8_t > part, const SimpleNetlist &hyprgraph)
 Optimizes the partition using multi-level mid-level k-way algorithm.
 

Public Attributes

int total_cost {}
 Total cost of the current partitioning solution.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ MLMidLvlKWayPartMgr()

MLMidLvlKWayPartMgr::MLMidLvlKWayPartMgr ( double  bal_tol,
std::uint8_t  num_parts 
)

Constructs a new MLMidLvlKWayPartMgr object.

Parameters
[in]bal_tolThe balance tolerance for the partitioning
[in]num_partsThe number of partitions to create

Member Function Documentation

◆ 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]partThe partition vector to optimize
[in]hyprgraphThe hypergraph to partition

◆ set_limitsize()

void MLMidLvlKWayPartMgr::set_limitsize ( size_t  limit)
inline

Sets the size limit for multi-level coarsening.

Parameters
[in]limitThe minimum module count to trigger coarsening

Member Data Documentation

◆ total_cost

int MLMidLvlKWayPartMgr::total_cost {}

Total cost of the current partitioning solution.


The documentation for this class was generated from the following file: