61 "Usage: ndmetis [options] <filename>",
63 " Required parameters",
64 " filename Stores the graph to be partitioned.",
66 " Optional parameters",
68 " Specifies the scheme to be used to match the vertices of the graph",
69 " during the coarsening.",
70 " The possible values are:",
71 " rm - Random matching",
72 " shem - Sorted heavy-edge matching [default]",
74 " -iptype=string [applies only when -ptype=rb]",
75 " Specifies the scheme to be used to compute the initial bisection",
77 " The possible values are:",
78 " edge - Separator from an edge cut",
79 " node - Separator from a greedy node-based strategy [default]",
82 " Specifies the scheme to be used for refinement.",
83 " The possible values are:",
84 " 1sided - 1-sided node-based refinement [default]",
85 " 2sided - 2-sided node-based refinement",
88 " Specifies the maximum allowed load imbalance between the left and",
89 " right partitions during each bisection. The load imbalanced is",
90 " measured as the ratio of the 2*max(left,right)/(left+right), where",
91 " left and right are the sizes of the respective partitions. ",
92 " A value of x indicates that the allowed load imbalance is 1+x/1000.",
93 " Default is 200, indicating a load imbalance of 1.20.",
96 " Specifies the minimum degree of the vertices that will be ordered ",
97 " last. If the specified value is x>0, then any vertices with a degree",
98 " greater than 0.1*x*(average degree) are removed from the graph, an",
99 " ordering of the rest of the vertices is computed, and an overall ",
100 " ordering is computed by ordering the removed vertices at the end ",
101 " of the overall ordering.",
102 " Default value is 0, indicating that no vertices are removed",
105 " Specifies that the coarsening will not perform any 2-hop matchings",
106 " when the standard matching fails to sufficiently contract the graph.",
109 " Specifies that the graph should not be compressed by combining",
110 " together vertices that have identical adjacency lists.",
113 " Specifies if the connected components of the graph should first be ",
114 " identified and ordered separately.",
117 " Specifies the maximum number of iterations for the refinement ",
118 " algorithms at each stage of the uncoarsening process. Default is 10.",
121 " Specifies the number of different separators that it will compute at",
122 " each level of the nested dissection. The final separator that is used",
123 " is the smallest one. Default is 1.",
126 " Specifies that no ordering file should be generated.",
129 " Selects the seed of the random number generator. ",
132 " Selects the dbglvl. ",
135 " Prints this message.",
141 " Usage: ndmetis [options] <filename>",
142 " use 'ndmetis -help' for a summary of the options.",
158 memset((
void *)params, 0,
sizeof(
params_t));
200 errexit(
"Invalid option -%s=%s\n", long_options[option_index].name,
gk_optarg);
206 errexit(
"Invalid option -%s=%s\n", long_options[option_index].name,
gk_optarg);
249 for (i=0; strlen(
helpstr[i]) > 0; i++)
255 errexit(
"Illegal command-line option(s)\n" 256 "Use %s -help for a summary of the options.\n", argv[0]);
261 printf(
"Missing parameters.");
The structure that stores the information about the command-line options.
void errexit(char *f_str,...)
int gk_optind
Index in ARGV of the next element to be scanned.
params_t * parse_cmdline(int argc, char *argv[])
static gk_StringMap_t rtype_options[]
static gk_StringMap_t iptype_options[]
static char shorthelpstr[][100]
static struct gk_option long_options[]
#define OMETIS_DEFAULT_UFACTOR
#define gk_clearcputimer(tmr)
static SmartStereoProjectionParams params
static char helpstr[][100]
char * gk_strdup(char *orgstr)
Duplicates a string.
char * gk_optarg
For communication arguments to the caller.
void * gk_malloc(size_t nbytes, char *msg)
static gk_StringMap_t ctype_options[]
Annotation for function names.
int gk_GetStringID(gk_StringMap_t *strmap, char *key)
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.