You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
170 lines
8.7 KiB
170 lines
8.7 KiB
<!-------- @HEADER
|
|
!
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
!
|
|
! Zoltan Toolkit for Load-balancing, Partitioning, Ordering and Coloring
|
|
! Copyright 2012 Sandia Corporation
|
|
!
|
|
! Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
|
|
! the U.S. Government retains certain rights in this software.
|
|
!
|
|
! Redistribution and use in source and binary forms, with or without
|
|
! modification, are permitted provided that the following conditions are
|
|
! met:
|
|
!
|
|
! 1. Redistributions of source code must retain the above copyright
|
|
! notice, this list of conditions and the following disclaimer.
|
|
!
|
|
! 2. Redistributions in binary form must reproduce the above copyright
|
|
! notice, this list of conditions and the following disclaimer in the
|
|
! documentation and/or other materials provided with the distribution.
|
|
!
|
|
! 3. Neither the name of the Corporation nor the names of the
|
|
! contributors may be used to endorse or promote products derived from
|
|
! this software without specific prior written permission.
|
|
!
|
|
! THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
|
|
! EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
! PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
|
|
! CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
! EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
! PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
! PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
! LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
! NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
! SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
!
|
|
! Questions? Contact Karen Devine kddevin@sandia.gov
|
|
! Erik Boman egboman@sandia.gov
|
|
!
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
!
|
|
! @HEADER
|
|
------->
|
|
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; U; SunOS 5.7 sun4u) [Netscape]">
|
|
<meta name="sandia.approved" content="SAND99-1376">
|
|
<meta name="author" content="karen devine, kddevin@sandia.gov">
|
|
<title> Zoltan Developer's Guide: Using Test Drivers: zdrive and zfdrive</title>
|
|
|
|
</head>
|
|
<body bgcolor="#FFFFFF">
|
|
|
|
<div ALIGN=right><b><i><a href="dev.html">Zoltan Developer's Guide</a> | <a href="dev_view.html">Next</a> | <a href="dev_refs.html">Previous</a></i></b></div>
|
|
|
|
|
|
<h2>
|
|
<a NAME="Zdrive"></a>Appendix: Using the Test Drivers: <i>zdrive</i>, <i>zCPPdrive</i> and <i>zfdrive</i></h2>
|
|
|
|
<h3>
|
|
<a NAME="Introduction"></a>Introduction</h3>
|
|
In order to facilitate development and testing of the Zoltan library,
|
|
simple driver programs, <i>zdrive</i> (C), <i>zCPPdrive</i> (C++)
|
|
and <i>zfdrive</i> (Fortran90),
|
|
are included with the library
|
|
distribution. The concept behind the drivers is to read in mesh or graph
|
|
information from files, run Zoltan, and then output the new assignments
|
|
for each processor to another file. The test drivers <i>zdrive</i>
|
|
and <i>zCPPdrive</i> read ExodusII/NemesisI
|
|
parallel FEM files, <a href="http://cs.sandia.gov/CRF/chac.html">Chaco</a>
|
|
input files, or <a href="https://math.nist.gov/MatrixMarket/">general
|
|
Matrix-Market</a> files.
|
|
Parallel NemesisI files can be created from ExodusII or Genesis
|
|
file using the NemesisI utilities <i>nem_slice</i> and <i>nem_spread</i>.
|
|
The Fortran90 program <i>zfdrive</i> reads only <a href="http://cs.sandia.gov/CRF/chac.html">Chaco</a> input files
|
|
and <a href="https://math.nist.gov/MatrixMarket/">general Matrix-Market</a>
|
|
files.
|
|
<p>
|
|
Source code for <i>zdrive</i> is in
|
|
the <i>driver</i> and <i>ch</i> directories of
|
|
the Zoltan distribution.
|
|
The source code for <i>zCPPdrive</i> is also in <i>driver</i>, and uses some
|
|
of the same C source files (in <i>driver</i> and <i>ch</i>) that <i>zdrive</i> uses.
|
|
Source code for <i>zfdrive</i> is in the <i>fdriver</i> directory.
|
|
<p>
|
|
The C and C++ test drivers are built automatically in the
|
|
<a href="../ug_html/ug_usage.html#Autotools">Autotools</a> build system.
|
|
The F90 driver is built when the configure option "--enable-f90interface" is
|
|
provided. The drivers are placed in <i>BUILD_DIR/src/driver</i> and
|
|
<i>BUILD_DIR/src/fdriver</i>, for build directory <i>BUILD_DIR</i>.
|
|
<p>
|
|
The C and C++ test drivers are built in the
|
|
<a href="../ug_html/ug_usage.html#CMake">CMake</a> build system when
|
|
option "-D Zoltan_ENABLE_Tests:BOOL=ON" is provided. The F90 driver is
|
|
built when option "-D Zoltan_ENABLE_F90INTERFACE:BOOL=ON" is also provided.
|
|
The drivers are placed in <i>BUILD_DIR/packages/zoltan/src/driver</i> and
|
|
<i>BUILD_DIR/packages/zoltan/src/fdriver</i>; they are also copied to
|
|
<i>BUILD_DIR/packages/zoltan/test</i>.
|
|
<h3>
|
|
<a NAME="running zdrive"></a>Running the Test Drivers</h3>
|
|
The test drivers are run using an input command file. A fully commented example of
|
|
this file and the possible options can be found in <i><a href="zdrive.inp">zdrive.inp</a></i>.
|
|
The default name for the command file is <i>zdrive.inp</i>, and the drivers will
|
|
look for this file in the execution directory if an alternate name is not
|
|
given on the command line. If another filename is being used for the command
|
|
file, it should be specified as the first argument on the command line.
|
|
(Note: <i>zfdrive</i> cannot read a command line argument; its input file
|
|
must be named <i>zdrive.inp</i>.)
|
|
<p>
|
|
For an example of a simple input file, see the <a href="#zdrive input">figure</a>
|
|
below. In this problem, the method being used for dynamic load balancing
|
|
is <a href="dev_rcb.html#RCB">RCB</a>. Input data is read from <a href="http://cs.sandia.gov/CRF/chac.html">Chaco</a>
|
|
input files<i> simple.graph</i> and <i>simple.coords</i>. Zoltan's
|
|
<a href="../ug_html/ug_param.html#Debug Levels in Zoltan">DEBUG_LEVEL</a> parameter
|
|
is set to 3; default values of all other parameters are used.
|
|
(Note: <i>zfdrive</i> can read only a simplified version of the input file.
|
|
See the <i>zfdrive</i> notes in <i><a href="zdrive.inp">zdrive.inp</a></i> for more details.)
|
|
<br>
|
|
<center><table BORDER=2 COLS=1 WIDTH="90%" NOSAVE >
|
|
<tr VALIGN=TOP>
|
|
<td><a NAME="zdrive input"></a>
|
|
<tt>
|
|
Decomposition method = rcb
|
|
<br>Zoltan Parameters = Debug_Level=3
|
|
<br>File Type
|
|
= Chaco
|
|
<br>File Name
|
|
= simple
|
|
<br>Parallel Disk Info = number=0
|
|
</tt>
|
|
</td>
|
|
</tr>
|
|
|
|
<caption ALIGN=BOTTOM><i><font size=-1>Example zdrive.inp file</font></i></caption>
|
|
</table></center>
|
|
|
|
<p>The <i>zdrive</i> programs creates ascii files named
|
|
"<i>file_name</i>.out.<i>p</i>.<i>n</i>", where <i>file_name</i>
|
|
is the file name specified in <i>zdrive.inp</i>, <i>p</i> is the number
|
|
of processors on which <i>zdrive</i> was run, and <i>n</i>=0,1,...,<i>p</i>-1 is
|
|
the processor by which the file was created. (For <i>zfdrive</i>, the
|
|
files are named "<i>file_name</i>.fout.<i>p</i>.<i>n</i>".)
|
|
These files are in the same directory where the input graph
|
|
file was located for that processor. Each file contains a list of global
|
|
ids for the elements that are assigned to that processor after running Zoltan.
|
|
The input decomposition can also be written in this format to files
|
|
"<i>file_name</i>.in.<i>p</i>.<i>n</i>";
|
|
see "zdrive debug level" in <i><a href="zdrive.inp">zdrive.inp</a></i> for more details.
|
|
<p>
|
|
Decompositions for 2D problems can be written to files that can be plotted
|
|
by <a href="https://www.gnuplot.org/">gnuplot</a>. See "gnuplot output" in <i><a href="zdrive.inp">zdrive.inp</a></i>
|
|
for more information. Decompositions for 3D problems can be viewed after the
|
|
test driver has finished by running the graphical tools <I>vtk_view</I> or
|
|
<I>vtk_write</I> described <a href="dev_view.html">next</a>.
|
|
<h3>
|
|
<a NAME="adding algorithms"></a>Adding New Algorithms</h3>
|
|
The driver has been set up in such a way that testing new algorithms that
|
|
have been added to Zoltan is relatively simple. The method that is in the
|
|
input file is passed directly to Zoltan. Thus, this string must be the
|
|
same string that the parameter <a href="../ug_html/ug_alg.html#LB_METHOD"><i>LB_METHOD</i></a> is expecting.
|
|
<h3>
|
|
<hr WIDTH="100%">
|
|
<br>[<a href="dev.html">Table of Contents</a> | <a href="dev_view.html">Next:
|
|
Visualizing Geometric Partitions</a> | <a href="dev_refs.html">Previous:
|
|
References</a> | <a href="https://www.sandia.gov/general/privacy-security/index.html">Privacy and Security</a>]
|
|
</body>
|
|
</html
|
|
|