public class Gpmetis
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Gpmetis.Ctype |
static class |
Gpmetis.Iptype |
static class |
Gpmetis.Objtype |
static class |
Gpmetis.Ptype |
Modifier and Type | Field and Description |
---|---|
static toools.io.file.RegularFile |
CMD |
Constructor and Description |
---|
Gpmetis() |
Modifier and Type | Method and Description |
---|---|
java.util.List<it.unimi.dsi.fastutil.ints.IntSet> |
compute(Grph g,
int numberOfPartitions,
Gpmetis.Ptype ptype,
Gpmetis.Ctype ctype,
Gpmetis.Iptype iptype,
Gpmetis.Objtype objtype,
boolean contig,
boolean minconn,
int ufactor,
int niter,
int ncuts,
java.util.Random r) |
java.util.List<it.unimi.dsi.fastutil.ints.IntSet> |
compute(Grph g,
int numberOfPartitions,
java.util.Random r) |
protected java.util.List<it.unimi.dsi.fastutil.ints.IntSet> |
createEmptySets(int numberOfPartitions) |
static void |
ensureCompiled(toools.log.Logger logger) |
static void |
main2(java.lang.String[] args) |
public static void ensureCompiled(toools.log.Logger logger)
public java.util.List<it.unimi.dsi.fastutil.ints.IntSet> compute(Grph g, int numberOfPartitions, java.util.Random r)
g
- numberOfPartitions
- ptype
- Specifies the scheme to be used for computing the k-way
partitioning.ctype
- Specifies the scheme to be used to match the vertices of the
graph during the coarsening.iptype
- Specifies the scheme to be used to compute the initial
partitioning of the graph. applies only when ptype=rb.objtype
- Specifies the objective that the partitioning routines will
optimize. applies only when ptype=kway.contig
- Specifies that the partitioning routines should try to produce
partitions that are contiguous. Note that if the input graph
is not connected this option is ignored. Applies only when
ptype=kway.minconn
- Specifies that the partitioning routines should try to
minimize the maximum degree of the subdomain graph, i.e., the
graph in which each partition is a node, and edges connect
subdomains with a shared interface. Applies only when
ptype=kway.ufactor
- Specifies the maximum allowed load imbalance among the
partitions. A value of x indicates that the allowed load
imbalance is 1+x/1000. For ptype=rb, the load imbalance is
measured as the ratio of the 2*max(left,right)/(left+right),
where left and right are the sizes of the respective
partitions at each bisection. For ptype=kway, the load
imbalance is measured as the ratio of max_i(pwgts[i])/avgpwgt,
where pwgts[i] is the weight of the ith partition and avgpwgt
is the sum of the total vertex weights divided by the number
of partitions requested. For ptype=rb, the default value is 1
(i.e., load imbalance of 1.001). For ptype=kway, the default
value is 30 (i.e., load imbalance of 1.03).niter
- Specifies the number of iterations for the refinement
algorithms at each stage of the uncoarsening process. Default
is 10.ncuts
- Specifies the number of different partitionings that it will
compute. The final partitioning is the one that achieves the
best edgecut or communication volume. Default is 1.seed
- Selects the seed of the random number generator.dbglvl
- Selects the dbglvl.public java.util.List<it.unimi.dsi.fastutil.ints.IntSet> compute(Grph g, int numberOfPartitions, Gpmetis.Ptype ptype, Gpmetis.Ctype ctype, Gpmetis.Iptype iptype, Gpmetis.Objtype objtype, boolean contig, boolean minconn, int ufactor, int niter, int ncuts, java.util.Random r)
protected java.util.List<it.unimi.dsi.fastutil.ints.IntSet> createEmptySets(int numberOfPartitions)
public static void main2(java.lang.String[] args)