Zoltan2
 All Namespaces Files Functions Variables Pages
parameters.xml
Go to the documentation of this file.
1 <!--
2  XML definition of Zoltan2 parameters and their validators.
3 
4  This list is used to generate:
5  1. {zoltan2_build_directory}/src/Zoltan2_XML_Parameters.hpp
6  2. doc/parameters.dox
7 
8  The first is a header file containing a string which is the
9  XML definition of the parameters.
10 
11  The second is a page of Doxygen documentation describing
12  the parameters for users.
13 
14  New parameters should be added to this file.
15 
16  In the Parameter elements, the "value" must be a valid value
17  for the parameter. It is not a default. We don't have
18  default values for our parameters. If the user didn't
19  define a value for a parameter, then that parameter doesn't
20  appear in the parameter list and the library code at
21  run-time can decide what to do about that.
22 
23  NOTE: Do not use the string "P a r a m e t e r L i s t" in this file
24  before the beginning of the XML parameter list. We search for that
25  string to find the start of the XML definition.
26  -->
27 
28 <ParameterList name="zoltan2ValidatingParameters">
29 
30  <Parameter
31  id="0" name="error_check_level" type="string" validatorId="0" value="basic_assertions"
32  docString=' the amount of error checking performed
33  (If the compile flag Z2_OMIT_ALL_ERROR_CHECKING was set,
34  then error checking code is not executed at runtime.)'
35  />
36 
37  <Parameter
38  id="1" name="debug_level" type="string" validatorId="1" value="basic_status"
39  docString=' the amount of status/debugging/warning information to print'
40  />
41 
42  <Parameter
43  id="2" name="timer_type" type="string" validatorId="2" value="no_timers"
44  docString=' the type of timing information to collect
45  (If the compile flag Z2_OMIT_ALL_PROFILING was set,
46  then the timing code is not executed at runtime.)'
47  />
48 
49  <Parameter
50  id="3" name="debug_output_stream" type="string" validatorId="3" value="cout"
51  docString=' output stream for debug/status/warning messages (default cout)'
52  />
53 
54  <Parameter
55  id="4" name="timer_output_stream" type="string" validatorId="4" value="cout"
56  docString=' output stream for timing report (default cout)'
57  />
58 
59  <Parameter
60  id="5" name="memory_output_stream" type="string" validatorId="5" value="cout"
61  docString=' output stream for memory usage messages (default cout)'
62  />
63 
64  <Parameter
65  id="6" name="debug_output_file" type="string" validatorId="6" value="/dev/null"
66  docString=' name of file to which debug/status messages should be written
67  (process rank will be included in file name)'
68  />
69 
70  <Parameter
71  id="7" name="timer_output_file" type="string" validatorId="6" value="/dev/null"
72  docString=' name of file to which timing information should be written
73  (process rank will be included in file name)'
74  />
75 
76  <Parameter
77  id="8" name="memory_output_file" type="string" validatorId="6" value="/dev/null"
78  docString=' name of file to which memory profiling information should be written
79  (process rank will be included in file name)'
80  />
81 
82  <Parameter
83  id="9" name="debug_procs" type="string" validatorId="7" value="0"
84  docString=' list of ranks that output debugging/status messages (default "0")'
85  />
86 
87  <Parameter
88  id="10" name="pqParts" type="string" validatorId="8" value="0"
89  docString=' list of parts for multijagged partitioning algorithm. As many as the dimension count.'
90  />
91 
92  <Parameter
93  id="11" name="memory_procs" type="string" validatorId="9" value="0"
94  docString=' list of ranks that do memory profiling information (default "0")'
95  />
96 
97  <Parameter
98  id="12" name="speed_versus_quality" type="string" validatorId="10" value="balance"
99  docString=' When algorithm choices exist, opt for speed or solution quality?
100  (Default is a balance of speed and quality)'
101  />
102 
103  <Parameter
104  id="13" name="memory_versus_speed" type="string" validatorId="11" value="balance"
105  docString=' When algorithm choices exist, opt for the use of less memory
106  at the expense of runtime
107  (Default is a balance of memory conservation and speed)'
108  />
109 
110  <Parameter
111  id="14" name="random_seed" type="string" validatorId="12" value="0.5"
112  docString=' random seed'
113  />
114 
115  <Parameter
116  id="15" name="order_method" type="string" validatorId="13" value="rcm"
117  docString=' order algorithm'
118  />
119 
120  <Parameter
121  id="16" name="order_package" type="string" validatorId="14" value="amd"
122  docString=' package to use in ordering'
123  />
124 
125  <Parameter
126  id="17" name="compute_metrics" type="string" validatorId="15" value="no"
127  docString=' Compute metrics after computing solution'
128  />
129 
130  <Parameter
131  id="18" name="topology" type="string" validatorId="16" value=""
132  docString='Topology of node to be used in hierarchical partitioning
133  "2,4" for dual-socket quad-core
134  "2,2,6" for dual-socket, dual-die, six-core
135  "2,2,3" for dual-socket, dual-die, six-core but
136  with only three partitions per die'
137  />
138 
139  <Parameter
140  id="19" name="randomize_input" type="string" validatorId="17" value="no"
141  docString=' randomize input prior to partitioning'
142  />
143 
144  <Parameter
145  id="20" name="partitioning_objective" type="string" validatorId="18" value="balance_object_weight"
146  docString=' objective of partitioning (default depends on algorithm)'
147  />
148 
149  <Parameter
150  id="21" name="imbalance_tolerance" type="string" validatorId="19" value="1.1"
151  docString=' imbalance tolerance, ratio of maximum load over average load (default 1.1)'
152  />
153 
154  <Parameter
155  id="22" name="num_global_parts" type="string" validatorId="20" value="0"
156  docString=' global number of parts to compute (default is number of processes)'
157  />
158 
159  <Parameter
160  id="23" name="num_local_parts" type="string" validatorId="21" value="0"
161  docString=' number of parts to compute for this process(default is one)'
162  />
163 
164  <Parameter
165  id="24" name="partitioning_approach" type="string" validatorId="22" value="partition"
166  docString=' Partition from scratch, partition incrementally from current
167  partition, of partition from scratch but maximize overlap
168  with the current partition (default is "partition" from scratch)'
169  />
170 
171  <Parameter
172  id="25" name="objects_to_partition" type="string" validatorId="23" value="graph_vertices"
173  docString=' Objects to be partitioned (defaults are "matrix_rows" for
174  matrix input, "mesh_nodes" for mesh input, and "graph_vertices"
175  for graph input)'
176  />
177 
178  <Parameter
179  id="26" name="model" type="string" validatorId="24" value="graph"
180  docString=' This is a low level parameter. Normally the library will choose
181  a computational model based on the algorithm or objective specified
182  by the user.'
183  />
184 
185  <Parameter
186  id="27" name="algorithm" type="string" validatorId="25" value="random"
187  docString=' partitioning algorithm'
188  />
189 
190  <Parameter
191  id="28" name="rectilinear_blocks" type="string" validatorId="26" value="no"
192  docString=' If true, then when a cut is made, all of the dots located on the cut
193  are moved to the same side of the cut. The resulting regions are then
194  rectilinear. The resulting load balance may not be as good as when
195  the group of dots is split by the cut. Default is false.'
196  />
197 
198  <Parameter
199  id="29" name="average_cuts" type="string" validatorId="27" value="no"
200  docString=' When true, coordinates of RCB cutting planes are computed to be
201  the average of the coordinates of the closest object on each side
202  of the cut. Otherwise, coordinates of cutting planes may equal
203  those of one of the closest objects. Default is false.'
204  />
205 
206  <Parameter
207  id="30" name="bisection_num_test_cuts" type="int" validatorId="28" value="1"
208  docString=' Experimental: number of test cuts to do simultaneously (default is 1)'
209  />
210 
211  <Parameter
212  id="31" name="symmetrize_input" type="string" validatorId="29" value="no"
213  docString=' Symmetrize input prior to pList. If "transpose",
214  symmetrize A by computing A plus ATranspose. If "bipartite",
215  A becomes [[0 A][ATranspose 0]]. '
216  />
217 
218  <Parameter
219  id="32" name="subset_graph" type="string" validatorId="30" value="no"
220  docString=' If "yes", the graph input is to be subsetted. If a vertex neighbor
221  is not a valid vertex, it will be omitted from the pList. Otherwise,
222  an invalid neighbor identifier is considered an error.'
223  />
224 
225  <Parameter
226  id="33" name="force_binary_search" type="string" validatorId="31" value="no"
227  docString="If true, then regardless of the part number, cut line will be searched using binary search.\n"
228  />
229 
230  <Parameter
231  id="34" name="force_linear_search" type="string" validatorId="32" value="no"
232  docString="If true, then regardless of the part number, cut line will be searched using linear search.\n"
233  />
234 
235  <Parameter
236  id="35" name="parallel_part_calculation_count" type="int" validatorId="33" value="1"
237  docString="The number of parts whose cut coordinates will be calculated concurently."
238  />
239 
240  <Validators>
241 
242  <Validator defaultParameterName="error_check_level" integralValue="int" type="StringIntegralValidator(int)" validatorId="0">
243  <String integralValue="0" stringDoc="no assertions will be performed" stringValue="no_assertions"/>
244  <String integralValue="1" stringDoc="typical checks of argument validity (fast, default)" stringValue="basic_assertions"/>
245  <String integralValue="2" stringDoc="additional checks, i.e. is input graph a valid graph)" stringValue="complex_assertions"/>
246  <String integralValue="3" stringDoc="check for everything including logic errors (slowest)" stringValue="debug_mode_assertions"/>
247  </Validator>
248 
249  <Validator defaultParameterName="debug_output_stream" integralValue="int" type="StringIntegralValidator(int)" validatorId="3">
250  <String integralValue="0" stringValue="std::cout"/>
251  <String integralValue="0" stringValue="cout"/>
252  <String integralValue="0" stringValue="stdout"/>
253  <String integralValue="1" stringValue="std::cerr"/>
254  <String integralValue="1" stringValue="cerr"/>
255  <String integralValue="1" stringValue="stderr"/>
256  <String integralValue="2" stringValue="/dev/null"/>
257  <String integralValue="2" stringValue="null"/>
258  </Validator>
259 
260  <Validator defaultParameterName="debug_level" integralValue="int" type="StringIntegralValidator(int)" validatorId="1">
261  <String integralValue="0" stringDoc="library outputs no status information" stringValue="no_status"/>
262  <String integralValue="1" stringDoc="library outputs basic status information (default)" stringValue="basic_status"/>
263  <String integralValue="2" stringDoc="library outputs detailed information" stringValue="detailed_status"/>
264  <String integralValue="3" stringDoc="library outputs very detailed information" stringValue="verbose_detailed_status"/>
265  </Validator>
266 
267  <Validator defaultParameterName="timer_type" integralValue="int" type="StringIntegralValidator(int)" validatorId="2">
268  <String integralValue="0" stringDoc="No timing data will be collected (the default)." stringValue="no_timers"/>
269  <String integralValue="1" stringDoc="Time an algorithm (or other entity) as a whole." stringValue="macro_timers"/>
270  <String integralValue="2" stringDoc="Time the substeps of an entity." stringValue="micro_timers"/>
271  <String integralValue="3" stringDoc="Run both MACRO and MICRO timers." stringValue="both_timers"/>
272  <String integralValue="4" stringDoc="Run timers added to code for testing, removed later" stringValue="test_timers"/>
273  </Validator>
274 
275  <Validator defaultParameterName="timer_output_stream" integralValue="int" type="StringIntegralValidator(int)" validatorId="4">
276  <String integralValue="0" stringValue="std::cout"/>
277  <String integralValue="0" stringValue="cout"/>
278  <String integralValue="0" stringValue="stdout"/>
279  <String integralValue="1" stringValue="std::cerr"/>
280  <String integralValue="1" stringValue="cerr"/>
281  <String integralValue="1" stringValue="stderr"/>
282  <String integralValue="2" stringValue="/dev/null"/>
283  <String integralValue="2" stringValue="null"/>
284  </Validator>
285 
286  <Validator defaultParameterName="memory_output_stream" integralValue="int" type="StringIntegralValidator(int)" validatorId="5">
287  <String integralValue="0" stringValue="std::cout"/>
288  <String integralValue="0" stringValue="cout"/>
289  <String integralValue="0" stringValue="stdout"/>
290  <String integralValue="1" stringValue="std::cerr"/>
291  <String integralValue="1" stringValue="cerr"/>
292  <String integralValue="1" stringValue="stderr"/>
293  <String integralValue="2" stringValue="/dev/null"/>
294  <String integralValue="2" stringValue="null"/>
295  </Validator>
296 
297  <Validator fileMustExist="false" type="FilenameValidator" validatorId="6"/>
298 
299  <Validator type="IntegerRangeListValidator(int)" unsorted="false" validatorId="7"/>
300 
301  <Validator type="IntegerRangeListValidator(int)" unsorted="false" validatorId="9"/>
302 
303  <Validator type="IntegerRangeListValidator(int)" unsorted="true" validatorId="8"/>
304 
305  <Validator type="StringValidator" validatorId="10">
306  <String value="speed"/>
307  <String value="balance"/>
308  <String value="quality"/>
309  </Validator>
310 
311  <Validator allowDouble="true" allowInt="true" allowString="true" prefferedType="double" type="anynumberValidator" validatorId="12"/>
312 
313  <Validator type="StringValidator" validatorId="11">
314  <String value="memory"/>
315  <String value="balance"/>
316  <String value="speed"/>
317  </Validator>
318 
319  <Validator type="StringValidator" validatorId="13">
320  <String value="rcm"/>
321  <String value="minimum_degree"/>
322  <String value="natural"/>
323  <String value="random"/>
324  </Validator>
325 
326  <Validator defaultParameterName="compute_metrics" integralValue="int" type="StringIntegralValidator(int)" validatorId="15">
327  <String integralValue="1" stringValue="true"/>
328  <String integralValue="1" stringValue="yes"/>
329  <String integralValue="1" stringValue="1"/>
330  <String integralValue="1" stringValue="on"/>
331  <String integralValue="0" stringValue="false"/>
332  <String integralValue="0" stringValue="no"/>
333  <String integralValue="0" stringValue="0"/>
334  <String integralValue="0" stringValue="off"/>
335  </Validator>
336 
337  <Validator type="StringValidator" validatorId="14">
338  <String value="amd"/>
339  <String value="package2"/>
340  <String value="package3"/>
341  </Validator>
342 
343  <Validator defaultParameterName="randomize_input" integralValue="int" type="StringIntegralValidator(int)" validatorId="17">
344  <String integralValue="1" stringValue="true"/>
345  <String integralValue="1" stringValue="yes"/>
346  <String integralValue="1" stringValue="1"/>
347  <String integralValue="1" stringValue="on"/>
348  <String integralValue="0" stringValue="false"/>
349  <String integralValue="0" stringValue="no"/>
350  <String integralValue="0" stringValue="0"/>
351  <String integralValue="0" stringValue="off"/>
352  </Validator>
353 
354  <Validator type="IntegerRangeListValidator(int)" unsorted="true" validatorId="16"/>
355 
356  <Validator allowDouble="true" allowInt="true" allowString="true" prefferedType="double" type="anynumberValidator" validatorId="19"/>
357 
358  <Validator allowDouble="true" allowInt="true" allowString="true" prefferedType="double" type="anynumberValidator" validatorId="20"/>
359 
360  <Validator type="StringValidator" validatorId="18">
361  <String value="balance_object_count"/>
362  <String value="balance_object_weight"/>
363  <String value="multicriteria_minimize_total_weight"/>
364  <String value="multicriteria_minimize_maximum_weight"/>
365  <String value="multicriteria_balance_total_maximum"/>
366  <String value="minimize_cut_edge_count"/>
367  <String value="minimize_cut_edge_weight"/>
368  <String value="minimize_neighboring_parts"/>
369  <String value="minimize_boundary_vertices"/>
370  </Validator>
371 
372  <Validator allowDouble="true" allowInt="true" allowString="true" prefferedType="double" type="anynumberValidator" validatorId="21"/>
373 
374  <Validator type="StringValidator" validatorId="22">
375  <String value="partition"/>
376  <String value="repartition"/>
377  <String value="maximize_overlap"/>
378  </Validator>
379 
380  <Validator type="StringValidator" validatorId="23">
381  <String value="matrix_rows"/>
382  <String value="matrix_columns"/>
383  <String value="matrix_nonzeros"/>
384  <String value="mesh_elements"/>
385  <String value="mesh_nodes"/>
386  <String value="graph_edges"/>
387  <String value="graph_vertices"/>
388  <String value="coordinates"/>
389  <String value="identifiers"/>
390  </Validator>
391 
392  <Validator type="StringValidator" validatorId="24">
393  <String value="hypergraph"/>
394  <String value="graph"/>
395  <String value="geometry"/>
396  <String value="ids"/>
397  </Validator>
398 
399  <Validator type="StringValidator" validatorId="25">
400  <String value="rcb"/>
401  <String value="multijagged"/>
402  <String value="rib"/>
403  <String value="hsfc"/>
404  <String value="patoh"/>
405  <String value="phg"/>
406  <String value="metis"/>
407  <String value="parmetis"/>
408  <String value="scotch"/>
409  <String value="ptscotch"/>
410  <String value="block"/>
411  <String value="cyclic"/>
412  <String value="random"/>
413  </Validator>
414 
415  <Validator defaultParameterName="rectilinear_blocks" integralValue="int" type="StringIntegralValidator(int)" validatorId="26">
416  <String integralValue="1" stringValue="true"/>
417  <String integralValue="1" stringValue="yes"/>
418  <String integralValue="1" stringValue="1"/>
419  <String integralValue="1" stringValue="on"/>
420  <String integralValue="0" stringValue="false"/>
421  <String integralValue="0" stringValue="no"/>
422  <String integralValue="0" stringValue="0"/>
423  <String integralValue="0" stringValue="off"/>
424  </Validator>
425 
426  <Validator defaultParameterName="average_cuts" integralValue="int" type="StringIntegralValidator(int)" validatorId="27">
427  <String integralValue="1" stringValue="true"/>
428  <String integralValue="1" stringValue="yes"/>
429  <String integralValue="1" stringValue="1"/>
430  <String integralValue="1" stringValue="on"/>
431  <String integralValue="0" stringValue="false"/>
432  <String integralValue="0" stringValue="no"/>
433  <String integralValue="0" stringValue="0"/>
434  <String integralValue="0" stringValue="off"/>
435  </Validator>
436 
437  <Validator max="250" min="1" precision="0" step="1" type="EnhancedNumberValidator(int)" validatorId="28"/>
438 
439  <Validator type="StringValidator" validatorId="29">
440  <String value="no"/>
441  <String value="transpose"/>
442  <String value="bipartite"/>
443  </Validator>
444 
445  <Validator defaultParameterName="subset_graph" integralValue="int" type="StringIntegralValidator(int)" validatorId="30">
446  <String integralValue="1" stringValue="true"/>
447  <String integralValue="1" stringValue="yes"/>
448  <String integralValue="1" stringValue="1"/>
449  <String integralValue="1" stringValue="on"/>
450  <String integralValue="0" stringValue="false"/>
451  <String integralValue="0" stringValue="no"/>
452  <String integralValue="0" stringValue="0"/>
453  <String integralValue="0" stringValue="off"/>
454  </Validator>
455 
456  <Validator defaultParameterName="force_binary_search" integralValue="int" type="StringIntegralValidator(int)" validatorId="31">
457  <String integralValue="1" stringValue="true"/>
458  <String integralValue="1" stringValue="yes"/>
459  <String integralValue="1" stringValue="1"/>
460  <String integralValue="1" stringValue="on"/>
461  <String integralValue="0" stringValue="false"/>
462  <String integralValue="0" stringValue="no"/>
463  <String integralValue="0" stringValue="0"/>
464  <String integralValue="0" stringValue="off"/>
465  </Validator>
466 
467  <Validator defaultParameterName="force_linear_search" integralValue="int" type="StringIntegralValidator(int)" validatorId="32">
468  <String integralValue="1" stringValue="true"/>
469  <String integralValue="1" stringValue="yes"/>
470  <String integralValue="1" stringValue="1"/>
471  <String integralValue="1" stringValue="on"/>
472  <String integralValue="0" stringValue="false"/>
473  <String integralValue="0" stringValue="no"/>
474  <String integralValue="0" stringValue="0"/>
475  <String integralValue="0" stringValue="off"/>
476  </Validator>
477 
478  <Validator defaultParameterName="parallel_part_calculation_count" allowDouble="false" allowInt="true" allowString="true" prefferedType="int" type="anynumberValidator" validatorId="33"/>
479 
480 
481  </Validators>
482 
483 </ParameterList>
484 
list validators
Definition: xml2dox.py:174