# Zoltan Developer's Guide
Zoltan: Developer's Guide for the Zoltan Library project at Sandia National Laboratories
Keywords: Zoltan, Zoltan Developer's Guide, Zoltan dynamic load balancing library, Zoltan parallel computing

Zoltan Home Page

Zoltan User's Guide

Zoltan Developer'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

Developer's Guide

### The Zoltan Team

Sandia National Laboratories Erik Boman Cedric Chevalier Karen Devine Vitus Leung Lee Ann Riesen | Ohio State University Umit Catalyurek Doruk Bozdag

### Past Zoltan Contributors

Sandia National Laboratories: Robert Heaphy Bruce Hendrickson Matthew St. John Courtenay Vaughan | Williams College James Teresco

National Institute of Standards and Technology William F. Mitchell | Rensselaer Polytechnic Institute Jamal Faik Luis Gervasio

Zoltan Developer's Guide, Version 3.2

####

DOWNLOAD PDF VERSION HERE.

#### Introduction and General Principles

> Philosophy of Zoltan
> Coding Principles in Zoltan
> Include files
> Global Variables
> Function Names
> Parallel Communication
> Memory Management
> Errors, Warnings and Return Codes
> Zoltan Quality Assurance

#### Zoltan Distribution

CVS
Layout of Directories
Compilation and Makefiles

#### Zoltan Interface and Data Structures

Interface Functions
ID Data Types
Data Structures

#### Services (to simplify new algorithm development)

Parameter Setting Routines
Parallel Computing Routines
Common Functions for Querying Applications
Hash Function
Timing Routines
High-Level Timing Services: ZOLTAN_TIMER
Debugging Services

#### Adding New Load-Balancing Algorithms to Zoltan

Load-Balancing Interface Routines
Load-Balancing Function Implementation
Data Structures
Memory Management
Parameters
Part Remapping

#### Migration Tools

#### FORTRAN Interface

#### C++ Interface

#### References

#### Appendix: Using the Test Drivers zdrive, zCPPdrive and zfdrive

Introduction
Running the Test Drivers
Adding New Algorithms

#### Appendix: Visualization of Geometric Partitions

2D problems with gnuplot
3D problems with vtk_view
Off-screen rendering with vtk_write
Other file formats

#### Appendix: Using the Test Script test_zoltan

#### Appendix: Recursive Coordinate Bisection (RCB)

#### Appendix: Recursive Inertial Bisection (RIB)

#### Appendix: Graph Partitioning (ParMETIS and Jostle)

#### Appendix: Hypergraph Partitioning (PHG)

#### Appendix: Refinement Tree

#### Appendix: Hilbert Space_Filling Curve (HSFC)

#### Appendix: Handling Degenerate Geometries

Copyright (c) 2000-2007, Sandia National Laboratories.

[Zoltan Home Page | Next: Introduction and General Principles]