Class GreedyRefine

Inheritance Relationships

Base Types

Class Documentation

class GreedyRefine : public Refine, public IRefineStrategy

Greedy 贪心细化策略:快速收敛但可能陷入局部最优。

Public Functions

inline GreedyRefine(int max_hop, int large_net_threshold, double penalty, vector<vector<int>> &cut_weights, const fpga &fpgas, const TimingRefineConfig &timing_cfg, bool has_fix)
virtual const char *name() const override
virtual double run(RefinePassContext &context) override

执行一次完整的单趟细化遍历,返回累计收益。

double refinement(const graph &finest, vector<int> &parts, vector<VectorXi> &occupied_resources, vector<NetPartition> &partition)

Private Functions

bool checkBalanceHyper(const vector<VectorXi> &occupied_resources, const graph &finest, const int &edge, vector<int> &parts, int to)

Private Members

bool has_fix

是否存在固定归属约束。