mt-Metis
imetis.h
Go to the documentation of this file.
1 
13 #ifndef MTMETIS_IMETIS_H
14 #define MTMETIS_IMETIS_H
15 
16 
17 
18 #include "ctrl.h"
19 #include "graph.h"
20 
21 
22 
23 
24 /******************************************************************************
25 * FUNCTION PROTOTYPES *********************************************************
26 ******************************************************************************/
27 
28 
46 wgt_type metis_initcut(
47  ctrl_type * const ctrl,
48  pid_type const nparts,
49  real_type * tpwgts,
50  size_t const ncuts,
51  int const rb,
52  vtx_type nvtxs,
53  adj_type * const xadj,
54  vtx_type * const adjncy,
55  wgt_type * const vwgt,
56  wgt_type * const adjwgt,
57  pid_type * const where);
58 
59 
74 wgt_type metis_initsep(
75  ctrl_type * ctrl,
76  size_t nseps,
77  vtx_type nvtxs,
78  adj_type * xadj,
79  vtx_type * adjncy,
80  wgt_type * vwgt,
81  wgt_type * adjwgt,
82  pid_type * where);
83 
84 
96 wgt_type metis_kway(
97  ctrl_type * ctrl,
98  graph_type * graph,
99  pid_type * const * where,
100  int rb);
101 
102 
112 wgt_type metis_esep(
113  ctrl_type * ctrl,
114  graph_type * graph,
115  pid_type * const * where);
116 
117 
127 wgt_type metis_vsep(
128  ctrl_type * ctrl,
129  graph_type * graph,
130  pid_type * const * where);
131 
132 
141 void metis_nd(
142  ctrl_type * ctrl,
143  graph_type * graph,
144  pid_type * const * perm);
145 
146 
147 
148 
149 #endif
Type and function prototypes for the ctrl structure.
Definition: graph.h:38
Definition: ctrl.h:48
wgt_type metis_esep(ctrl_type *ctrl, graph_type *graph, pid_type *const *where)
Serially generate a 2-way edge separator using metis.
Definition: imetis.c:322
wgt_type metis_kway(ctrl_type *ctrl, graph_type *graph, pid_type *const *where, int rb)
Serially generate a k-way partition using metis (direct k-way parittioning).
Definition: imetis.c:264
wgt_type metis_initsep(ctrl_type *ctrl, size_t nseps, vtx_type nvtxs, adj_type *xadj, vtx_type *adjncy, wgt_type *vwgt, wgt_type *adjwgt, pid_type *where)
Generate an initial vertex separator using metis.
Definition: imetis.c:223
void metis_nd(ctrl_type *ctrl, graph_type *graph, pid_type *const *perm)
Generate a nested dissection, spawning parallel tasks if called by multiple threads.
Definition: imetis.c:451
wgt_type metis_initcut(ctrl_type *const ctrl, pid_type const nparts, real_type *tpwgts, size_t const ncuts, int const rb, vtx_type nvtxs, adj_type *const xadj, vtx_type *const adjncy, wgt_type *const vwgt, wgt_type *const adjwgt, pid_type *const where)
Generate an initial partitioning.
Definition: imetis.c:146
Types and functions for distributed graph objects.
wgt_type metis_vsep(ctrl_type *ctrl, graph_type *graph, pid_type *const *where)
Serially generate a 2-way vertex separator using metis.
Definition: imetis.c:389