Release notes are available for the following
releases of Zoltan:
Zoltan Release v3.83 in Trilinos v12.6
Zoltan Release v3.82 in Trilinos v12
Zoltan Release v3.81 in Trilinos v11.12
Zoltan Release v3.8 in Trilinos v11
Zoltan Release v3.7 in Trilinos v11
Zoltan Release v3.6
Zoltan Release v3.501
Zoltan Release v3.5
Zoltan Release v3.3
Zoltan Release v3.2
Zoltan Release v3.1
Zoltan Release v3.0
Zoltan Release v2.1
Zoltan Release v2.02
Zoltan Release v2.01
Zoltan Release v2.0
Zoltan Release v1.54
Zoltan Release v1.53
Zoltan Release v1.52
Zoltan Release v1.5
Zoltan Release v1.3
- Autotools files updated to avoid deprecated perl features
- Added Zoltan_Get_Fn interface to return pointers to registered callback
functions.
- Several bug fixes in Fortran90 interface
- Subtle rounding error fixed in PHG hypergraph partitioner
- Minor changes to distributed data directory to track number of nodes
per processor; include file DD.h is now named zoltan_dd_const.h
- Minor code clean-up to remove compiler warnings and handle error conditions.
- Enable "make -j" when building Zoltan's Fortran90 interface with autotools.
- Several improvements were made to Zoltan's interface to ParMETIS v4,
METIS v5, and Scotch v6.
- New statistics were added to the RCB and RIB algorithms' output.
- Checks for MPI_VERSION 1 or 2 were added where appropriate to handle
MPI interface changes.
- 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).
- Several minor bugs were fixed.
- No Zoltan interfaces were changed; Zoltan 3.81 is fully
backward-compatible with Zoltan 3.8.
- An improved hash function reduces execution time in partitioning,
particularly when parameter RETURN_LISTS=PARTS is used.
- Several bug fixes address overflow issues in cases where integers A and B
are valid integers, but A*B overflows an integer.
- The following features (deprecated in Trilinos v10.8) are no longer
supported in Trilinos v11.
- Zoltan is now released under Trilinos' BSD license.
- 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 Zoltan FAQ page.
- Partitioning method OCTPART: use partitioning method HSFC for similar
partitions with faster partitioning time.
- Use of DRUM as a Zoltan TPL: architecture-aware methods will be included
in Zoltan2.
- 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.
- 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.
- Reduced the memory usage of RCB and RIB when parameter KEEP_CUTS=0.
- Increased use of point-to-point communication (instead of MPI_Alltoall)
in communication package for better performance on large number of
processors.
- Compilation with gcc 4.7 is now supported.
- Using MurmurHash for better hashing.
- Zoltan supports PT-Scotch v5.1.12 and ParMETIS v4, as well as some older
versions of these TPLs.
- Zoltan's graph build has been streamlined; if possible, use the parameter
"GRAPH_BUILD_TYPE" == "FAST_NO_DUP" for faster graph builds.
-
Added new recoloring capability to Zoltan coloring algorithms, providing
lower numbers of colors at small additional cost.
-
Updated Zoltan to allow use of third-party libraries ParMETIS versions 3.1 and 4.0 and Scotch versions up to 5.1.12.
-
Updated Zoltan's hierarchical partitioning for greater efficiency.
Fixed bug in autotools installation of Zoltan;
file Zoltan_config.h is now installed
in the specified include directory.
Features:
-
Fix in Fortran90 interface that causes compilation and run-time problems
with gcc 4.5 and later when compiler optimization is enabled.
-
Support for 64-bit builds of Zoltan, enabling operation on more than 2B objects.
See details for building in the Zoltan User's Guide.
-
Faster graph builds for very specific input types. See parameter
GRAPH_BUILD_TYPE.
Features:
-
New local ordering method based on
space-filling curves to improve
memory and cache locality within a processor.
-
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.
-
Improved execution time of parallel hypergraph partitioning.
Features:
-
New interface
to
Scotch and PT-Scotch parallel graph partitioning
algorithms.
-
Simplified interface to graph ordering
and coloring algorithms
-
Automated symmetrization of graphs for graph partitioning, coloring
and ordering.
(See parameters GRAPH_SYMMETRIZE and GRAPH_SYM_WEIGHT in the
Scotch and
ParMETIS graph packages.)
-
Improved function
Zoltan_LB_Eval
returns more information about a decomposition to users.
-
Improved examples showing Zoltan usage in C and C++
are included in zoltan/example.
-
Improved support for builds under autotools,
including builds of Zoltan's F90 interface.
-
New support for CMake builds
and testing through Trilinos; builds of
Zoltan's F90 interface are included.
-
Improved integration into
Isorropia
partitioners for Trilinos' Epetra classes.
Backward compatibility:
-
Interfaces to
Zoltan_Color,
Zoltan_Order and
Zoltan_LB_Eval have changed.
-
The Zoltan native build environment, while still distributed, will no
longer be supported. Users should use the
autotools or CMake systems.
Builds of the Zoltan F90 interface are supported in both autotools and
CMake.
Zoltan v3.1 includes the following new features:
-
Important new capabilities for Matrix ordering are included in Zoltan v3.1.
-
A graph/matrix ordering interface to
PT-Scotch, a
high-quality graph ordering and partitioning library from the University of
Bordeaux, is now available.
-
Zoltan's new matrix
ordering interface
returns ordering information such as permutations and
separators to the application.
-
New hypergraph partitioning
options for inexpensively
refining partitions are
included and controlled simply by parameters
LB_APPROACH and
PHG_MULTILEVEL.
-
Robustness improvements have been made to Zoltan's parallel
hypergraph
partitioner and repartitioner.
-
A new Autotools
build environment is available.
The native Zoltan build environment is still
supported in this release.
-
Serial, non-MPI builds
of Zoltan are enabled through the new Autotools build environment.
-
Zoltan is now a
Trilinos package.
Integration with Trilinos,
is now tighter and more seamless.
In particular, Zoltan is the default partitioner for the Trilinos package
Isorropia,
a matrix-based interface to Zoltan.
Please see the backward compatibility section
for a detailed description of changes that may affect current users.
Zoltan Release Notes v3.0: May 1, 2007
Zoltan v3.0 includes major new features.
Please see the backward compatibility section
for a detailed description of changes that may affect current users.
Zoltan Release Notes v2.1: October 5, 2006
Zoltan v2.1 includes a significant bug fix for the hypergraph partitioner.
We strongly recommend that users upgrade to Zoltan v2.1.
Zoltan Release Notes v2.02: September 26, 2006
Zoltan v2.02 includes bugfixes:
- Zoltan_LB_Eval now correctly computes edge cuts with respect to parts
when parts are spread across more than one processor.
- Extraneous (and annoying) print statement has been removed from
Zoltan partitioning method RCB.
Zoltan Release Notes v2.01: August 2006
Zoltan v2.01 includes enhancements to version 2.0.
- 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.
- Performance improvement to initial building of hypergraphs from
application data.
- 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.
- Minor fixes to parallel hypergraph code.
Zoltan Release Notes v2.0: April 2006
Zoltan v2.0 includes several major additions:
Zoltan Release Notes v1.54
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.
Zoltan Release Notes v1.53
Zoltan v1.53 includes the following new capabilities:
- Portability to BSD Unix and Mac OS X was added.
- Averaging of RCB and RIB cuts was added; see Zoltan parameter
AVERAGE_CUTS.
- A new function Zoltan_RCB_Box
returns information about subdomain bounding
boxes in RCB decompositions.
-
F90 interface to
Zoltan_Order
was added.
-
Warnings that load-imbalance tolerance was not met are no longer
printed
when DEBUG_LEVEL
== 0.
-
Minor bugs were addressed.
Zoltan Release Notes v1.52
Zoltan v1.52 includes the following new capabilities:
Zoltan Release Notes v1.5
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 Backward Compatibility Notes.
Short descriptions of the following features are included below;
follow the links for more details.
Part remapping
Unequal Numbers of Parts and Processors
Non-Uniform Part Sizes
Zoltan Interface Updated
Robust HSFC Box Assign
Matrix Ordering
Performance Improvements
Bug Fixes
Part Remapping
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
REMAP. Experiments have shown
that
using this parameter can greatly reduce data migration costs.
Unequal Numbers of Parts and Processors
Zoltan v1.5 can be used to generate k parts on p
processors,
where k is not equal to p. Function Zoltan_LB_Partition
(replacing Zoltan_LB_Balance)
can generate arbitrary numbers of parts on the given processors.
The number of desired parts is set with parameters NUM_GLOBAL_PARTS
or NUM_LOCAL_PARTS.
Both part and processor information are returned by
Zoltan_LB_Partition,
Zoltan_LB_Box_PP_Assign,
and
Zoltan_LB_Point_PP_Assign.
New Zoltan query functions
ZOLTAN_PART_FN
and ZOLTAN_PART_MULTI_FN
return objects' part information to Zoltan.
Zoltan_LB_Balance
can still be used for k equal to p.
Non-Uniform Part Sizes
Part sizes for local and global parts can be specified using
Zoltan_LB_Set_Part_Sizes,
allowing non-uniformly sized parts to be generated by
Zoltan's partitioning algorithms.
Zoltan Interface Updated
To support the concept of parts separate from processors, many new
interface functions were added to Zoltan v1.5 (e.g.,
Zoltan_LB_Partition
and
Zoltan_Migrate).
These functions mimic previous Zoltan functions (e.g.,
Zoltan_LB_Balance
and
Zoltan_Help_Migrate,
respectively), but include both part and processor information.
Both the new and old interface functions work in Zoltan v1.5.
See the notes on Backward Compatibility.
Robust HSFC Box Assign
Function
Zoltan_LB_Box_PP_Assign
now works for the Hilbert Space-Filling
Curve algorithm (HSFC),
in addition to the RCB and RIB algorithms supported in previous
versions
of Zoltan. Zoltan_LB_Point_PP_Assign
continues to work for HSFC,
RCB and RIB.
Matrix Ordering
Zoltan v1.5 contains a matrix-ordering interface Zoltan_Order
to ParMETIS' matrix-ordering
functions. New graph-based matrix-ordering algorithms can be easily
added behind this interface.
Performance Improvements
Many performance improvements were added to Zoltan v1.5.
Bug Fixes
Bug fixes were made to Zoltan's algorithms and interface. Users
of previous versions of Zoltan are encouraged to upgrade.
Zoltan Release Notes v1.3
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 Backward Compatibility Notes.
Short descriptions of the following features are included below;
follow the links for more details.
More Data Services
New Hilbert Space-Filling Curve Partitioning
Support for Structured-Grid Partitioning
Support for ParMETIS v3.0
Performance Improvements
Zoltan Interface Updated
Improved Test Suite
Bug Fixes
More Data Services
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:
New Hilbert Space-Filling Curve Partitioning
Zoltan now includes a fast, efficient implementation of Hilbert Space-Filling Curve (HSFC)
partitioning. This geometric method also includes
support for Zoltan_LB_Box_Assign
and Zoltan_LB_Point_Assign
functions.
Support for Structured-Grid Partitioning
Zoltan's Recursive Coordinate Bisection (RCB)
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 RCB_RECTILINEAR_BLOCKS.
Support for ParMETIS v3.0
In addition to providing interfaces to ParMETIS
v2.0,
Zoltan now provides an interfaces ParMETIS
v3.0. Full support of ParMETIS v3.0's multiconstraint and
multiobjective partitioning is
included.
Performance Improvements
Performance of Zoltan's partitioning algorithms has been improved
through a number of code optimizations and new features. In addition,
user parameter RETURN_LISTS
can be used to specify which returned arguments are computed by Zoltan_LB_Balance,
allowing reduced work in partitioning.
In the Recursive Coordinate Bisection (RCB)
partitioning algorithm, user parameters allow cut directions
to be locked in an attempt to minimize data movement; see parameters
RCB_LOCK_DIRECTIONS and RCB_SET_DIRECTIONS.
Zoltan Interface Updated
Zoltan has adopted a more modular design, making it easier to use by
applications and easier to modify by algorithm developers.
Names in the Zoltan interface and code
are tied more closely to their functionality.
Full backward compatibility is
supported
for users of previous versions of Zoltan.
Improved Test Suite
The Zoltan test suite
has been improved, with more tests providing greater
code coverage and platform-specific answer files accounting for
differences
due to computer architectures.
Bug Fixes
Some bug fixes were made to Zoltan's algorithms and interface. Users
of previous versions of Zoltan are encouraged to upgrade.
[Table of Contents | Next:
Backward Compatibility | Previous:
Query Function Examples | Privacy and Security]