mirror of
https://github.com/PhasicFlow/phasicFlow.git
synced 2025-06-12 16:26:23 +00:00
Zoltan is added as thirdParty package
This commit is contained in:
133
thirdParty/Zoltan/docs/dev_html/dev_hier.html
vendored
Normal file
133
thirdParty/Zoltan/docs/dev_html/dev_hier.html
vendored
Normal file
@ -0,0 +1,133 @@
|
||||
<!-------- @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
|
||||
------->
|
||||
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META NAME="sandia.approved" CONTENT="SAND99-1376">
|
||||
<META NAME="author" CONTENT="Jim Teresco, jdteres@sandia.gov">
|
||||
<TITLE> Zoltan Developer's Guide: HIER</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
|
||||
<div ALIGN=right><b><i><a href="dev.html">Zoltan Developer's Guide</a> | <a href="dev_rib.html">Next</a> | <a href="dev_test_script.html">Previous</a></i></b></div>
|
||||
|
||||
|
||||
<H2>
|
||||
<A NAME="HIER"></A>Appendix: Hierarchical Partitioning (HIER)</H2>
|
||||
|
||||
|
||||
<H3>
|
||||
Outline of Algorithm</H3>
|
||||
|
||||
<P>Zoltan's hierarchical balancing automates the creation of hierarchical
|
||||
partitions. The implementation of Hierarchical Partitioning (HIER) in Zoltan is
|
||||
due to Jim Teresco (Williams College), with many suggestions and ideas
|
||||
from the entire Zoltan team.<P>
|
||||
|
||||
The hierarchical balancing implementation utilizes a lightweight
|
||||
intermediate structure and a set of callback functions that permit an
|
||||
automated and efficient hierarchical balancing which can use any of
|
||||
the procedures available within Zoltan without modification and in any
|
||||
combination. Hierachical balancing is invoked by an application the
|
||||
same way as other Zoltan procedures. Since Zoltan is data-structure
|
||||
neutral, it operates on generic "objects" and interfaces with
|
||||
applications through callback functions.<P>
|
||||
|
||||
A hierarchical balancing step begins by building an intermediate
|
||||
structure using the application-supplied callbacks. The initial
|
||||
structure is computed using <B>Zoltan_Build_Graph</B> to build the
|
||||
same structure that is used to support partitioning using the Parmetis
|
||||
and Jostle libraries. The hierarchical balancing procedure then
|
||||
provides its own callback functions to allow existing Zoltan
|
||||
procedures to be used to query and update the intermediate structure
|
||||
at each level of a hierarchical balancing. The structure is augmented
|
||||
to keep track of objects and their needed information during the
|
||||
procedure. After all levels of the hierarchical balancing have been
|
||||
completed, Zoltan's usual migration arrays are constructed and
|
||||
returned to the application. Thus, only lightweight objects are
|
||||
migrated internally between levels, not the (larger and more costly)
|
||||
application data. More details about the fields of the intermediate
|
||||
structure and how the are used can be found in the Zoltan distribution
|
||||
in <I>hier/README</I>.<P>
|
||||
|
||||
<BR>
|
||||
|
||||
<H3>
|
||||
Data Structure Definitions</H3>
|
||||
|
||||
<P>There is one major data structure in HIER, defined in
|
||||
<i>hier/hier.h</i>. The <I>struct HierPartParamsStruct</I> includes
|
||||
all information needed by the hierarchical balancing procedures. The
|
||||
fields are documented in comments in the structure definition.
|
||||
|
||||
<BR>
|
||||
|
||||
<H3>
|
||||
Parameters</H3>
|
||||
|
||||
<P>The parameters used by HIER and their default values are described in the
|
||||
<a href="../ug_html/ug_alg_hier.html">HIER section</a> of the <B><A HREF="../ug_html/ug.html">Zoltan User's
|
||||
Guide</A></B>. These can be set by use of the <b>Zoltan_Hier_Set_Param</b> subroutine
|
||||
in the file <i>hier/hier.c</i>.
|
||||
|
||||
<BR>
|
||||
|
||||
<H3>
|
||||
Main Routine</H3>
|
||||
|
||||
<P>The main routine for HIER is <b>Zoltan_Hier</b> in the file <i>hier/hier.c</i>.
|
||||
|
||||
<BR>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<HR WIDTH="100%">
|
||||
<BR>[<A HREF="dev.html">Table of
|
||||
Contents</A> | <a href="dev_rib.html">Next:
|
||||
Recursive Inertial Bisection (RIB)</a> | <A HREF="dev_test_script.html">
|
||||
Previous: Using the Test Script</A> | <a href="https://www.sandia.gov/general/privacy-security/index.html">Privacy and Security</a>]
|
||||
</BODY>
|
||||
</HTML>
|
Reference in New Issue
Block a user