Zoltan 2 Version 0.5
parameters.xml
Go to the documentation of this file.
00001 <!--
00002       XML definition of Zoltan2 parameters and their validators.
00003 
00004       This list is used to generate:
00005         1. {zoltan2_build_directory}/src/Zoltan2_XML_Parameters.hpp
00006         2. doc/parameters.dox
00007 
00008       The first is a header file containing a string which is the
00009       XML definition of the parameters.
00010 
00011       The second is a page of Doxygen documentation describing
00012       the parameters for users.
00013 
00014       New parameters should be added to this file.
00015 
00016       In the Parameter elements, the "value" must be a valid value
00017       for the parameter.  It is not a default. We don't have 
00018       default values for our parameters.  If the user didn't
00019       define a value for a parameter, then that parameter doesn't
00020       appear in the parameter list and the library code at
00021       run-time can decide what to do about that.
00022 
00023       NOTE: Do not use the string "P a r a m e t e r L i s t" in this file
00024       before the beginning of the XML parameter list.  We search for that 
00025       string to find the start of the XML definition.
00026   -->
00027 
00028 <ParameterList name="zoltan2ValidatingParameters">
00029  
00030  <Parameter 
00031   id="0" name="error_check_level" type="string" validatorId="0" value="basic_assertions"
00032   docString='  the amount of error checking performed
00033   (If the compile flag Z2_OMIT_ALL_ERROR_CHECKING was set,
00034   then error checking code is not executed at runtime.)'
00035   />
00036  
00037  <Parameter 
00038   id="1" name="debug_level" type="string" validatorId="1" value="basic_status"
00039   docString='  the amount of status/debugging/warning information to print'
00040   />
00041  
00042  <Parameter 
00043   id="2" name="timer_type" type="string" validatorId="2" value="no_timers"
00044   docString='  the type of timing information to collect
00045   (If the compile flag Z2_OMIT_ALL_PROFILING was set,
00046   then the timing code is not executed at runtime.)'
00047   />
00048  
00049  <Parameter 
00050   id="3" name="debug_output_stream" type="string" validatorId="3" value="cout"
00051   docString='  output stream for debug/status/warning messages (default cout)'
00052   />
00053  
00054  <Parameter 
00055   id="4" name="timer_output_stream" type="string" validatorId="4" value="cout"
00056   docString='  output stream for timing report (default cout)'
00057   />
00058  
00059  <Parameter 
00060   id="5" name="memory_output_stream" type="string" validatorId="5" value="cout"
00061   docString='  output stream for memory usage messages (default cout)'
00062   />
00063  
00064  <Parameter 
00065   id="6" name="debug_output_file" type="string" validatorId="6" value="/dev/null"
00066   docString='  name of file to which debug/status messages should be written
00067   (process rank will be included in file name)'
00068   />
00069  
00070  <Parameter 
00071   id="7" name="timer_output_file" type="string" validatorId="6" value="/dev/null"
00072   docString='  name of file to which timing information should be written
00073   (process rank will be included in file name)'
00074   />
00075  
00076  <Parameter 
00077   id="8" name="memory_output_file" type="string" validatorId="6" value="/dev/null"
00078   docString='  name of file to which memory profiling information should be written
00079   (process rank will be included in file name)'
00080   />
00081  
00082  <Parameter 
00083   id="9" name="debug_procs" type="string" validatorId="7" value="0"
00084   docString='  list of ranks that output debugging/status messages (default "0")'
00085   />
00086  
00087  <Parameter 
00088   id="10" name="pqParts" type="string" validatorId="8" value="0"
00089   docString='  list of parts for multijagged partitioning algorithm. As many as the dimension count.'
00090   />
00091  
00092  <Parameter 
00093   id="11" name="memory_procs" type="string" validatorId="9" value="0"
00094   docString='  list of ranks that do memory profiling information (default "0")'
00095   />
00096  
00097  <Parameter 
00098   id="12" name="speed_versus_quality" type="string" validatorId="10" value="balance"
00099   docString='  When algorithm choices exist, opt for speed or solution quality?
00100   (Default is a balance of speed and quality)'
00101   />
00102  
00103  <Parameter 
00104   id="13" name="memory_versus_speed" type="string" validatorId="11" value="balance"
00105   docString='  When algorithm choices exist, opt for the use of less memory
00106   at the expense of runtime
00107   (Default is a balance of memory conservation and speed)'
00108   />
00109  
00110  <Parameter 
00111   id="14" name="random_seed" type="string" validatorId="12" value="0.5"
00112   docString='  random seed'
00113   />
00114  
00115  <Parameter 
00116   id="15" name="order_method" type="string" validatorId="13" value="rcm"
00117   docString='  order algorithm'
00118   />
00119  
00120  <Parameter 
00121   id="16" name="order_package" type="string" validatorId="14" value="amd"
00122   docString='  package to use in ordering'
00123   />
00124  
00125  <Parameter 
00126   id="17" name="compute_metrics" type="string" validatorId="15" value="no"
00127   docString='  Compute metrics after computing solution'
00128   />
00129  
00130  <Parameter 
00131   id="18" name="topology" type="string" validatorId="16" value=""
00132   docString='Topology of node to be used in hierarchical partitioning
00133   "2,4"  for dual-socket quad-core
00134   "2,2,6"  for dual-socket, dual-die, six-core
00135   "2,2,3"  for dual-socket, dual-die, six-core but
00136              with only three partitions per die'
00137   />
00138  
00139  <Parameter 
00140   id="19" name="randomize_input" type="string" validatorId="17" value="no"
00141   docString='  randomize input prior to partitioning'
00142   />
00143  
00144  <Parameter 
00145   id="20" name="partitioning_objective" type="string" validatorId="18" value="balance_object_weight"
00146   docString='  objective of partitioning (default depends on algorithm)'
00147   />
00148  
00149  <Parameter 
00150   id="21" name="imbalance_tolerance" type="string" validatorId="19" value="1.1"
00151   docString='  imbalance tolerance, ratio of maximum load over average load (default 1.1)'
00152   />
00153  
00154  <Parameter 
00155   id="22" name="num_global_parts" type="string" validatorId="20" value="0"
00156   docString='  global number of parts to compute (default is number of processes)'
00157   />
00158  
00159  <Parameter 
00160   id="23" name="num_local_parts" type="string" validatorId="21" value="0"
00161   docString='  number of parts to compute for this process(default is one)'
00162   />
00163  
00164  <Parameter 
00165   id="24" name="partitioning_approach" type="string" validatorId="22" value="partition"
00166   docString='  Partition from scratch, partition incrementally from current
00167   partition, of partition from scratch but maximize overlap
00168   with the current partition (default is "partition" from scratch)'
00169   />
00170  
00171  <Parameter 
00172   id="25" name="objects_to_partition" type="string" validatorId="23" value="graph_vertices"
00173   docString='  Objects to be partitioned (defaults are "matrix_rows" for
00174   matrix input, "mesh_nodes" for mesh input, and "graph_vertices"
00175   for graph input)'
00176   />
00177  
00178  <Parameter 
00179   id="26" name="model" type="string" validatorId="24" value="graph"
00180   docString='  This is a low level parameter.  Normally the library will choose
00181   a computational model based on the algorithm or objective specified
00182   by the user.'
00183   />
00184  
00185  <Parameter 
00186   id="27" name="algorithm" type="string" validatorId="25" value="random"
00187   docString='  partitioning algorithm'
00188   />
00189  
00190  <Parameter 
00191   id="28" name="rectilinear_blocks" type="string" validatorId="26" value="no"
00192   docString='  If true, then when a cut is made, all of the dots located on the cut
00193   are moved to the same side of the cut. The resulting regions are then
00194   rectilinear.  The resulting load balance may not be as good as when
00195   the group of dots is split by the cut. Default is false.'
00196   />
00197  
00198  <Parameter 
00199   id="29" name="average_cuts" type="string" validatorId="27" value="no"
00200   docString='  When true, coordinates of RCB cutting planes are computed to be 
00201   the average of the coordinates of the closest object on each side 
00202   of the cut. Otherwise, coordinates of cutting planes may equal 
00203   those of one of the closest objects. Default is false.'
00204   />
00205  
00206  <Parameter 
00207   id="30" name="bisection_num_test_cuts" type="int" validatorId="28" value="1"
00208   docString='  Experimental: number of test cuts to do simultaneously (default is 1)'
00209   />
00210  
00211  <Parameter 
00212   id="31" name="symmetrize_input" type="string" validatorId="29" value="no"
00213   docString='  Symmetrize input prior to pList.  If "transpose",
00214   symmetrize A by computing A plus ATranspose.  If "bipartite",
00215   A becomes [[0 A][ATranspose 0]].  '
00216   />
00217  
00218  <Parameter 
00219   id="32" name="subset_graph" type="string" validatorId="30" value="no"
00220   docString='  If "yes", the graph input is to be subsetted.  If a vertex neighbor
00221   is not a valid vertex, it will be omitted from the pList.  Otherwise,
00222   an invalid neighbor identifier is considered an error.'
00223   />
00224 
00225  <Parameter 
00226   id="33" name="force_binary_search" type="string" validatorId="31" value="no"
00227   docString="If true, then regardless of the part number, cut line will be searched using binary search.\n"
00228   />
00229 
00230  <Parameter 
00231   id="34" name="force_linear_search" type="string" validatorId="32" value="no"
00232   docString="If true, then regardless of the part number, cut line will be searched using linear search.\n"
00233   />
00234 
00235  <Parameter 
00236   id="35" name="parallel_part_calculation_count" type="int" validatorId="33" value="1"
00237   docString="The number of parts whose cut coordinates will be calculated concurently."
00238   />
00239 
00240   <Validators>
00241 
00242     <Validator defaultParameterName="error_check_level" integralValue="int" type="StringIntegralValidator(int)" validatorId="0">
00243       <String integralValue="0" stringDoc="no assertions will be performed" stringValue="no_assertions"/>
00244       <String integralValue="1" stringDoc="typical checks of argument validity (fast, default)" stringValue="basic_assertions"/>
00245       <String integralValue="2" stringDoc="additional checks, i.e. is input graph a valid graph)" stringValue="complex_assertions"/>
00246       <String integralValue="3" stringDoc="check for everything including logic errors (slowest)" stringValue="debug_mode_assertions"/>
00247     </Validator>
00248 
00249     <Validator defaultParameterName="debug_output_stream" integralValue="int" type="StringIntegralValidator(int)" validatorId="3">
00250       <String integralValue="0" stringValue="std::cout"/>
00251       <String integralValue="0" stringValue="cout"/>
00252       <String integralValue="0" stringValue="stdout"/>
00253       <String integralValue="1" stringValue="std::cerr"/>
00254       <String integralValue="1" stringValue="cerr"/>
00255       <String integralValue="1" stringValue="stderr"/>
00256       <String integralValue="2" stringValue="/dev/null"/>
00257       <String integralValue="2" stringValue="null"/>
00258     </Validator>
00259 
00260     <Validator defaultParameterName="debug_level" integralValue="int" type="StringIntegralValidator(int)" validatorId="1">
00261       <String integralValue="0" stringDoc="library outputs no status information" stringValue="no_status"/>
00262       <String integralValue="1" stringDoc="library outputs basic status information (default)" stringValue="basic_status"/>
00263       <String integralValue="2" stringDoc="library outputs detailed information" stringValue="detailed_status"/>
00264       <String integralValue="3" stringDoc="library outputs very detailed information" stringValue="verbose_detailed_status"/>
00265     </Validator>
00266 
00267     <Validator defaultParameterName="timer_type" integralValue="int" type="StringIntegralValidator(int)" validatorId="2">
00268       <String integralValue="0" stringDoc="No timing data will be collected (the default)." stringValue="no_timers"/>
00269       <String integralValue="1" stringDoc="Time an algorithm (or other entity) as a whole." stringValue="macro_timers"/>
00270       <String integralValue="2" stringDoc="Time the substeps of an entity." stringValue="micro_timers"/>
00271       <String integralValue="3" stringDoc="Run both MACRO and MICRO timers." stringValue="both_timers"/>
00272       <String integralValue="4" stringDoc="Run timers added to code for testing, removed later" stringValue="test_timers"/>
00273     </Validator>
00274 
00275     <Validator defaultParameterName="timer_output_stream" integralValue="int" type="StringIntegralValidator(int)" validatorId="4">
00276       <String integralValue="0" stringValue="std::cout"/>
00277       <String integralValue="0" stringValue="cout"/>
00278       <String integralValue="0" stringValue="stdout"/>
00279       <String integralValue="1" stringValue="std::cerr"/>
00280       <String integralValue="1" stringValue="cerr"/>
00281       <String integralValue="1" stringValue="stderr"/>
00282       <String integralValue="2" stringValue="/dev/null"/>
00283       <String integralValue="2" stringValue="null"/>
00284     </Validator>
00285 
00286     <Validator defaultParameterName="memory_output_stream" integralValue="int" type="StringIntegralValidator(int)" validatorId="5">
00287       <String integralValue="0" stringValue="std::cout"/>
00288       <String integralValue="0" stringValue="cout"/>
00289       <String integralValue="0" stringValue="stdout"/>
00290       <String integralValue="1" stringValue="std::cerr"/>
00291       <String integralValue="1" stringValue="cerr"/>
00292       <String integralValue="1" stringValue="stderr"/>
00293       <String integralValue="2" stringValue="/dev/null"/>
00294       <String integralValue="2" stringValue="null"/>
00295     </Validator>
00296 
00297     <Validator fileMustExist="false" type="FilenameValidator" validatorId="6"/>
00298 
00299     <Validator type="IntegerRangeListValidator(int)" unsorted="false" validatorId="7"/>
00300 
00301     <Validator type="IntegerRangeListValidator(int)" unsorted="false" validatorId="9"/>
00302 
00303     <Validator type="IntegerRangeListValidator(int)" unsorted="true" validatorId="8"/>
00304 
00305     <Validator type="StringValidator" validatorId="10">
00306       <String value="speed"/>
00307       <String value="balance"/>
00308       <String value="quality"/>
00309     </Validator>
00310 
00311     <Validator allowDouble="true" allowInt="true" allowString="true" prefferedType="double" type="anynumberValidator" validatorId="12"/>
00312 
00313     <Validator type="StringValidator" validatorId="11">
00314       <String value="memory"/>
00315       <String value="balance"/>
00316       <String value="speed"/>
00317     </Validator>
00318 
00319     <Validator type="StringValidator" validatorId="13">
00320       <String value="rcm"/>
00321       <String value="minimum_degree"/>
00322       <String value="natural"/>
00323       <String value="random"/>
00324     </Validator>
00325 
00326     <Validator defaultParameterName="compute_metrics" integralValue="int" type="StringIntegralValidator(int)" validatorId="15">
00327       <String integralValue="1" stringValue="true"/>
00328       <String integralValue="1" stringValue="yes"/>
00329       <String integralValue="1" stringValue="1"/>
00330       <String integralValue="1" stringValue="on"/>
00331       <String integralValue="0" stringValue="false"/>
00332       <String integralValue="0" stringValue="no"/>
00333       <String integralValue="0" stringValue="0"/>
00334       <String integralValue="0" stringValue="off"/>
00335     </Validator>
00336 
00337     <Validator type="StringValidator" validatorId="14">
00338       <String value="amd"/>
00339       <String value="package2"/>
00340       <String value="package3"/>
00341     </Validator>
00342 
00343     <Validator defaultParameterName="randomize_input" integralValue="int" type="StringIntegralValidator(int)" validatorId="17">
00344       <String integralValue="1" stringValue="true"/>
00345       <String integralValue="1" stringValue="yes"/>
00346       <String integralValue="1" stringValue="1"/>
00347       <String integralValue="1" stringValue="on"/>
00348       <String integralValue="0" stringValue="false"/>
00349       <String integralValue="0" stringValue="no"/>
00350       <String integralValue="0" stringValue="0"/>
00351       <String integralValue="0" stringValue="off"/>
00352     </Validator>
00353 
00354     <Validator type="IntegerRangeListValidator(int)" unsorted="true" validatorId="16"/>
00355 
00356     <Validator allowDouble="true" allowInt="true" allowString="true" prefferedType="double" type="anynumberValidator" validatorId="19"/>
00357 
00358     <Validator allowDouble="true" allowInt="true" allowString="true" prefferedType="double" type="anynumberValidator" validatorId="20"/>
00359 
00360     <Validator type="StringValidator" validatorId="18">
00361       <String value="balance_object_count"/>
00362       <String value="balance_object_weight"/>
00363       <String value="multicriteria_minimize_total_weight"/>
00364       <String value="multicriteria_minimize_maximum_weight"/>
00365       <String value="multicriteria_balance_total_maximum"/>
00366       <String value="minimize_cut_edge_count"/>
00367       <String value="minimize_cut_edge_weight"/>
00368       <String value="minimize_neighboring_parts"/>
00369       <String value="minimize_boundary_vertices"/>
00370     </Validator>
00371 
00372     <Validator allowDouble="true" allowInt="true" allowString="true" prefferedType="double" type="anynumberValidator" validatorId="21"/>
00373 
00374     <Validator type="StringValidator" validatorId="22">
00375       <String value="partition"/>
00376       <String value="repartition"/>
00377       <String value="maximize_overlap"/>
00378     </Validator>
00379 
00380     <Validator type="StringValidator" validatorId="23">
00381       <String value="matrix_rows"/>
00382       <String value="matrix_columns"/>
00383       <String value="matrix_nonzeros"/>
00384       <String value="mesh_elements"/>
00385       <String value="mesh_nodes"/>
00386       <String value="graph_edges"/>
00387       <String value="graph_vertices"/>
00388       <String value="coordinates"/>
00389       <String value="identifiers"/>
00390     </Validator>
00391 
00392     <Validator type="StringValidator" validatorId="24">
00393       <String value="hypergraph"/>
00394       <String value="graph"/>
00395       <String value="geometry"/>
00396       <String value="ids"/>
00397     </Validator>
00398 
00399     <Validator type="StringValidator" validatorId="25">
00400       <String value="rcb"/>
00401       <String value="multijagged"/>
00402       <String value="rib"/>
00403       <String value="hsfc"/>
00404       <String value="patoh"/>
00405       <String value="phg"/>
00406       <String value="metis"/>
00407       <String value="parmetis"/>
00408       <String value="scotch"/>
00409       <String value="ptscotch"/>
00410       <String value="block"/>
00411       <String value="cyclic"/>
00412       <String value="random"/>
00413     </Validator>
00414 
00415     <Validator defaultParameterName="rectilinear_blocks" integralValue="int" type="StringIntegralValidator(int)" validatorId="26">
00416       <String integralValue="1" stringValue="true"/>
00417       <String integralValue="1" stringValue="yes"/>
00418       <String integralValue="1" stringValue="1"/>
00419       <String integralValue="1" stringValue="on"/>
00420       <String integralValue="0" stringValue="false"/>
00421       <String integralValue="0" stringValue="no"/>
00422       <String integralValue="0" stringValue="0"/>
00423       <String integralValue="0" stringValue="off"/>
00424     </Validator>
00425 
00426     <Validator defaultParameterName="average_cuts" integralValue="int" type="StringIntegralValidator(int)" validatorId="27">
00427       <String integralValue="1" stringValue="true"/>
00428       <String integralValue="1" stringValue="yes"/>
00429       <String integralValue="1" stringValue="1"/>
00430       <String integralValue="1" stringValue="on"/>
00431       <String integralValue="0" stringValue="false"/>
00432       <String integralValue="0" stringValue="no"/>
00433       <String integralValue="0" stringValue="0"/>
00434       <String integralValue="0" stringValue="off"/>
00435     </Validator>
00436 
00437     <Validator max="250" min="1" precision="0" step="1" type="EnhancedNumberValidator(int)" validatorId="28"/>
00438 
00439     <Validator type="StringValidator" validatorId="29">
00440       <String value="no"/>
00441       <String value="transpose"/>
00442       <String value="bipartite"/>
00443     </Validator>
00444 
00445     <Validator defaultParameterName="subset_graph" integralValue="int" type="StringIntegralValidator(int)" validatorId="30">
00446       <String integralValue="1" stringValue="true"/>
00447       <String integralValue="1" stringValue="yes"/>
00448       <String integralValue="1" stringValue="1"/>
00449       <String integralValue="1" stringValue="on"/>
00450       <String integralValue="0" stringValue="false"/>
00451       <String integralValue="0" stringValue="no"/>
00452       <String integralValue="0" stringValue="0"/>
00453       <String integralValue="0" stringValue="off"/>
00454     </Validator>
00455 
00456     <Validator defaultParameterName="force_binary_search" integralValue="int" type="StringIntegralValidator(int)" validatorId="31">
00457       <String integralValue="1" stringValue="true"/>
00458       <String integralValue="1" stringValue="yes"/>
00459       <String integralValue="1" stringValue="1"/>
00460       <String integralValue="1" stringValue="on"/>
00461       <String integralValue="0" stringValue="false"/>
00462       <String integralValue="0" stringValue="no"/>
00463       <String integralValue="0" stringValue="0"/>
00464       <String integralValue="0" stringValue="off"/>
00465     </Validator>
00466 
00467     <Validator defaultParameterName="force_linear_search" integralValue="int" type="StringIntegralValidator(int)" validatorId="32">
00468       <String integralValue="1" stringValue="true"/>
00469       <String integralValue="1" stringValue="yes"/>
00470       <String integralValue="1" stringValue="1"/>
00471       <String integralValue="1" stringValue="on"/>
00472       <String integralValue="0" stringValue="false"/>
00473       <String integralValue="0" stringValue="no"/>
00474       <String integralValue="0" stringValue="0"/>
00475       <String integralValue="0" stringValue="off"/>
00476     </Validator>
00477 
00478     <Validator defaultParameterName="parallel_part_calculation_count" allowDouble="false" allowInt="true" allowString="true" prefferedType="int" type="anynumberValidator" validatorId="33"/>
00479 
00480 
00481   </Validators>
00482 
00483 </ParameterList>
00484