Zoltan/Zoltan2

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.

CONTACT

Karen Devine
Sandia National Laboratories
505-845-7585

Send email


Siva Rajamanickam
Sandia National Laboratories
505-844-7181

Send email