Class GainEvaluatorCore

Class Documentation

class GainEvaluatorCore

增益评估器核心:评估将节点 v 从分区 from 移到分区 to 的综合收益。

Public Static Functions

static void buildCutMatrices(const GainEvaluatorContext &ctx, int v, int from, int to, const vector<NetPartition> &partition, const graph &hgraph, const vector<int> &parts, CutMatrixResultCore &result)

构建节点移动前后的割边矩阵差异,写入 result。

static bool computeGainComponents(const GainEvaluatorContext &ctx, int v, int from, int to, const vector<NetPartition> &partition, const graph &hgraph, const vector<int> &parts, GainComponents &out)

计算增益的公共分量(割边 + 拓扑 + IO)。

Returns:

false 表示拓扑违规(topo_gain < 0),调用方应将收益设为 -inf。

static Gain evaluate(const GainEvaluatorContext &ctx, int v, int from, int to, const vector<NetPartition> &partition, const graph &hgraph, vector<int> &parts)

基础增益评估(非并行),计算节点移动的综合收益。

static Gain evaluateParallel(const GainEvaluatorContext &ctx, int v, int from, int to, const vector<NetPartition> &partition, const graph &hgraph, vector<int> &parts, HSFullTiming::HSTimingDelta *delta)

并行增量增益评估,搭配 HSTimingDelta 计算时序路径增量。