mt-Metis
Macros | Functions
partition.c File Reference

Partitioning functions. More...

#include "partition.h"
#include "coarsen.h"
#include "initpart.h"
#include "uncoarsen.h"
#include "refine.h"
#include "check.h"
#include "imetis.h"

Functions

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 *const ctrl, graph_type *const graph, pid_type **const 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 *const ctrl, graph_type *const graph, pid_type **const where)
 Entry level function for multithreaded kway partitioning. Should be called by all threads in a parallel region. More...
 
void par_partition_vertexseparator (ctrl_type *const ctrl, graph_type *const graph, pid_type **const where)
 Create a vertex separator where partitions 0 and 1 are the two halves and 2 is the separator. More...
 
void par_partition_edgeseparator (ctrl_type *const ctrl, graph_type *const graph, pid_type **const where)
 Create a edge separator where partitions 0 and 1 are the two halves and 2 is the separator. More...
 
void par_partition_pre (ctrl_type *const ctrl, graph_type *const graph)
 Pre-partition a graph, for redistribution among threads. More...
 

Detailed Description

Partitioning functions.

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
2013-05-20

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.