Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 20, Issue 2, Pages 129-150
http://dx.doi.org/10.3233/SPR-2012-0342

The Zoltan and Isorropia Parallel Toolkits for Combinatorial Scientific Computing: Partitioning, Ordering and Coloring

Erik G. Boman,1 Ümit V. Çatalyürek,2 Cédric Chevalier,3 and Karen D. Devine1

1Department of Scalable Algorithms, Sandia National Laboratories, Albuquerque, NM, USA
2Department of Biomedical Informatics and Department of Electrical and Computer Engineering, The Ohio State University, Columbus, OH, USA
3Commissariat à l'Énergie Atomique et aux Énergies Alternatives, Direction des Applications Militaires, CEA, DAM, DIF, Arpajon, France

Copyright © 2012 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

Partitioning and load balancing are important problems in scientific computing that can be modeled as combinatorial problems using graphs or hypergraphs. The Zoltan toolkit was developed primarily for partitioning and load balancing to support dynamic parallel applications, but has expanded to support other problems in combinatorial scientific computing, including matrix ordering and graph coloring. Zoltan is based on abstract user interfaces and uses callback functions. To simplify the use and integration of Zoltan with other matrix-based frameworks, such as the ones in Trilinos, we developed Isorropia as a Trilinos package, which supports most of Zoltan's features via a matrix-based interface. In addition to providing an easy-to-use matrix-based interface to Zoltan, Isorropia also serves as a platform for additional matrix algorithms. In this paper, we give an overview of the Zoltan and Isorropia toolkits, their design, capabilities and use. We also show how Zoltan and Isorropia enable large-scale, parallel scientific simulations, and describe current and future development in the next-generation package Zoltan2.