CkPttn 1.2.4
Loading...
Searching...
No Matches
MLMidLvlKWayPartMgr.hpp
Go to the documentation of this file.
1
6#pragma once
7
8#include <cstdint>
9#include <netlistx/netlist.hpp>
10#include <span>
11
22 public:
25
32 MLMidLvlKWayPartMgr(double bal_tol, std::uint8_t num_parts);
33
39 void set_limitsize(size_t limit) { this->limitsize_ = limit; }
40
47 void optimize(std::span<std::uint8_t> part, const SimpleNetlist& hyprgraph);
48
49 private:
51 double bal_tol_;
53 std::uint8_t num_parts_;
55 size_t limitsize_{50U};
57 static constexpr size_t base_exhaustive{25U};
58};
Multi-Level Mid-Level K-Way Partition Manager.
Definition MLMidLvlKWayPartMgr.hpp:21
void set_limitsize(size_t limit)
Sets the size limit for multi-level coarsening.
Definition MLMidLvlKWayPartMgr.hpp:39
MLMidLvlKWayPartMgr(double bal_tol, std::uint8_t num_parts)
Constructs a new MLMidLvlKWayPartMgr object.
int total_cost
Total cost of the current partitioning solution.
Definition MLMidLvlKWayPartMgr.hpp:24
void optimize(std::span< std::uint8_t > part, const SimpleNetlist &hyprgraph)
Optimizes the partition using multi-level mid-level k-way algorithm.
Netlist data structure.
Definition netlist.hpp:31