Zoltan and Zoltan2 are toolkits for solving combinatorial problems in scientific computing:

  • data partitioning 
  • dynamic load balancing 
  • architecture-aware MPI task placement 
  • data ordering 
  • graph coloring 

The Zoltan toolkit includes distributed-memory hypergraph and geometric partitioners, as well as interfaces to third-party libraries ParMETIS and Scotch. Zoltan also includes parallel graph coloring and graph ordering, as well as distributed data directories and communication plans. Zoltan’s data-neutral interface allows it to be used easily by a wide range of applications. Zoltan is written in C and uses MPI-only parallelism.

Zoltan2 is the next-generation successor to Zoltan. In addition to many features from Zoltan, Zoltan2’s new features include architecture-aware MPI task placement and MPI+OpenMP implementations of geometric partitioning. It serves as our testbed for algorithms that both run on and provide solutions appropriate for multi-core and GPU architectures. Zoltan2 is written in C++ (for seamless integration with Trilinos) and exploits MPI+X parallelism for some algorithms.

Usage and applications: Zoltan and Zoltan2 are distributed in Trilinos (more than 4800 downloads per year); Zoltan is also distributed as a standalone package (over 400 downloads per year). They are used in industry, academia, and all DOE national labs for unstructured applications such as multiphysics finite element codes, particle-based methods, crash simulation, electrical circuit simulations, linear solvers/preconditioners, and graph analytics. They are used in FASTMath tools Albany, ML/MueLu, MOAB, PAALS, PDSLin, PETSc, PHASTA, and PUMI.

Zoltan stand-alone download



Karen Devine

Sandia National Laboratories, P.O. Box 5800, MS 1318, Albuquerque, NM 87185-1318

Siva Rajamanickam

Sandia National Laboratories, P.O. Box 5800, MS 1320, Albuquerque, NM 87185-1320