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.
748 lines
32 KiB
748 lines
32 KiB
2 years ago
|
<!-------- @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.6 sun4m) [Netscape]">
|
||
|
<meta name="sandia.approval_type" content="formal">
|
||
|
<meta name="sandia.approved" content="SAND2007-4748W">
|
||
|
<meta name="author" content="Zoltan PI">
|
||
|
|
||
|
<title>Zoltan User's Guide: Release Notes</title>
|
||
|
</head>
|
||
|
<body bgcolor="#ffffff">
|
||
|
<div align="right"><b><i><a href="ug.html">Zoltan User's Guide</a>
|
||
|
| <a href="ug_backward.html">Next</a> | <a
|
||
|
href="ug_examples_query.html">Previous</a></i></b></div>
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<h2><a name="Release Notes">Release Notes
|
||
|
</a></h2>
|
||
|
<a name="Release Notes">Release notes are available for the following
|
||
|
releases of Zoltan:
|
||
|
</a>
|
||
|
<blockquote>
|
||
|
<a href="#Release3.83">Zoltan Release v3.83 in Trilinos v12.6</a><br>
|
||
|
<a href="#Release3.82">Zoltan Release v3.82 in Trilinos v12</a><br>
|
||
|
<a href="#Release3.81">Zoltan Release v3.81 in Trilinos v11.12</a><br>
|
||
|
<a href="#Release3.8">Zoltan Release v3.8 in Trilinos v11</a><br>
|
||
|
<a href="#Release3.7">Zoltan Release v3.7 in Trilinos v11</a><br>
|
||
|
<a href="#Release3.6">Zoltan Release v3.6</a><br>
|
||
|
<a href="#Release3.501">Zoltan Release v3.501</a><br>
|
||
|
<a href="#Release3.5">Zoltan Release v3.5</a><br>
|
||
|
<a href="#Release3.3">Zoltan Release v3.3</a><br>
|
||
|
<a href="#Release3.2">Zoltan Release v3.2</a><br>
|
||
|
<a href="#Release3.1">Zoltan Release v3.1</a><br>
|
||
|
<a href="#Release3.0">Zoltan Release v3.0</a><br>
|
||
|
<a href="#Release2.1">Zoltan Release v2.1</a><br>
|
||
|
<a href="#Release2.02">Zoltan Release v2.02</a><br>
|
||
|
<a href="#Release2.01">Zoltan Release v2.01</a><br>
|
||
|
<a href="#Release2.0">Zoltan Release v2.0</a><br>
|
||
|
<a href="#Release1.54">Zoltan Release v1.54</a> <br>
|
||
|
<a href="#Release1.53">Zoltan Release v1.53</a> <br>
|
||
|
<a href="#Release1.52">Zoltan Release v1.52</a> <br>
|
||
|
<a href="#Release1.5">Zoltan Release v1.5</a> <br>
|
||
|
<a href="#Release1.3">Zoltan Release v1.3</a>
|
||
|
</blockquote>
|
||
|
<hr>
|
||
|
<h2><a name="Release3.83">Zoltan Release v3.83 in Trilinos v12.6; January 2016</a></h2>
|
||
|
<ul>
|
||
|
<li> Autotools files updated to avoid deprecated perl features </li>
|
||
|
<li> Added Zoltan_Get_Fn interface to return pointers to registered callback
|
||
|
functions.</li>
|
||
|
<li> Several bug fixes in Fortran90 interface </li>
|
||
|
<li> Subtle rounding error fixed in PHG hypergraph partitioner </li>
|
||
|
<li> Minor changes to distributed data directory to track number of nodes
|
||
|
per processor; include file DD.h is now named zoltan_dd_const.h </li>
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release3.82">Zoltan Release v3.82 in Trilinos v12; May 2015</a></h2>
|
||
|
<ul>
|
||
|
<li> Minor code clean-up to remove compiler warnings and handle error conditions.
|
||
|
<li> Enable "make -j" when building Zoltan's Fortran90 interface with autotools.
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release3.81">Zoltan Release v3.81 in Trilinos v11.12; November 2014</a></h2>
|
||
|
<ul>
|
||
|
<li> Several improvements were made to Zoltan's interface to ParMETIS v4,
|
||
|
METIS v5, and Scotch v6.
|
||
|
<li> New statistics were added to the RCB and RIB algorithms' output.
|
||
|
<li> Checks for MPI_VERSION 1 or 2 were added where appropriate to handle
|
||
|
MPI interface changes.
|
||
|
<li> For non-MPI builds of Zoltan, a bug in the serial MPI stubs siMPI was
|
||
|
fixed; the bug occurred when many MPI_Datatypes were defined by the
|
||
|
algorithm (e.g., in deep recursion level of multilevel partitioning methods).
|
||
|
<li> Several minor bugs were fixed.
|
||
|
<li> No Zoltan interfaces were changed; Zoltan 3.81 is fully
|
||
|
backward-compatible with Zoltan 3.8.
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release3.8">Zoltan Release Notes v3.8: October 2013</a></h2>
|
||
|
<ul>
|
||
|
<li> An improved hash function reduces execution time in partitioning,
|
||
|
particularly when parameter RETURN_LISTS=PARTS is used.
|
||
|
<li> Several bug fixes address overflow issues in cases where integers A and B
|
||
|
are valid integers, but A*B overflows an integer.
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release3.7">Zoltan Release Notes v3.7: September 2012</a></h2>
|
||
|
<ul>
|
||
|
<li> The following features (deprecated in Trilinos v10.8) are no longer
|
||
|
supported in Trilinos v11.
|
||
|
<ul>
|
||
|
<li>Zoltan is now released under Trilinos' BSD license.
|
||
|
<li> Zoltan v1.1 interface (as described in Zoltan include file lbi_const.h):
|
||
|
users should upgrade their Zoltan interface and include file zoltan.h.
|
||
|
Instructions are at the <a href="../Zoltan_FAQ.html">Zoltan FAQ page</a>.
|
||
|
<li> Partitioning method OCTPART: use partitioning method HSFC for similar
|
||
|
partitions with faster partitioning time.
|
||
|
<li> Use of DRUM as a Zoltan TPL: architecture-aware methods will be included
|
||
|
in Zoltan2.
|
||
|
</ul>
|
||
|
<li> Improved memory usage in Zoltan Distributed Data Directories. Memory is
|
||
|
now managed in a single block, eliminating excessive calls to malloc and
|
||
|
improving the runtime performance of the data directories and the
|
||
|
hierarchical partitioning algorithms that use them.
|
||
|
<li> Hierarchical partitioning received several performance, interface and
|
||
|
testing improvements. In particular, an easier-to-use interface has been
|
||
|
added using simple parameters (HIER_ASSIST, PLATFORM_NAME, TOPOLOGY)
|
||
|
instead of callback functions; the callback function interface is still
|
||
|
supported. Also, hierarchical partitioning can now be used with only
|
||
|
geometric partitioners and callbacks, whereas before it required
|
||
|
graph-based callbacks as well.
|
||
|
<li> Reduced the memory usage of RCB and RIB when parameter KEEP_CUTS=0.
|
||
|
<li> Increased use of point-to-point communication (instead of MPI_Alltoall)
|
||
|
in communication package for better performance on large number of
|
||
|
processors.
|
||
|
<li> Compilation with gcc 4.7 is now supported.
|
||
|
<li> Using MurmurHash for better hashing.
|
||
|
<li> Zoltan supports PT-Scotch v5.1.12 and ParMETIS v4, as well as some older
|
||
|
versions of these TPLs.
|
||
|
<li> Zoltan's graph build has been streamlined; if possible, use the parameter
|
||
|
"GRAPH_BUILD_TYPE" == "FAST_NO_DUP" for faster graph builds.
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release3.6">Zoltan Release Notes v3.6: September 13, 2011</a></h2>
|
||
|
<ul>
|
||
|
<li>
|
||
|
Added new recoloring capability to Zoltan coloring algorithms, providing
|
||
|
lower numbers of colors at small additional cost.
|
||
|
</li>
|
||
|
<li>
|
||
|
Updated Zoltan to allow use of third-party libraries ParMETIS versions 3.1 and 4.0 and Scotch versions up to 5.1.12.
|
||
|
</li>
|
||
|
<li>
|
||
|
Updated Zoltan's hierarchical partitioning for greater efficiency.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release3.501">Zoltan Release Notes v3.501: May 12, 2011</a></h2>
|
||
|
Fixed bug in autotools installation of Zoltan;
|
||
|
file Zoltan_config.h is now installed
|
||
|
in the specified include directory.
|
||
|
<hr>
|
||
|
<h2><a name="Release3.5">Zoltan Release Notes v3.5: March 24, 2011</a></h2>
|
||
|
Features:
|
||
|
<ul>
|
||
|
<li>
|
||
|
Fix in Fortran90 interface that causes compilation and run-time problems
|
||
|
with gcc 4.5 and later when compiler optimization is enabled.
|
||
|
</li>
|
||
|
<li>
|
||
|
Support for 64-bit builds of Zoltan, enabling operation on more than 2B objects.
|
||
|
See details for building in the <a href="ug_usage.html">Zoltan User's Guide</a>.
|
||
|
</li>
|
||
|
<li>
|
||
|
Faster graph builds for very specific input types. See parameter
|
||
|
<a href="ug_graph_build.html">GRAPH_BUILD_TYPE</a>.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release3.3">Zoltan Release Notes v3.3: July 31, 2010</a></h2>
|
||
|
|
||
|
Features:
|
||
|
<ul>
|
||
|
<li>
|
||
|
New <a href="ug_order_local_hsfc.html">local ordering method based on
|
||
|
space-filling curves</a> to improve
|
||
|
memory and cache locality within a processor.
|
||
|
</li>
|
||
|
<li>
|
||
|
Ability to call graph partitioning algorithms using hypergraph callback
|
||
|
functions; this capability is useful applications with, say, block-structured
|
||
|
matrix distributions (e.g., SuperLU), where all information about a matrix
|
||
|
row or column is not available on a single processor.
|
||
|
</li>
|
||
|
<li>
|
||
|
Improved execution time of parallel hypergraph partitioning.
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<hr>
|
||
|
<h2><a name="Release3.2">Zoltan Release Notes v3.2: September 24, 2009</a></h2>
|
||
|
|
||
|
Features:
|
||
|
<ul>
|
||
|
<li>
|
||
|
New <a href="ug_alg_ptscotch.html">interface</a>
|
||
|
to <a href="https://www.labri.fr/perso/pelegrin/scotch/">
|
||
|
Scotch and PT-Scotch</a> parallel graph partitioning
|
||
|
algorithms.
|
||
|
</li>
|
||
|
<li>
|
||
|
Simplified interface to graph <a href="ug_interface_order.html">ordering</a>
|
||
|
and <a href="ug_interface_color.html">coloring</a> algorithms
|
||
|
</li>
|
||
|
<li>
|
||
|
Automated symmetrization of graphs for graph partitioning, coloring
|
||
|
and ordering.
|
||
|
(See parameters GRAPH_SYMMETRIZE and GRAPH_SYM_WEIGHT in the
|
||
|
<a href="ug_alg_ptscotch.html">Scotch</a> and
|
||
|
<a href="ug_alg_parmetis.html">ParMETIS</a> graph packages.)
|
||
|
</li>
|
||
|
<li>
|
||
|
Improved function
|
||
|
<a href="ug_interface_lb.html#Zoltan_LB_Eval"><b>Zoltan_LB_Eval</b></a>
|
||
|
returns more information about a decomposition to users.
|
||
|
</li>
|
||
|
<li>
|
||
|
Improved examples showing Zoltan usage in C and C++
|
||
|
are included in <i>zoltan/example</i>.
|
||
|
</li>
|
||
|
<li>
|
||
|
Improved support for <a href="ug_usage.html#Autotools">builds under autotools</a>,
|
||
|
including builds of Zoltan's F90 interface.
|
||
|
</li>
|
||
|
<li>
|
||
|
New support for <a href="ug_usage.html#CMake">CMake builds</a>
|
||
|
and testing through Trilinos; builds of
|
||
|
Zoltan's F90 interface are included.
|
||
|
</li>
|
||
|
<li>
|
||
|
Improved integration into
|
||
|
<a href="https://trilinos.sandia.gov/packages/isorropia/">Isorropia</a>
|
||
|
partitioners for Trilinos' Epetra classes.
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
Backward compatibility:
|
||
|
<ul>
|
||
|
<li>
|
||
|
Interfaces to
|
||
|
<a href="ug_interface_color.html">Zoltan_Color</a>,
|
||
|
<a href="ug_interface_order.html">Zoltan_Order</a> and
|
||
|
<a href="ug_interface_lb.html#Zoltan_LB_Eval">Zoltan_LB_Eval</a> have changed.
|
||
|
</li>
|
||
|
<li>
|
||
|
The Zoltan native build environment, while still distributed, will no
|
||
|
longer be supported. Users should use the
|
||
|
<a href="ug_usage.html#Building the Library">autotools or CMake</a> systems.
|
||
|
Builds of the Zoltan F90 interface are supported in both autotools and
|
||
|
CMake.
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<hr>
|
||
|
<h2><a name="Release3.1">Zoltan Release Notes v3.1: September 26, 2008</a></h2>
|
||
|
Zoltan v3.1 includes the following new features:
|
||
|
<ul>
|
||
|
<li>
|
||
|
Important new capabilities for Matrix ordering are included in Zoltan v3.1.
|
||
|
<ul>
|
||
|
<li>
|
||
|
A graph/matrix ordering interface to
|
||
|
<a href="ug_order_ptscotch.html">PT-Scotch</a>, a
|
||
|
high-quality graph ordering and partitioning library from the University of
|
||
|
Bordeaux, is now available.
|
||
|
<li>
|
||
|
Zoltan's new <a href="ug_interface_order.html">matrix
|
||
|
ordering interface</a>
|
||
|
returns ordering information such as permutations and
|
||
|
separators to the application.
|
||
|
</ul>
|
||
|
<li>
|
||
|
New <a href="ug_alg_phg.html">hypergraph partitioning</a>
|
||
|
options for inexpensively
|
||
|
<a href="ug_alg.html#LB_APPROACH">refining</a> partitions are
|
||
|
included and controlled simply by parameters
|
||
|
<a href="ug_alg.html#LB_APPROACH">LB_APPROACH</a> and
|
||
|
<a href="ug_alg_phg.html">PHG_MULTILEVEL</a>.
|
||
|
<li>
|
||
|
Robustness improvements have been made to Zoltan's parallel
|
||
|
<a href="ug_alg_hypergraph.html">hypergraph</a>
|
||
|
partitioner and repartitioner.
|
||
|
<li>
|
||
|
A new <a href="ug_usage.html#TrilinosAutotools">Autotools
|
||
|
build environment</a> is available.
|
||
|
The native Zoltan build environment is still
|
||
|
supported in this release.
|
||
|
<li>
|
||
|
<a href="ug_usage.html#TrilinosAutotools">Serial, non-MPI builds</a>
|
||
|
of Zoltan are enabled through the new Autotools build environment.
|
||
|
<li>
|
||
|
Zoltan is now a
|
||
|
<a href="https://trilinos.sandia.gov">Trilinos</a> package.
|
||
|
Integration with <a href="https://trilinos.sandia.gov">Trilinos</a>,
|
||
|
is now tighter and more seamless.
|
||
|
In particular, Zoltan is the default partitioner for the Trilinos package
|
||
|
<a href="https://trilinos.sandia.gov/packages/isorropia/">Isorropia</a>,
|
||
|
a matrix-based interface to Zoltan.
|
||
|
</ul>
|
||
|
|
||
|
<p>
|
||
|
Please see the <a href="ug_backward.html">backward compatibility</a> section
|
||
|
for a detailed description of changes that may affect current users.
|
||
|
|
||
|
|
||
|
<hr>
|
||
|
<h2><a name="Release3.0"></a>Zoltan Release Notes v3.0: May 1, 2007</h2>
|
||
|
Zoltan v3.0 includes major new features.
|
||
|
<ul>
|
||
|
<li> <a href="ug_alg_phg.html">Parallel Hypergraph Repartitioning</a> combining
|
||
|
the improved communication metric of <a href="ug_alg_hypergraph.html">hypergraph
|
||
|
partitioning</a> with a
|
||
|
<a href="http://cs.sandia.gov/Zoltan/papers/Catalyurek_IPDPS07.pdf">new model</a>
|
||
|
for representing an existing partition while
|
||
|
computing a new one. This work received the "Best Algorithms Paper Award" at
|
||
|
the <a href="https://www.ipdps.org"> 2007 IEEE International Parallel and
|
||
|
Distributed Processing Symposium</a>.
|
||
|
<li> <a href="http://cs.sandia.gov/Zoltan/papers/wiley_chapter.pdf">Hypergraph refinement</a> to quickly
|
||
|
improve the quality of an existing partition.
|
||
|
<li> Improved partition quality within the Zoltan
|
||
|
<a href="ug_alg_phg.html">parallel hypergraph partitioner</a>.
|
||
|
<li> <a href="ug_alg_phg.html">Parallel graph partitioning</a> using
|
||
|
Zoltan's parallel hypergraph partitioner.
|
||
|
<li> Hypergraph partitioning with <a href="ug_alg_hypergraph.html">fixed
|
||
|
vertices</a>
|
||
|
that allows application to assign or "fix" objects to a desired part
|
||
|
before partitioning.
|
||
|
<li> Improved <a href="ug_alg.html#REMAP">part remapping</a> to reduce data migration costs in all
|
||
|
partitioners.
|
||
|
<li> Hybrid <a href="ug_alg_hier.html">hierarchical partitioning</a> that allows
|
||
|
different partitioning algorithms to be applied within a hierarchy of
|
||
|
computers (e.g., partitioning across a cluster of shared-memory processors,
|
||
|
followed by partitioning within each shared-memory processor).
|
||
|
<li> A new scheme for more easily specifying partitioning
|
||
|
<a href="ug_alg.html#LB_METHOD">methods</a> and
|
||
|
<a href="ug_alg.html#LB_APPROACH">approaches</a>
|
||
|
within the hypergraph and graph partitioners.
|
||
|
<li> Very <a href="ug_alg_simple.html">simple partitioners</a> that serve as
|
||
|
testing tools and examples for usage.
|
||
|
</ul>
|
||
|
|
||
|
<p>
|
||
|
Please see the <a href="ug_backward.html">backward compatibility</a> section
|
||
|
for a detailed description of changes that may affect current users.
|
||
|
|
||
|
|
||
|
<hr>
|
||
|
<h2><a name="Release2.1"></a>Zoltan Release Notes v2.1: October 5, 2006</h2>
|
||
|
Zoltan v2.1 includes a significant bug fix for the hypergraph partitioner.
|
||
|
We strongly recommend that users upgrade to Zoltan v2.1.
|
||
|
<hr>
|
||
|
<h2><a name="Release2.02"></a>Zoltan Release Notes v2.02: September 26, 2006</h2>
|
||
|
Zoltan v2.02 includes bugfixes:
|
||
|
<ul>
|
||
|
<li>Zoltan_LB_Eval now correctly computes edge cuts with respect to parts
|
||
|
when parts are spread across more than one processor.
|
||
|
</li>
|
||
|
<li>Extraneous (and annoying) print statement has been removed from
|
||
|
Zoltan partitioning method RCB.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release2.01"></a>Zoltan Release Notes v2.01: August 2006</h2>
|
||
|
Zoltan v2.01 includes enhancements to version 2.0.
|
||
|
<ul>
|
||
|
<li>F90 interface fixes to comply with standard F90 (e.g., shortened
|
||
|
variable names and continuation lines). The hypergraph callback function
|
||
|
names have changed, but C and C++ compatibility with v2.0 is maintained.</li>
|
||
|
<li>Performance improvement to initial building of hypergraphs from
|
||
|
application data.</li>
|
||
|
<li>Major bug fix for dense-edge removal in parallel hypergraph method;
|
||
|
partitioning of hypergraphs with edges containing more than 25% of
|
||
|
the vertices was affected by this bug.</li>
|
||
|
<li>Minor fixes to parallel hypergraph code.</li>
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release2.0"></a>Zoltan Release Notes v2.0: April 2006</h2>
|
||
|
Zoltan v2.0 includes several major additions:<br>
|
||
|
<ul>
|
||
|
<li><a href="ug_alg_phg.html">Parallel hypergraph partitioning</a>. </li>
|
||
|
<li><a href="ug_color.html">Parallel graph coloring</a>, both distance-1 and distance-2.</li>
|
||
|
<li><a href="ug_alg_rcb.html">Multicriteria geometric partitioning (RCB)</a>.</li>
|
||
|
<li><a href="ug_cpp.html">C++ interface</a>.
|
||
|
</ul>
|
||
|
<p></p>
|
||
|
<hr>
|
||
|
|
||
|
<h2><a name="Release1.54"></a>Zoltan Release Notes v1.54</h2>
|
||
|
Some versions of MPICH have a bug in MPI_Reduce_scatter; they can
|
||
|
report
|
||
|
errors with MPI_TYPE_INDEXED.
|
||
|
In Zoltan v1.54's unstructured communication package, calls to
|
||
|
MPI_Reduce_scatter have been replaced with separate calls to MPI_Reduce
|
||
|
and MPI_Scatter.
|
||
|
<p></p>
|
||
|
<hr>
|
||
|
<h2><a name="Release1.53"></a>Zoltan Release Notes v1.53</h2>
|
||
|
Zoltan v1.53 includes the following new capabilities:
|
||
|
<ul>
|
||
|
<li> Portability to BSD Unix and Mac OS X was added.
|
||
|
</li>
|
||
|
<li> Averaging of RCB and RIB cuts was added; see Zoltan parameter
|
||
|
<a href="ug_alg_rcb.html#AVERAGE_CUTS">AVERAGE_CUTS</a>.
|
||
|
</li>
|
||
|
<li> A new function <a href="ug_alg_rcb.html#Zoltan_RCB_Box"><b>Zoltan_RCB_Box</b></a>
|
||
|
returns information about subdomain bounding
|
||
|
boxes in RCB decompositions.
|
||
|
</li>
|
||
|
<li>
|
||
|
F90 interface to
|
||
|
<a href="ug_interface_order.html#Zoltan_Order"><b>Zoltan_Order</b></a>
|
||
|
was added.
|
||
|
</li>
|
||
|
<li>
|
||
|
Warnings that load-imbalance tolerance was not met are no longer
|
||
|
printed
|
||
|
when <a href="ug_param.html#Debug%20Levels%20in%20Zoltan">DEBUG_LEVEL</a>
|
||
|
== 0.
|
||
|
</li>
|
||
|
<li>
|
||
|
Minor bugs were addressed.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release1.52"></a>Zoltan Release Notes v1.52</h2>
|
||
|
Zoltan v1.52 includes the following new capabilities:
|
||
|
<ul>
|
||
|
<li>
|
||
|
List-based graph callback functions
|
||
|
<a href="ug_query_lb.html#ZOLTAN_NUM_EDGES_MULTI_FN">ZOLTAN_NUM_EDGES_MULTI_FN</a>
|
||
|
and <a href="ug_query_lb.html#ZOLTAN_EDGE_LIST_MULTI_FN">ZOLTAN_EDGE_LIST_MULTI_FN</a>
|
||
|
were added to mirror support and performance given by the
|
||
|
list-based geometric function <a
|
||
|
href="ug_query_lb.html#ZOLTAN_GEOM_MULTI_FN">ZOLTAN_GEOM_MULTI_FN</a>.
|
||
|
</li>
|
||
|
<li>
|
||
|
Support for ParMETIS v3.1 was added. </li>
|
||
|
<li>
|
||
|
Minor bugs were addressed.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<hr>
|
||
|
<h2><a name="Release1.5"></a>Zoltan Release Notes v1.5</h2>
|
||
|
This section describes improvements to Zoltan in Version 1.5.
|
||
|
Every attempt was made to keep Zoltan v1.3 backwardly compatible with
|
||
|
previous versions.
|
||
|
Users of previous versions of Zoltan should refer to the <a
|
||
|
href="ug_backward.html">Backward Compatibility Notes</a>.
|
||
|
<p>Short descriptions of the following features are included below;
|
||
|
follow the links for more details.
|
||
|
</p>
|
||
|
<blockquote><a href="#REMAP">Part remapping</a>
|
||
|
<br>
|
||
|
<a href="#KNEP">Unequal Numbers of Parts and Processors</a>
|
||
|
<br>
|
||
|
<a href="#UnequalSizes">Non-Uniform Part Sizes</a>
|
||
|
<br>
|
||
|
<a href="#Interface1.5">Zoltan Interface Updated</a>
|
||
|
<br>
|
||
|
<a href="#HSFCBox">Robust HSFC Box Assign</a>
|
||
|
<br>
|
||
|
<a href="#Matrix">Matrix Ordering</a>
|
||
|
<br>
|
||
|
<a href="#Performance1.5">Performance Improvements</a>
|
||
|
<br>
|
||
|
<a href="#BugFixes1.5">Bug Fixes</a>
|
||
|
</blockquote>
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<h4><a name="REMAP"></a>
|
||
|
<hr>Part Remapping</h4>
|
||
|
During partitioning, Zoltan v1.5 can renumber parts so that the
|
||
|
input and output partitions have greater overlap (and, thus, lower
|
||
|
data-migration costs). This remapping is controlled by Zoltan parameter
|
||
|
<i><a href="ug_alg.html#REMAP">REMAP</a></i>. Experiments have shown
|
||
|
that
|
||
|
using this parameter can greatly reduce data migration costs.
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<h4><a name="KNEP"></a>
|
||
|
<hr>Unequal Numbers of Parts and Processors</h4>
|
||
|
Zoltan v1.5 can be used to generate <i>k</i> parts on <i>p</i>
|
||
|
processors,
|
||
|
where <i>k</i> is not equal to <i>p</i>. Function <a
|
||
|
href="ug_interface_lb.html#Zoltan_LB_Partition"><b>Zoltan_LB_Partition</b></a>
|
||
|
(replacing <a href="ug_interface_lb.html#Zoltan_LB_Balance"><b>Zoltan_LB_Balance</b></a>)
|
||
|
can generate arbitrary numbers of parts on the given processors.
|
||
|
The number of desired parts is set with parameters <i><a
|
||
|
href="ug_alg.html#NUM_GLOBAL_PARTS">NUM_GLOBAL_PARTS</a></i>
|
||
|
or <i><a href="ug_alg.html#NUM_LOCAL_PARTS">NUM_LOCAL_PARTS</a></i>.
|
||
|
Both part and processor information are returned by
|
||
|
<a href="ug_interface_lb.html#Zoltan_LB_Partition"><b>Zoltan_LB_Partition</b></a>,
|
||
|
<b><a href="ug_interface_augment.html#Zoltan_LB_Box_PP_Assign">Zoltan_LB_Box_PP_Assign</a></b>,
|
||
|
and
|
||
|
<b><a href="ug_interface_augment.html#Zoltan_LB_Point_PP_Assign">Zoltan_LB_Point_PP_Assign</a></b>.
|
||
|
New Zoltan query functions
|
||
|
<b><a href="ug_query_lb.html#ZOLTAN_PART_FN">ZOLTAN_PART_FN</a></b>
|
||
|
and <b><a href="ug_query_lb.html#ZOLTAN_PART_MULTI_FN">ZOLTAN_PART_MULTI_FN</a></b>
|
||
|
return objects' part information to Zoltan.
|
||
|
<a href="ug_interface_lb.html#Zoltan_LB_Balance"><b>Zoltan_LB_Balance</b></a>
|
||
|
can still be used for <i>k</i> equal to <i>p</i>.
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<h4><a name="UnequalSizes"></a>
|
||
|
<hr>Non-Uniform Part Sizes</h4>
|
||
|
Part sizes for local and global parts can be specified using
|
||
|
<b><a href="ug_interface_lb.html#Zoltan_LB_Set_Part_Sizes">Zoltan_LB_Set_Part_Sizes</a></b>,
|
||
|
allowing non-uniformly sized parts to be generated by
|
||
|
Zoltan's partitioning algorithms.
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<h4><a name="Interface1.5"></a>
|
||
|
<hr>Zoltan Interface Updated</h4>
|
||
|
To support the concept of parts separate from processors, many new
|
||
|
interface functions were added to Zoltan v1.5 (e.g.,
|
||
|
<a href="ug_interface_lb.html#Zoltan_LB_Partition"><b>Zoltan_LB_Partition</b></a>
|
||
|
and
|
||
|
<b><a href="ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>).
|
||
|
These functions mimic previous Zoltan functions (e.g.,
|
||
|
<a href="ug_interface_lb.html#Zoltan_LB_Balance"><b>Zoltan_LB_Balance</b></a>
|
||
|
and
|
||
|
<b><a href="ug_interface_mig.html#Zoltan_Help_Migrate">Zoltan_Help_Migrate</a></b>,
|
||
|
respectively), but include both part and processor information.
|
||
|
Both the new and old interface functions work in Zoltan v1.5.
|
||
|
See the notes on <a href="ug_backward.html">Backward Compatibility</a>.
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<h4><a name="HSFCBox"></a>
|
||
|
<hr>Robust HSFC Box Assign</h4>
|
||
|
Function
|
||
|
<b><a href="ug_interface_augment.html#Zoltan_LB_Box_PP_Assign">Zoltan_LB_Box_PP_Assign</a></b>
|
||
|
now works for the <a href="ug_alg_hsfc.html">Hilbert Space-Filling
|
||
|
Curve algorithm (HSFC)</a>,
|
||
|
in addition to the <a href="ug_alg_rcb.html">RCB</a> and <a
|
||
|
href="ug_alg_rib.html">RIB</a> algorithms supported in previous
|
||
|
versions
|
||
|
of Zoltan. <b><a
|
||
|
href="ug_interface_augment.html#Zoltan_LB_Point_PP_Assign">Zoltan_LB_Point_PP_Assign</a></b>
|
||
|
continues to work for <a href="ug_alg_hsfc.html">HSFC</a>,
|
||
|
<a href="ug_alg_rcb.html">RCB</a> and <a href="ug_alg_rib.html">RIB</a>.
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<h4><a name="Matrix"></a>
|
||
|
<hr>Matrix Ordering</h4>
|
||
|
Zoltan v1.5 contains a matrix-ordering interface <b><a
|
||
|
href="ug_interface_order.html#Zoltan_Order">Zoltan_Order</a></b>
|
||
|
to ParMETIS' matrix-ordering
|
||
|
functions. New graph-based matrix-ordering algorithms can be easily
|
||
|
added behind this interface.
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<h4><a name="Performance1.5"></a>
|
||
|
<hr>Performance Improvements</h4>
|
||
|
Many performance improvements were added to Zoltan v1.5.
|
||
|
<ul>
|
||
|
<li>
|
||
|
List-based callback functions have been added to Zoltan
|
||
|
(<b><a href="ug_query_lb.html#ZOLTAN_GEOM_MULTI_FN">ZOLTAN_GEOM_MULTI_FN</a></b>,
|
||
|
<b><a href="ug_query_lb.html#ZOLTAN_PART_MULTI_FN">ZOLTAN_PART_MULTI_FN</a></b>,
|
||
|
<b><a href="ug_query_mig.html#ZOLTAN_OBJ_SIZE_MULTI_FN">ZOLTAN_OBJ_SIZE_MULTI_FN</a></b>,
|
||
|
<b><a href="ug_query_mig.html#ZOLTAN_PACK_OBJ_MULTI_FN">ZOLTAN_PACK_OBJ_MULTI_FN</a></b>,
|
||
|
and
|
||
|
<b><a href="ug_query_mig.html#ZOLTAN_UNPACK_OBJ_MULTI_FN">ZOLTAN_UNPACK_OBJ_MULTI_FN</a></b>);
|
||
|
these functions allow entire lists of data to be passed from the
|
||
|
application to Zoltan, replacing per-object callbacks.
|
||
|
</li>
|
||
|
<li>
|
||
|
<b><a href="ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>
|
||
|
now
|
||
|
can accept either import lists, export lists, or both. It is no longer
|
||
|
necessary to call <b><a
|
||
|
href="ug_interface_mig.html#Zoltan_Invert_Lists">Zoltan_Invert_Lists</a></b>
|
||
|
or <b><a href="ug_interface_mig.html#Zoltan_Compute_Destinations">Zoltan_Compute_Destinations</a></b>
|
||
|
to get appropriate input for <b><a
|
||
|
href="ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>.
|
||
|
</li>
|
||
|
<li>
|
||
|
Zoltan v1.5 contains performance improvements within individual
|
||
|
algorithms.
|
||
|
We recommend users upgrade to the latest version.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<a name="BugFixes1.5"></a>
|
||
|
<hr>
|
||
|
<h4>Bug Fixes</h4>
|
||
|
Bug fixes were made to Zoltan's algorithms and interface. Users
|
||
|
of previous versions of Zoltan are encouraged to upgrade.
|
||
|
<!----------------------------------------------------------------------------><!---------------------------------------------------------------------------->
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<hr>
|
||
|
<hr>
|
||
|
<h2><a name="Release1.3"></a>Zoltan Release Notes v1.3</h2>
|
||
|
This section describes improvements to Zoltan in Version 1.3.
|
||
|
Every attempt was made to keep Zoltan v1.3 backwardly compatible with
|
||
|
previous versions.
|
||
|
Users of previous versions of Zoltan should refer to the <a
|
||
|
href="ug_backward.html">Backward Compatibility Notes</a>.
|
||
|
<p>Short descriptions of the following features are included below;
|
||
|
follow the links for more details.
|
||
|
</p>
|
||
|
<blockquote><a href="#Data%20Services">More Data Services</a>
|
||
|
<br>
|
||
|
<a href="#New%20HSFC">New Hilbert Space-Filling Curve Partitioning</a>
|
||
|
<br>
|
||
|
<a href="#New%20Structured">Support for Structured-Grid Partitioning</a>
|
||
|
<br>
|
||
|
<a href="#ParMETIS3">Support for ParMETIS v3.0</a>
|
||
|
<br>
|
||
|
<a href="#Performance">Performance Improvements</a>
|
||
|
<br>
|
||
|
<a href="#New%20Interface">Zoltan Interface Updated</a>
|
||
|
<br>
|
||
|
<a href="#TestSuite">Improved Test Suite</a>
|
||
|
<br>
|
||
|
<a href="#BugFixes">Bug Fixes</a>
|
||
|
</blockquote>
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<a name="Data Services"></a>
|
||
|
<hr>
|
||
|
<h4>More Data Services</h4>
|
||
|
Zoltan's mission has been widened beyond its original focus on dynamic
|
||
|
load-balancing algorithms. Now Zoltan also provides data management
|
||
|
services to parallel, unstructured, and adaptive computations.
|
||
|
Several packages of parallel data services have been added and made
|
||
|
available to
|
||
|
application developers. These services include the following:
|
||
|
<ul>
|
||
|
<li>An <a href="ug_util_comm.html">unstructured
|
||
|
communication package</a> that simplifies complicated communication by
|
||
|
insulating applications from the details of message
|
||
|
sends and receives.
|
||
|
</li>
|
||
|
<li>A <a href="ug_util_dd.html">distributed data directory</a>
|
||
|
that allows applications to efficiently
|
||
|
(in memory and time) locate off-processor data.
|
||
|
</li>
|
||
|
<li>A <a href="ug_util_mem.html">dynamic memory
|
||
|
management package</a> that simplifies debugging of
|
||
|
memory allocation problems on state-of-the-art parallel computers.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<a name="New HSFC"></a>
|
||
|
<hr>
|
||
|
<h4>New Hilbert Space-Filling Curve Partitioning</h4>
|
||
|
Zoltan now includes a fast, efficient implementation of <a
|
||
|
href="ug_alg_hsfc.html">Hilbert Space-Filling Curve (HSFC)</a>
|
||
|
partitioning. This geometric method also includes
|
||
|
support for <a href="ug_interface_augment.html#Zoltan_LB_Box_Assign">Zoltan_LB_Box_Assign</a>
|
||
|
and <a href="ug_interface_augment.html#Zoltan_LB_Point_Assign">Zoltan_LB_Point_Assign</a>
|
||
|
functions.<!----------------------------------------------------------------------------> <a
|
||
|
name="New Structured"></a>
|
||
|
<hr>
|
||
|
<h4>Support for Structured-Grid Partitioning</h4>
|
||
|
Zoltan's <a href="ug_alg_rcb.html">Recursive Coordinate Bisection (RCB)</a>
|
||
|
partitioning algorithm has been enhanced to allow
|
||
|
generation of strictly rectilinear subdomains. This capability can be
|
||
|
used for partitioning of grids for structured-grid applications. See
|
||
|
parameter <a href="ug_alg_rcb.html"><i>RCB_RECTILINEAR_BLOCKS</i></a>.
|
||
|
<!----------------------------------------------------------------------------><a
|
||
|
name="ParMETIS3"></a>
|
||
|
<hr>
|
||
|
<h4>Support for ParMETIS v3.0</h4>
|
||
|
In addition to providing interfaces to <a href="ug_alg_parmetis.html">ParMETIS
|
||
|
v2.0</a>,
|
||
|
Zoltan now provides an interfaces <a href="ug_alg_parmetis.html">ParMETIS
|
||
|
v3.0</a>. Full support of ParMETIS v3.0's multiconstraint and
|
||
|
multiobjective partitioning is
|
||
|
included.
|
||
|
<!----------------------------------------------------------------------------><a
|
||
|
name="Performance"></a>
|
||
|
<hr>
|
||
|
<h4>Performance Improvements</h4>
|
||
|
Performance of Zoltan's partitioning algorithms has been improved
|
||
|
through a number of code optimizations and new features. In addition,
|
||
|
user parameter <a href="ug_alg.html#LB%20Parameters"><i>RETURN_LISTS</i></a>
|
||
|
can be used to specify which returned arguments are computed by <a
|
||
|
href="ug_interface_lb.html#Zoltan_LB_Balance"><b>Zoltan_LB_Balance</b></a>,
|
||
|
allowing reduced work in partitioning.
|
||
|
In the <a href="ug_alg_rcb.html">Recursive Coordinate Bisection (RCB)</a>
|
||
|
partitioning algorithm, user parameters allow cut directions
|
||
|
to be locked in an attempt to minimize data movement; see parameters
|
||
|
<a href="ug_alg_rcb.html"><i>RCB_LOCK_DIRECTIONS</i></a> and <a
|
||
|
href="ug_alg_rcb.html"><i>RCB_SET_DIRECTIONS</i></a>.
|
||
|
<!----------------------------------------------------------------------------><a
|
||
|
name="New Interface"></a>
|
||
|
<hr>
|
||
|
<h4>Zoltan Interface Updated</h4>
|
||
|
Zoltan has adopted a more modular design, making it easier to use by
|
||
|
applications and easier to modify by algorithm developers.
|
||
|
Names in the <a href="ug_interface.html">Zoltan interface</a> and code
|
||
|
are tied more closely to their functionality.
|
||
|
Full <a href="ug_backward.html">backward compatibility</a> is
|
||
|
supported
|
||
|
for users of previous versions of Zoltan.
|
||
|
<!----------------------------------------------------------------------------><a
|
||
|
name="TestSuite"></a>
|
||
|
<hr>
|
||
|
<h4>Improved Test Suite</h4>
|
||
|
The Zoltan <a href="../dev_html/dev_test_script.html">test suite</a>
|
||
|
has been improved, with more tests providing greater
|
||
|
code coverage and platform-specific answer files accounting for
|
||
|
differences
|
||
|
due to computer architectures.
|
||
|
<!----------------------------------------------------------------------------><a
|
||
|
name="BugFixes"></a>
|
||
|
<hr>
|
||
|
<h4>Bug Fixes</h4>
|
||
|
Some bug fixes were made to Zoltan's algorithms and interface. Users
|
||
|
of previous versions of Zoltan are encouraged to upgrade.
|
||
|
<!---------------------------------------------------------------------------->
|
||
|
<p></p>
|
||
|
<hr width="100%">[<a href="ug.html">Table of Contents</a> | <a
|
||
|
href="ug_backward.html">Next:
|
||
|
Backward Compatibility</a> | <a href="ug_examples_query.html">Previous:
|
||
|
Query Function Examples</a> | <a href="https://www.sandia.gov/general/privacy-security/index.html">Privacy and Security</a>]
|
||
|
</body>
|
||
|
</html>
|