Go to the documentation of this file.
   87 "Usage: mpmetis [options] meshfile nparts",
 
   89 " Required parameters",
 
   90 "    meshfile    Stores the mesh to be partitioned.",
 
   91 "    nparts      The number of partitions to split the mesh.",
 
   93 " Optional parameters",
 
   95 "     Specifies the graph to be used for computing the partitioning",
 
   96 "     The possible values are:",
 
   97 "        dual     - Partition the dual graph of the mesh [default]",
 
   98 "        nodal    - Partition the nodal graph of the mesh",
 
  101 "     Specifies the scheme to be used for computing the k-way partitioning.",
 
  102 "     The possible values are:",
 
  103 "        rb       - Recursive bisectioning",
 
  104 "        kway     - Direct k-way partitioning [default]",
 
  107 "     Specifies the scheme to be used to match the vertices of the graph",
 
  108 "     during the coarsening.",
 
  109 "     The possible values are:",
 
  110 "        rm       - Random matching",
 
  111 "        shem     - Sorted heavy-edge matching [default]",
 
  113 "  -iptype=string [applies only when -ptype=rb]",
 
  114 "     Specifies the scheme to be used to compute the initial partitioning",
 
  116 "     The possible values are:",
 
  117 "        grow     - Grow a bisection using a greedy strategy [default]",
 
  118 "        random   - Compute a bisection at random",
 
  120 "  -objtype=string [applies only when -ptype=kway]",
 
  121 "     Specifies the objective that the partitioning routines will optimize.",
 
  122 "     The possible values are:",
 
  123 "        cut      - Minimize the edgecut [default]",
 
  124 "        vol      - Minimize the total communication volume",
 
  126 "  -contig [applies only when -ptype=kway]",
 
  127 "     Specifies that the partitioning routines should try to produce",
 
  128 "     partitions that are contiguous. Note that if the input graph is not",
 
  129 "     connected this option is ignored.",
 
  131 "  -minconn [applies only when -ptype=kway]",
 
  132 "     Specifies that the partitioning routines should try to minimize the",
 
  133 "     maximum degree of the subdomain graph, i.e., the graph in which each",
 
  134 "     partition is a node, and edges connect subdomains with a shared",
 
  138 "     Specifies the name of the file that stores the target weights for",
 
  139 "     each partition. By default, all partitions are assumed to be of ",
 
  143 "     Specifies the maximum allowed load imbalance among the partitions.",
 
  144 "     A value of x indicates that the allowed load imbalance is 1+x/1000.",
 
  145 "     For ptype=rb, the load imbalance is measured as the ratio of the ",
 
  146 "     2*max(left,right)/(left+right), where left and right are the sizes",
 
  147 "     of the respective partitions at each bisection. ",
 
  148 "     For ptype=kway, the load imbalance is measured as the ratio of ",
 
  149 "     max_i(pwgts[i])/avgpwgt, where pwgts[i] is the weight of the ith",
 
  150 "     partition and avgpwgt is the sum of the total vertex weights divided",
 
  151 "     by the number of partitions requested.",
 
  152 "     For ptype=rb, the default value is 1 (i.e., load imbalance of 1.001).",
 
  153 "     For ptype=kway, the default value is 30 (i.e., load imbalance of 1.03).",
 
  156 "     Specifies the common number of nodes that two elements must have",
 
  157 "     in order to put an edge between them in the dual graph. Default is 1.",
 
  160 "     Specifies the number of iterations for the refinement algorithms",
 
  161 "     at each stage of the uncoarsening process. Default is 10.",
 
  164 "     Specifies the number of different partitionings that it will compute.",
 
  165 "     The final partitioning is the one that achieves the best edgecut or",
 
  166 "     communication volume. Default is 1.",
 
  169 "     Specifies that no partitioning file should be generated.",
 
  172 "     Selects the seed of the random number generator.  ",
 
  175 "     Selects the dbglvl.  ",
 
  178 "     Prints this message.",
 
  184 "   Usage: mpmetis [options] <filename> <nparts>",
 
  185 "          use 'mpmetis -help' for a summary of the options.",
 
  325         errexit(
"Illegal command-line option(s)\n" 
  326                 "Use %s -help for a summary of the options.\n", argv[0]);
 
  331     printf(
"Missing parameters.");
 
  341     errexit(
"The number of partitions should be greater than 1!\n");
 
  356       errexit(
"The -contig option cannot be specified with rb partitioning.\n");
 
  358       errexit(
"The -minconn option cannot be specified with rb partitioning.\n");
 
  360       errexit(
"The -objtype=vol option cannot be specified with rb partitioning.\n");
 
  
char * gk_optarg
For communication arguments to the caller.
params_t * parse_cmdline(int argc, char *argv[])
Annotation for function names.
static gk_StringMap_t gtype_options[]
char * gk_strdup(char *orgstr)
Duplicates a string.
static char shorthelpstr[][100]
void errexit(char *f_str,...)
static const SmartProjectionParams params
int gk_GetStringID(gk_StringMap_t *strmap, char *key)
static gk_StringMap_t iptype_options[]
static gk_StringMap_t ctype_options[]
The structure that stores the information about the command-line options.
int gk_optind
Index in ARGV of the next element to be scanned.
static gk_StringMap_t objtype_options[]
static gk_StringMap_t ptype_options[]
static struct gk_option long_options[]
static char helpstr[][100]
#define gk_clearcputimer(tmr)
int gk_getopt_long_only(int argc, char **argv, char *options, struct gk_option *long_options, int *opt_index)
Parse command-line arguments with only long options.
void * gk_malloc(size_t nbytes, char *msg)
static constexpr double k
gtsam
Author(s): 
autogenerated on Wed May 28 2025 03:00:59