Zoltan2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
input_template.xml
Go to the documentation of this file.
1 <!--
2 
4  REQUIRED BLOCKS:
5  1. Input parameters
6  2. Problem parameters
7 
8  OPTIONAL Blocks:
9  3. Comparison
10 
11  SUPPORTED INPUT FILE TYPES:
12  1. Geometric Generator
13  2. Pamgen
14  3. Chaco
15  4. Matrix Market
16 
17  SUPPORTED PROBLEM TYPES:
18  1. partitioning
19 
20  SUPPORTED INPUT DATA TYPES:
21  1. coordinates
22  2. (x,t,e)petra_crs_matrix
23  3. (x,t,e)petra_crs_graph
24  4. (x,t,e)petra_vector
25  5. (x,t,e)petra_multivector
26 
27  SUPPORTED INPUT ADAPTERS:
28  1. BasicIdentifier
29  2. XpetraMultiVector
30  3. XpetraCrsGraph
31  4. XpetraCrsMatrix
32  5. BasicVector
33  5. PamgenMesh
34 
35  SUPPORTED TIMERS FOR COMPARSISON:
36  1. adapter construction time
37  2. problem construction time
38  3. solve time
39 
40  ** REFER TO THE README FOR A MORE DETAILED EXPLANATION
41 
44 
45 
46 <!-- ALL DEFINITION BLOCKS MUST BE WRAPPED IN A MAIN BLOCK.
47  THE NAME OF THE MAIN BLOCK IS ARBITRAY. -->
48 
49 <ParameterList name="test_driver template">
50 
51 
52  <!--
53 
55  1. INPUT SOURCE BLOCK DEFINITION
56 
59 
60  <!--####################################################
61  Specify input source
62  * Note only once input source per driver input
63  is allowed, i.e. one data source for all
64  tests. There are 2 main input block formats,
65  both of which are illustrated below. You may only
66  use one of these blocks per input file!!!!
67 
68  The first is for a data source to be read
69  from file. The second is for galeri generate data on
70  a structured grid. Galeri grids can be 1, 2, or 3D.
71  The dimension is infered by which coordinate parameters
72  (x,y,z) are defined, e.g. if only the x parameter is
73  defined then the problem is assumed to be 1D.
74 
75  ** parameters: distribute input and debug are optional.
76  If not defined they default to true.
77  #####################################################-->
78 
79  <ParameterList name="InputParameters">
80  <Parameter name="debug" type="bool" value="true/false"/>
81  <Parameter name="distribute input" type="bool" value="true/false"/>
82 
83  <Parameter name="input path" type="string" value="PATH/TO/INPUT/DIRECTORY"/>
84  <Parameter name="input file" type="string" value="FILE NAME (NO EXTENSION)"/>
85  <Parameter name="file type" type="string" value="INPUT FILE TYPE"/>
86  </ParameterList>
87 
88  <!-- GALERI GRIDS MAY BE 1,2, OR 3D.-->
89  <!-- FOR A 1D PROBLEM EXCLUDE x AND y PARAMETERS, ETC.-->
90  <ParameterList name="InputParameters">
91  <Parameter name="debug" type="bool" value="true/false"/>
92  <Parameter name="distribute input" type="bool" value="true/false"/>
93 
94  <Parameter name="x" type="int" value="##"/>
95  <Parameter name="y" type="int" value="##"/>
96  <Parameter name="z" type="int" value="##"/>
97  <Parameter name="equation type" type="string" value="GALERI EQUATION"/>
98  </ParameterList>
99 
100  <!--
101 
103  2. PROBLEM BLOCK DEFINITION
104 
107 
108  <ParameterList name="TEST/PROBLEM TITLE #1">
109 
110  <!--####################################################
111  Specify the problem type
112  #####################################################-->
113 
114  <Parameter name="kind" type="string" value="PROBLEM TYPE"/>
115 
116 
117  <!--####################################################
118  Define block for the input adapter
119  * must define a data type
120  ** multivector data types require you to
121  define a 'vector_dimension' parameter,
122  which is an int value corresponding to
123  the multivector dimension
124  * must define an adapter type
125  #####################################################-->
126 
127  <ParameterList name="InputAdapterParameters">
128  <Parameter name="data type" type="string" value="INPUT DATA TYPE"/>
129  <Parameter name="input adapter" type="string" value="INPUT ADAPTER TYPE"/>
130  </ParameterList>
131 
132 
133  <!--####################################################
134  Define block of Zoltan2 problem parameters
135  * all Zoltan2 parameters are valid
136  * tell Zoltan to compute metrics if you are
137  going to run a pass fail test defined
138  by the following metrics block
139  #####################################################-->
140 
141  <ParameterList name="Zoltan2Parameters">
142  <Parameter name="algorithm" type="string" value="SPECIFY ALGORITHM" />
143  <Parameter name="rectilinear" type="bool" value="true/false"/>
144  <Parameter name="compute_metrics" type="bool" value="true/false"/>
145  </ParameterList>
146 
147 
148  <!--####################################################
149  (OPTIONAL) Define block of metric tolerances
150  * block names must == Zoltan2 metric name
151  * object count, weight ##, edge ## etc
152  #####################################################-->
153 
154  <ParameterList name="Metrics">
155  <ParameterList name="METRIC NAME">
156  <Parameter name="lower" type="double" value="##.####"/>
157  <Parameter name="upper" type="double" value="##.####"/>
158  </ParameterList>
159  </ParameterList>
160 
161  </ParameterList>
162 
163  <ParameterList name="TEST/PROBLEM TITLE #2">
164  <!-- Define second problem here... -->
165  </ParameterList>
166 
167  <ParameterList name="TEST/PROBLEM TITLE #3">
168  <!-- Define 3rd problem here, etc... -->
169  </ParameterList>
170 
171 
172 
173  <!--
174 
176  3. (OPTIONAL) COMPARISON BLOCK DEFINITION
177 
180 
181  <!--####################################################
182  Define comparison block to compare solutions of
183  problems A and B, or to compare metrics/timers
184  of a problem versus a reference problem
185  * define problems to compare by block name
186  as shown below
187  #####################################################-->
188 
189  <ParameterList name="Comparison">
190  <Parameter name="A" type="string" value="TEST/PROBLEM TITLE #1"/>
191  <Parameter name="B" type="string" value="TEST/PROBLEM TITLE #2"/>
192  </ParameterList>
193 
194  <ParameterList name="Comparison">
195  <Parameter name="A" type="string" value="TEST/PROBLEM TITLE #1"/>
196  <Parameter name="B" type="string" value="TEST/PROBLEM TITLE #3"/>
197  </ParameterList>
198 
199  <ParameterList name="Comparison"> <!-- compare specified metrics of problem to a baseline reference-->
200  <Parameter name="Problem" type="string" value="TEST/PROBLEM TITLE #1"/>
201  <Parameter name="Reference" type="string" value="TEST/PROBLEM TITLE #2"/><!-- compare our test problem against this one-->
202 
203  <ParameterList name="metriccheck1">
204  <Parameter name="check" type="string" value="max edge cuts"/>
205  <Parameter name="weight" type="int" value="0"/>
206  <Parameter name="lower" type="double" value="1.0"/>
207  <Parameter name="upper" type="double" value="999.0"/>
208  </ParameterList>
209  <ParameterList name="metriccheck2">
210  <Parameter name="check" type="string" value="max edge cuts"/>
211  <Parameter name="weight" type="int" value="1"/>
212  <Parameter name="lower" type="double" value="1.0"/>
213  <Parameter name="upper" type="double" value="999.0"/>
214  </ParameterList>
215  <ParameterList name="metriccheck3">
216  <Parameter name="check" type="string" value="total edge cuts"/>
217  <Parameter name="weight" type="int" value="0"/>
218  <Parameter name="lower" type="double" value="1.0"/>
219  <Parameter name="upper" type="double" value="999.0"/>
220  </ParameterList>
221  <ParameterList name="metriccheck4">
222  <Parameter name="check" type="string" value="total edge cuts"/>
223  <Parameter name="weight" type="int" value="1"/>
224  <Parameter name="lower" type="double" value="1.0"/>
225  <Parameter name="upper" type="double" value="999.0"/>
226  </ParameterList>
227 
228  <ParameterList name="TIMER NAME">
229  <Parameter name="lower" type="double" value="##.####"/>
230  <Parameter name="upper" type="double" value="##.####"/>
231  </ParameterList>
232 
233  </ParameterList>
234 
235 </ParameterList>
236 
237 <!-- EOF-->
void distribute(Teuchos::ArrayRCP< size_t > &myNumEntriesPerRow, Teuchos::ArrayRCP< size_t > &myRowPtr, Teuchos::ArrayRCP< global_ordinal_type > &myColInd, Teuchos::ArrayRCP< scalar_type > &myValues, const Teuchos::RCP< const map_type > &pRowMap, global_ordinal_type *rowPtr, global_ordinal_type *colInd, const bool debug=false)
int main(int narg, char **arg)
Definition: coloring1.cpp:199
static RCP< tMVector_t > coordinates
static const std::string fail
static const std::string pass
int run(const RCP< const Comm< int > > &comm, int numGlobalParts, int testCnt, std::string *thisTest)