|
hp2FEM
0.1
|
Functions that deal with eliminating disconnected partitions. More...
#include "metislib.h"
Functions | |
| idx_t | FindPartitionInducedComponents (graph_t *graph, idx_t *where, idx_t *cptr, idx_t *cind) |
| void | ComputeBFSOrdering (ctrl_t *ctrl, graph_t *graph, idx_t *bfsperm) |
| idx_t | IsConnected (graph_t *graph, idx_t report) |
| idx_t | IsConnectedSubdomain (ctrl_t *ctrl, graph_t *graph, idx_t pid, idx_t report) |
| idx_t | FindSepInducedComponents (ctrl_t *ctrl, graph_t *graph, idx_t *cptr, idx_t *cind) |
| void | EliminateComponents (ctrl_t *ctrl, graph_t *graph) |
| void | MoveGroupContigForCut (ctrl_t *ctrl, graph_t *graph, idx_t to, idx_t gid, idx_t *ptr, idx_t *ind) |
| void | MoveGroupContigForVol (ctrl_t *ctrl, graph_t *graph, idx_t to, idx_t gid, idx_t *ptr, idx_t *ind, idx_t *vmarker, idx_t *pmarker, idx_t *modind) |
Functions that deal with eliminating disconnected partitions.
| void ComputeBFSOrdering | ( | ctrl_t * | ctrl, |
| graph_t * | graph, | ||
| idx_t * | bfsperm | ||
| ) |
This function computes a permutation of the vertices based on a breadth-first-traversal. It can be used for re-ordering the graph to reduce its bandwidth for better cache locality.
| ctrl | is the control structure |
| graph | is the graph structure |
| perm | is the array that upon completion, perm[i] will store the ID of the vertex that corresponds to the ith vertex in the re-ordered graph. |
| void EliminateComponents | ( | ctrl_t * | ctrl, |
| graph_t * | graph | ||
| ) |
This function finds all the connected components induced by the partitioning vector in graph->where and tries to push them around to remove some of them.
| idx_t FindPartitionInducedComponents | ( | graph_t * | graph, |
| idx_t * | where, | ||
| idx_t * | cptr, | ||
| idx_t * | cind | ||
| ) |
This function finds the connected components induced by the partitioning vector.
| graph | is the graph structure |
| where | is the partitioning vector. If this is NULL, then the entire graph is treated to belong into a single partition. |
| cptr | is the ptr structure of the CSR representation of the components. The length of this vector must be graph->nvtxs+1. |
| cind | is the indices structure of the CSR representation of the components. The length of this vector must be graph->nvtxs. |
| idx_t FindSepInducedComponents | ( | ctrl_t * | ctrl, |
| graph_t * | graph, | ||
| idx_t * | cptr, | ||
| idx_t * | cind | ||
| ) |
This function identifies the number of connected components in a graph that result after removing the vertices that belong to the vertex separator (i.e., graph->where[i] == 2). The connected component memberships are returned in the CSR-style pair of arrays cptr, cind.
| idx_t IsConnected | ( | graph_t * | graph, |
| idx_t | report | ||
| ) |
This function checks whether a graph is contiguous or not.
| idx_t IsConnectedSubdomain | ( | ctrl_t * | ctrl, |
| graph_t * | graph, | ||
| idx_t | pid, | ||
| idx_t | report | ||
| ) |
This function checks whether or not partition pid is contigous
| void MoveGroupContigForCut | ( | ctrl_t * | ctrl, |
| graph_t * | graph, | ||
| idx_t | to, | ||
| idx_t | gid, | ||
| idx_t * | ptr, | ||
| idx_t * | ind | ||
| ) |
This function moves a collection of vertices and updates their rinfo
| void MoveGroupContigForVol | ( | ctrl_t * | ctrl, |
| graph_t * | graph, | ||
| idx_t | to, | ||
| idx_t | gid, | ||
| idx_t * | ptr, | ||
| idx_t * | ind, | ||
| idx_t * | vmarker, | ||
| idx_t * | pmarker, | ||
| idx_t * | modind | ||
| ) |
This function moves a collection of vertices and updates their rinfo
1.7.6.1