<!-------- @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>