PPL Logo

libs/ck-libs/metis/libmetis/minconn.c File Reference

Functions that deal with prunning the number of adjacent subdomains in kmetis. More...

Go to the source code of this file.

Functions

void ComputeSubDomainGraph (ctrl_t *ctrl, graph_t *graph)
void UpdateEdgeSubDomainGraph (ctrl_t *ctrl, idx_t u, idx_t v, idx_t ewgt, idx_t *r_maxndoms)
void EliminateSubDomainEdges (ctrl_t *ctrl, graph_t *graph)
void MoveGroupMinConnForCut (ctrl_t *ctrl, graph_t *graph, idx_t to, idx_t nind, idx_t *ind)
void MoveGroupMinConnForVol (ctrl_t *ctrl, graph_t *graph, idx_t to, idx_t nind, idx_t *ind, idx_t *vmarker, idx_t *pmarker, idx_t *modind)
void PrintSubDomainGraph (graph_t *graph, idx_t nparts, idx_t *where)


Detailed Description

Functions that deal with prunning the number of adjacent subdomains in kmetis.

Date:
Started 7/15/98
Author:
George

Copyright 1997-2009, Regents of the University of Minnesota

Version:
Id
minconn.c 10513 2011-07-07 22:06:03Z karypis

Definition in file minconn.c.


Function Documentation

void ComputeSubDomainGraph ( ctrl_t ctrl,
graph_t graph 
)

void UpdateEdgeSubDomainGraph ( ctrl_t ctrl,
idx_t  u,
idx_t  v,
idx_t  ewgt,
idx_t r_maxndoms 
)

This function updates the weight of an edge in the subdomain graph by adding to it the value of ewgt. The update can either increase or decrease the weight of the subdomain edge based on the value of ewgt.

Parameters:
u is the ID of one of the incident subdomains to the edge
v is the ID of the other incident subdomains to the edge
ewgt is the weight to be added to the subdomain edge
nparts is the number of subdomains
r_maxndoms is the maximum number of adjacent subdomains and is updated as necessary. The update is skipped if a NULL value is supplied.

Definition at line 134 of file minconn.c.

References ctrl_t::adids, ctrl_t::adwgts, ctrl_t::maxnads, ctrl_t::nads, and ctrl_t::nparts.

Referenced by Greedy_KWayCutOptimize(), Greedy_KWayVolOptimize(), Greedy_McKWayCutOptimize(), Greedy_McKWayVolOptimize(), MoveGroupMinConnForCut(), and MoveGroupMinConnForVol().

Here is the caller graph for this function:

void EliminateSubDomainEdges ( ctrl_t ctrl,
graph_t graph 
)

void MoveGroupMinConnForCut ( ctrl_t ctrl,
graph_t graph,
idx_t  to,
idx_t  nind,
idx_t ind 
)

This function moves a collection of vertices and updates their rinfo

Definition at line 477 of file minconn.c.

References graph_t::adjncy, adjncy, graph_t::adjwgt, adjwgt, graph_t::bndind, graph_t::bndptr, graph_t::ckrinfo, ctrl_t::cnbrpool, cnbrpoolGetNext(), ComputeCut(), cnbr_t::ed, ckrinfo_t::id, ckrinfo_t::inbr, PUP::l, graph_t::mincut, graph_t::nbnd, graph_t::ncon, ckrinfo_t::nnbrs, graph_t::nvtxs, cnbr_t::pid, graph_t::pwgts, UpdateEdgeSubDomainGraph(), graph_t::vwgt, graph_t::where, where, graph_t::xadj, and xadj.

Referenced by EliminateSubDomainEdges().

Here is the call graph for this function:

Here is the caller graph for this function:

void MoveGroupMinConnForVol ( ctrl_t ctrl,
graph_t graph,
idx_t  to,
idx_t  nind,
idx_t ind,
idx_t vmarker,
idx_t pmarker,
idx_t modind 
)

This function moves a collection of vertices and updates their rinfo

Definition at line 561 of file minconn.c.

References graph_t::adjncy, adjncy, ComputeCut(), ComputeVolume(), vnbr_t::gv, vkrinfo_t::inbr, KWayVolUpdate(), PUP::l, graph_t::mincut, graph_t::minvol, graph_t::ncon, vnbr_t::ned, vkrinfo_t::ned, vkrinfo_t::nid, vkrinfo_t::nnbrs, graph_t::nvtxs, graph_t::pwgts, UpdateEdgeSubDomainGraph(), graph_t::vkrinfo, ctrl_t::vnbrpool, vnbrpoolGetNext(), graph_t::vsize, vsize, graph_t::vwgt, graph_t::where, where, graph_t::xadj, and xadj.

Referenced by EliminateSubDomainEdges().

Here is the call graph for this function:

Here is the caller graph for this function:

void PrintSubDomainGraph ( graph_t graph,
idx_t  nparts,
idx_t where 
)

This function computes the subdomain graph. For deubuging purposes.

Definition at line 683 of file minconn.c.

References graph_t::adjncy, adjncy, graph_t::adjwgt, adjwgt, gk_free(), max(), graph_t::nvtxs, graph_t::xadj, and xadj.

Here is the call graph for this function:


Generated on Mon Sep 21 08:09:34 2020 for Charm++ by  doxygen 1.5.5