mt-Metis
Macros | Functions
partition.h File Reference

Partitioning function prototypes. More...

#include "base.h"
#include "ctrl.h"
#include "graph.h"

Go to the source code of this file.

Macros

#define partition_vertexseparator   MTMETIS_partition_vertexseparator
 
#define partition_print_info   MTMETIS_print_info
 
#define par_partition_kway   MTMETIS_par_partition_kway
 
#define par_partition_rb   MTMETIS_par_partition_rb
 
#define par_partition_edgeseparator   MTMETIS_par_partition_edgeseparator
 
#define par_partition_vertexseparator   MTMETIS_par_partition_vertexseparator
 
#define par_partition_pre   MTMETIS_par_partition_pre
 

Functions

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 separator. More...
 
void partition_print_info (ctrl_type const *ctrl, graph_type const *graph, pid_type const *const *where)
 Print information about a partition. More...
 
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 parallel region. More...
 
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 parallel region. More...
 
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. More...
 
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. More...
 
void par_partition_pre (ctrl_type *ctrl, graph_type *graph)
 Pre-partition a graph, for redistribution among threads. More...
 

Detailed Description

Partitioning function prototypes.

Author
Dominique LaSalle lasal.nosp@m.le@c.nosp@m.s.umn.nosp@m..edu Copyright 2014, Regents of the University of Minnesota
Version
1
Date
2014-09-17

Function Documentation

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.

Parameters
ctrlThe control structure to use.
graphThe graph to partition.
whereThe partition ids.
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 parallel region.

Parameters
ctrlThe control structure.
graphThe graph to partition.
whereThe allocated where vector.
void par_partition_pre ( ctrl_type ctrl,
graph_type graph 
)

Pre-partition a graph, for redistribution among threads.

Parameters
ctrlThe ctrl structure with appropriate runtime parameters.
graphThe graph to pre-partition.
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 parallel region.

Parameters
ctrlThe control structure.
graphThe graph to partition.
whereThe allocated where vector.
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.

Parameters
ctrlThe control structure to use.
graphThe graph to partition.
whereThe partition ids.
void partition_print_info ( ctrl_type const *  ctrl,
graph_type const *  graph,
pid_type const *const *  where 
)

Print information about a partition.

Parameters
ctrlThe control structure.
graphThe graph structure.
whereThe where vector.
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 separator.

Parameters
ctrlThe control structure specifying runtime parameters.
graphThe graph to find the separator in.
whereThe partition ID of each vertex (output).