Function separateGraph

Function Documentation

void separateGraph(const graph &finest, const fpga &fpgas, const vector<int> &parts, vector<graph> &sub_graphs, vector<flat_hash_map<int, int>> &id2node)

将超图按分区结果拆分为多个子图。

遍历所有节点和超边,将属于同一分区的节点/超边归入对应的子图, 并重建每个子图的 incident_nets 索引。

Parameters:
  • finest[in] 原始最细层超图。

  • fpgas[in] FPGA 资源描述(用于确定分区数量)。

  • parts[in] 每个节点的分区编号,长度等于 finest.nodes.size()。

  • sub_graphs[out] 拆分后的子图列表,长度等于 fpgas.resources.size()。

  • id2node[out] 子图节点 ID 到原图节点 ID 的映射。