OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
Parmetis_graph Struct Reference

Metis graph structure. More...

Detailed Description

Metis graph structure.

Metis graph structure

Definition at line 25 of file parmetis_util.hpp.

#include <parmetis_util.hpp>

Data Fields

idx_t * nvtxs
 The number of vertices in the graph.
 
idx_t * ncon
 
idx_t * xadj
 For each vertex it store the adjacency lost start for the vertex i.
 
idx_t * adjncy
 For each vertex it store a list of all neighborhood vertex.
 
idx_t * vwgt
 Array that store the weight for each vertex.
 
idx_t * vsize
 Array of the vertex size, basically is the total communication amount.
 
idx_t * adjwgt
 The weight of the edge.
 
idx_t * nparts
 number of part to partition the graph
 
real_t * tpwgts
 Desired weight for each partition (one for each constrain)
 
real_t * ubvec
 For each partition load imbalance tollerated.
 
idx_t * options
 Additional option for the graph partitioning.
 
idx_t * objval
 return the total comunication cost for each partition
 
idx_t * part
 Is a output vector containing the partition for each vertex.
 
idx_t * edgecut
 Upon successful completion, the number of edges that are cut by the partitioning is written to this parameter.
 
real_t * itr
 This parameter describes the ratio of inter-processor communication time compared to data redistri- bution time. It should be set between 0.000001 and 1000000.0. If ITR is set high, a repartitioning with a low edge-cut will be computed. If it is set low, a repartitioning that requires little data redistri- bution will be computed. Good values for this parameter can be obtained by dividing inter-processor communication time by data redistribution time. Otherwise, a value of 1000.0 is recommended.
 
idx_t * numflag
 This is used to indicate the numbering scheme that is used for the vtxdist, xadj, adjncy, and part arrays. (0 for C-style, start from 0 index)
 
idx_t * wgtflag
 This is used to indicate if the graph is weighted. wgtflag can take one of four values:
 

Field Documentation

◆ adjncy

idx_t* Parmetis_graph::adjncy

For each vertex it store a list of all neighborhood vertex.

Definition at line 40 of file parmetis_util.hpp.

◆ adjwgt

idx_t* Parmetis_graph::adjwgt

The weight of the edge.

Definition at line 49 of file parmetis_util.hpp.

◆ edgecut

idx_t* Parmetis_graph::edgecut

Upon successful completion, the number of edges that are cut by the partitioning is written to this parameter.

Definition at line 70 of file parmetis_util.hpp.

◆ itr

real_t* Parmetis_graph::itr

This parameter describes the ratio of inter-processor communication time compared to data redistri- bution time. It should be set between 0.000001 and 1000000.0. If ITR is set high, a repartitioning with a low edge-cut will be computed. If it is set low, a repartitioning that requires little data redistri- bution will be computed. Good values for this parameter can be obtained by dividing inter-processor communication time by data redistribution time. Otherwise, a value of 1000.0 is recommended.

Definition at line 73 of file parmetis_util.hpp.

◆ ncon

idx_t* Parmetis_graph::ncon

number of balancing constrains more practical, are the number of weights for each vertex PS even we you specify vwgt == NULL ncon must be set at leat to one

Definition at line 34 of file parmetis_util.hpp.

◆ nparts

idx_t* Parmetis_graph::nparts

number of part to partition the graph

Definition at line 52 of file parmetis_util.hpp.

◆ numflag

idx_t* Parmetis_graph::numflag

This is used to indicate the numbering scheme that is used for the vtxdist, xadj, adjncy, and part arrays. (0 for C-style, start from 0 index)

Definition at line 76 of file parmetis_util.hpp.

◆ nvtxs

idx_t* Parmetis_graph::nvtxs

The number of vertices in the graph.

Definition at line 28 of file parmetis_util.hpp.

◆ objval

idx_t* Parmetis_graph::objval

return the total comunication cost for each partition

Definition at line 64 of file parmetis_util.hpp.

◆ options

idx_t* Parmetis_graph::options

Additional option for the graph partitioning.

Definition at line 61 of file parmetis_util.hpp.

◆ part

idx_t* Parmetis_graph::part

Is a output vector containing the partition for each vertex.

Definition at line 67 of file parmetis_util.hpp.

◆ tpwgts

real_t* Parmetis_graph::tpwgts

Desired weight for each partition (one for each constrain)

Definition at line 55 of file parmetis_util.hpp.

◆ ubvec

real_t* Parmetis_graph::ubvec

For each partition load imbalance tollerated.

Definition at line 58 of file parmetis_util.hpp.

◆ vsize

idx_t* Parmetis_graph::vsize

Array of the vertex size, basically is the total communication amount.

Definition at line 46 of file parmetis_util.hpp.

◆ vwgt

idx_t* Parmetis_graph::vwgt

Array that store the weight for each vertex.

Definition at line 43 of file parmetis_util.hpp.

◆ wgtflag

idx_t* Parmetis_graph::wgtflag

This is used to indicate if the graph is weighted. wgtflag can take one of four values:

Definition at line 83 of file parmetis_util.hpp.

◆ xadj

idx_t* Parmetis_graph::xadj

For each vertex it store the adjacency lost start for the vertex i.

Definition at line 37 of file parmetis_util.hpp.


The documentation for this struct was generated from the following file: