Function partitionHierarchyGraph¶
Defined in File partition.h
Function Documentation¶
-
int partitionHierarchyGraph(graph &finest, const hierarchy &hierarchy_root, const PartitionParams ¶, int thread, vector<vector<int>> &node_paths, HSFullTiming::HSPartitionFlow &pFlow, vector<HierarchyPartitionCutRecord> *cut_records = nullptr, graph *dedup_root_graph = nullptr)¶
递归执行层次化图分割入口函数。
按照 hierarchy_root 定义的层次结构(Rack → Cluster → Board → FPGA), 自顶向下逐层调用 partition() 进行超图分割,每层分割后将子图传递给下一层。 最终每个 graph node 被分配到一个叶子 FPGA,路径记录在 node_paths 中。
- Parameters:
finest – [in] 最细层超图。
hierarchy_root – [in] 层次结构根节点,各级 fpgas.resources 定义分割目标数。
para – [in] 分区流程配置。
thread – [in] 线程预算。
node_paths – [out] 每个 graph node 的层次路径,如 [rack, cluster, board, fpga]。
pFlow – [in] 时序分析上下文。
cut_records – [out] 可选,记录每层分割的 cut 指标和 cut_weights 矩阵。
dedup_root_graph – [out] 可选,返回根层去重后的超图,节点编号保持不变。
- Returns:
成功返回 1,失败返回 -1。