mt-Metis
partition.h
Go to the documentation of this file.
1 
13 #ifndef MTMETIS_PARTITION_H
14 #define MTMETIS_PARTITION_H
15 
16 
17 
18 
19 #include "base.h"
20 #include "ctrl.h"
21 #include "graph.h"
22 
23 
24 
25 
26 /******************************************************************************
27 * SERIAL FUNCTION PROTOTYPES **************************************************
28 ******************************************************************************/
29 
30 
31 #define partition_vertexseparator MTMETIS_partition_vertexseparator
32 
41  ctrl_type * ctrl,
42  graph_type * graph,
43  pid_type ** where);
44 
45 
46 #define partition_print_info MTMETIS_print_info
47 
55  ctrl_type const * ctrl,
56  graph_type const * graph,
57  pid_type const * const * where);
58 
59 
60 
61 
62 /******************************************************************************
63 * PARALLEL FUNCTION PROTOTYPES ************************************************
64 ******************************************************************************/
65 
66 
67 #define par_partition_kway MTMETIS_par_partition_kway
68 
77  ctrl_type * ctrl,
78  graph_type * graph,
79  pid_type ** where);
80 
81 
82 #define par_partition_rb MTMETIS_par_partition_rb
83 
91 void par_partition_rb(
92  ctrl_type * ctrl,
93  graph_type * graph,
94  pid_type ** where);
95 
96 
97 #define par_partition_edgeseparator MTMETIS_par_partition_edgeseparator
98 
107  ctrl_type * ctrl,
108  graph_type * graph,
109  pid_type ** where);
110 
111 
112 #define par_partition_vertexseparator MTMETIS_par_partition_vertexseparator
113 
122  ctrl_type * ctrl,
123  graph_type * graph,
124  pid_type ** where);
125 
126 
127 #define par_partition_pre MTMETIS_par_partition_pre
128 
134 void par_partition_pre(
135  ctrl_type * ctrl,
136  graph_type * graph);
137 
138 
139 
140 
141 #endif
Type and function prototypes for the ctrl structure.
Definition: graph.h:38
Definition: ctrl.h:48
void par_partition_pre(ctrl_type *ctrl, graph_type *graph)
Pre-partition a graph, for redistribution among threads.
Definition: partition.c:829
void par_partition_rb(ctrl_type *ctrl, graph_type *graph, pid_type **where)
Entry level function for multithreaded kway partitioning. Should be called by all threads in a parall...
Definition: partition.c:745
void par_partition_edgeseparator(ctrl_type *ctrl, graph_type *graph, pid_type **where)
Create a edge separator where partitions 0 and 1 are the two halves and 2 is the separator.
Definition: partition.c:799
Types and functions for distributed graph objects.
Base types etc.
void par_partition_kway(ctrl_type *ctrl, graph_type *graph, pid_type **where)
Entry level function for multithreaded kway partitioning. Should be called by all threads in a parall...
Definition: partition.c:714
void par_partition_vertexseparator(ctrl_type *ctrl, graph_type *graph, pid_type **where)
Create a vertex separator where partitions 0 and 1 are the two halves and 2 is the separator...
Definition: partition.c:776
void partition_print_info(ctrl_type const *ctrl, graph_type const *graph, pid_type const *const *where)
Print information about a partition.
Definition: partition.c:569
void partition_vertexseparator(ctrl_type *ctrl, graph_type *graph, pid_type **where)
Find a small vertex separator. Partitions 0 and 1 are the two halves, and partition 2 is the separato...