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

Metis graph structure. More...

Detailed Description

Metis graph structure.

Metis graph structure

Definition at line 21 of file parmetis_dist_util.hpp.

#include <parmetis_dist_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
 

Field Documentation

◆ adjncy

idx_t* Parmetis_dist_graph::adjncy

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

Definition at line 36 of file parmetis_dist_util.hpp.

◆ adjwgt

idx_t* Parmetis_dist_graph::adjwgt

The weight of the edge.

Definition at line 45 of file parmetis_dist_util.hpp.

◆ edgecut

idx_t* Parmetis_dist_graph::edgecut

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

Definition at line 66 of file parmetis_dist_util.hpp.

◆ itr

real_t* Parmetis_dist_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 69 of file parmetis_dist_util.hpp.

◆ ncon

idx_t* Parmetis_dist_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 30 of file parmetis_dist_util.hpp.

◆ nparts

idx_t* Parmetis_dist_graph::nparts

number of part to partition the graph

Definition at line 48 of file parmetis_dist_util.hpp.

◆ numflag

idx_t* Parmetis_dist_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 72 of file parmetis_dist_util.hpp.

◆ nvtxs

idx_t* Parmetis_dist_graph::nvtxs

The number of vertices in the graph.

Definition at line 24 of file parmetis_dist_util.hpp.

◆ objval

idx_t* Parmetis_dist_graph::objval

return the total comunication cost for each partition

Definition at line 60 of file parmetis_dist_util.hpp.

◆ options

idx_t* Parmetis_dist_graph::options

Additional option for the graph partitioning.

Definition at line 57 of file parmetis_dist_util.hpp.

◆ part

idx_t* Parmetis_dist_graph::part

Is a output vector containing the partition for each vertex.

Definition at line 63 of file parmetis_dist_util.hpp.

◆ tpwgts

real_t* Parmetis_dist_graph::tpwgts

Desired weight for each partition (one for each constrain)

Definition at line 51 of file parmetis_dist_util.hpp.

◆ ubvec

real_t* Parmetis_dist_graph::ubvec

For each partition load imbalance tollerated.

Definition at line 54 of file parmetis_dist_util.hpp.

◆ vsize

idx_t* Parmetis_dist_graph::vsize

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

Definition at line 42 of file parmetis_dist_util.hpp.

◆ vwgt

idx_t* Parmetis_dist_graph::vwgt

Array that store the weight for each vertex.

Definition at line 39 of file parmetis_dist_util.hpp.

◆ wgtflag

idx_t* Parmetis_dist_graph::wgtflag

This is used to indicate if the graph is weighted. wgtflag can take one of four values: 0 No weights (vwgt and adjwgt are both NULL). 1 Weights on the edges only (vwgt is NULL). 2 Weights on the vertices only (adjwgt is NULL). 3 Weights on both the vertices and edges.

Definition at line 79 of file parmetis_dist_util.hpp.

◆ xadj

idx_t* Parmetis_dist_graph::xadj

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

Definition at line 33 of file parmetis_dist_util.hpp.


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