[Sandia National Laboratories]

[navigation panel]

Zoltan Home Page
Zoltan User's Guide
Frequently Asked Questions
Zoltan Project Description
Papers and Presentations
How to Cite Zoltan
Download Zoltan
Report a Zoltan Bug
Contact Zoltan Developers
Sandia Privacy and Security Notice
Zoltan: 
Parallel Partitioning, Load Balancing and Data-Management Services


The Zoltan Team

Sandia National Laboratories
Erik Boman
Karen Devine
Sivasankaran Rajamanickam
Michael Wolf
Georgia Tech
Umit Catalyurek

Past Zoltan Contributors

Sandia National Laboratories:
Cédric Chevalier (currently at CEA, DAM)
Robert Heaphy
Bruce Hendrickson
Matthew St. John
Vitus Leung
Lee Ann Riesen
Courtenay Vaughan

Siena College
James Teresco
National Institute of Standards and Technology
William F. Mitchell
Rensselaer Polytechnic Institute
Jamal Faik
Luis Gervasio
Google (formerly Ohio State University)
Doruk Bozdag


Tutorials:

Zoltan News:
  • Zoltan v3.901 was released in February 2022 as part of Trilinos v13.4. This release includes capability to serialize a Zoltan struct for communication, as well as minor tweaks for certain installations of MPI.

  • Zoltan v3.83 was released in January 2016 as part of Trilinos v12.6. This release includes only minor software changes. See more details below.

  • Zoltan v3.82 was released in May 2015 as part of Trilinos v12. This release includes only minor software changes. See more details below.

  • Zoltan v3.81 was released in November 2014 as part of Trilinos v11.12. This release upgrades Zoltan's interface to ParMETIS v4 and Scotch v6. See more details below.

  • Zoltan v3.8 was released in October 2013 as part of Trilinos v10.11. This release uses Trilinos' BSD license! See more details below.

  • Zoltan v3.6 was released in September 2011 as part of Trilinos v10.8. This release includes new recoloring capability in Zoltan's coloring algorithms. Zoltan's hierarchical partitioning algorithm was also updated for greater efficiency. We have updated our third-party library support to include PT-Scotch versions up to 5.1.12 and ParMETIS v3.1 and v4.0.

  • Zoltan v3.5 was released in March 2011. This release differs from the Trilinos 10.6 release by including the following 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.


  • The Zoltan team received the "Best Algorithms Paper Award" at the 2007 International Parallel and Distributed Processing Symposium (IPDPS07) for their paper "Hypergraph-based Dynamic Load Balancing for Adaptive Scientific Computations."
    Abstract (HTML)      Paper (PDF)      Citation (BIBTEX)

  • Zoltan was part of several funded DOE SciDAC projects:
    • SciDAC2 CSCAPES: Combinatorial Scientific Computing and Petascale Simulations
      Contact: Erik Boman
    • SciDAC2 ITAPS: Interoperable Technologies for Advanced Petascale Simulations
      Contact: Karen Devine
    • SciDAC3 to SciDAC5: FASTMath: Frameworks, algorithms and scalable technologies for mathematics
      Contact: Karen Devine


Now available: Zoltan 3.901

New Features in Zoltan v3.83, released January 2016. Release Notes       |       Backward Compatibility

  • 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

New Features in Zoltan v3.82, released May 2015. Release Notes       |       Backward Compatibility

  • Minor code changes to remove compiler warnings and handle error conditions
  • Enable "make -j" in autotools build of Zoltan's F90 interface.

New Features in Zoltan v3.81, released November 2014: Release Notes       |       Backward Compatibility

  • Better integration of ParMETIS v4, METIS v5, and Scotch v6.
  • Better handling of interface differences between MPI versions 1 and 2.
  • Bug fix in siMPI for non-MPI builds.
  • Minor bugfixes.

New Features in Zoltan v3.8, released October 2013: Release Notes       |       Backward Compatibility

  • Zoltan is now released under Trilinos' BSD license.
  • Added an improved hash function that speeds lookups, particularly for apps using partitioning parameter RETURN_LISTS=PARTS.
  • Added fixes for integer overflows that occur when A and B are valid integers, but A*B overflows an integer.
  • Removed support for OCT partitioning; use HSFC partitioning for similar decompositions.
  • Removed support for third-party library DRUM.
  • Removed support for the Zoltan v1.x interface.

New Features in Zoltan v3.6, released September 2011: Release Notes       |       Backward Compatibility

  • Recoloring capability in Zoltan's coloring algorithms, obtaining colorings with fewer colors.
  • Support for graph partitioning and ordering with PT-Scotch up to version 5.1.12.
  • Support for graph partitioning and ordering with ParMETIS v3.1 and v4.0.
  • Improved hierarchical partitioning performance.
  • Deprecation of OCT methods and interface defined in lbi_const.h. See the backward compatibility notes for more info.

New Features in Zoltan v3.5, released March 2011: Release Notes       |       Backward Compatibility

  • 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.

New Features in Zoltan v3.3, released July 2010: Release Notes       |       Backward Compatibility

  • 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.

New Features in Zoltan v3.2, released September 2009: Release Notes       |       Backward Compatibility

  • 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.

New Features in Zoltan v3.1, released September 2008:

New Features in Zoltan 3.0, released May 2007:

New Features in Zoltan 2:

See the release notes for descriptions of new functionality and more.
The Zoltan Library provides critical data-management services to a wide range of parallel applications.  Zoltan includes many utilities needed by unstructured and/or adaptive parallel applications. These utilities include Zoltan's object-oriented interface is easy-to-use and enables Zoltan to be used by a number of different applications.  Zoltan is designed to be flexible and extensible, so different algorithms can be used, compared and added easily.

Why Zoltan is needed:

  • In some applications, work loads and/or geometric locality change as computations proceed;
    Zoltan provides dynamic redistribution of data to maintain high performance. 
    • Adaptive finite element methods
    • Particle methods
    • Contact detection algorithms
    • Multiphysics simulations
    • Adaptive physics models
  • Processors need to track off-processor data's locations in dynamic environments; Zoltan's distributed data directories allow applications to efficiently query and update off-processor data locations.
  • Unstructured and adaptive applications require complicated interprocessor communication; Zoltan's unstructured communication package manages sends and receives for application developers.
  • State-of-the-art parallel computers often do not have sophisticated debugging tools available; Zoltan's dynamic memory management package simplifies location of memory leaks and other memory errors.
Advantages of using Zoltan in applications: Advantages of using Zoltan for developing new algorithms: Zoltan philosophy and project description: Related links:
Copyright (c) 2000-2013, Sandia National Laboratories.
See the README file in the main Zoltan directory for information on Zoltan licensing.