MCPcopy Create free account
hub / github.com/KaHIP/KaHIP / compute_separator

Method compute_separator

lib/node_ordering/nested_dissection.cpp:74–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72}
73
74void nested_dissection::compute_separator(PartitionConfig &config, graph_access &G) {
75 // set up the graph and config for computing a node separator
76 config.k = 2;
77 G.set_partition_count(config.k + 1);
78 config.mode_node_separators = true;
79 config.graph_allready_partitioned = false;
80 balance_configuration bc;
81 bc.configurate_balance(config, G);
82
83 // compute the separator
84 area_bfs::m_deepth.resize(G.number_of_nodes(), 0);
85 forall_nodes(G, node) {
86 area_bfs::m_deepth[node] = 0;
87 } endfor
88
89 graph_partitioner partitioner;
90 partitioner.perform_partitioning(config, G);
91}
92
93void nested_dissection::recurse_dissection(PartitionConfig &config, graph_access &G, PartitionID block, NodeID &order_begin) {
94 std::vector<NodeID> mapping;

Callers

nothing calls this directly

Calls 4

configurate_balanceMethod · 0.80
set_partition_countMethod · 0.45
number_of_nodesMethod · 0.45
perform_partitioningMethod · 0.45

Tested by

no test coverage detected