Class DSFM_M_Refine¶
Defined in File LegacyRefine.h
Inheritance Relationships¶
Base Types¶
public Refine(Class Refine)public IRefineStrategy(Class IRefineStrategy)
Class Documentation¶
-
class DSFM_M_Refine : public Refine, public IRefineStrategy¶
DSFM-M 多分区桶变体:使用按分区独立的收益桶,通过源-目标联合调度避免局部最优。
Public Functions
-
inline DSFM_M_Refine(int max_hop, int large_net_threshold, double penalty, vector<vector<int>> &cut_weights, const fpga &fpgas, const TimingRefineConfig &timing_cfg, int max_move, int max_neg_move)¶
-
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<bool> &visited_vertices_flag, vector<NetPartition> &partition)¶
-
Gain pickMove_DSFM(PerPartBucketSet &buckets, const graph &finest, const vector<VectorXi> &occupied_resources, vector<vector<Gain>> &violating)¶
-
void acceptMove_DSFM(const Gain &gain_cell, PerPartBucketSet &buckets, vector<Gain> &moves_trace, double &total_delta_gain, vector<bool> &visited_vertices_flag, const graph &finest, vector<int> &parts, vector<VectorXi> &occupied_resources, vector<NetPartition> &partition, vector<vector<Gain>> &violating)¶
-
inline DSFM_M_Refine(int max_hop, int large_net_threshold, double penalty, vector<vector<int>> &cut_weights, const fpga &fpgas, const TimingRefineConfig &timing_cfg, int max_move, int max_neg_move)¶