next up previous
Next: Partition Quality Analysis Routines Up: PMDB User's Manual Previous: Visualization

Interface to Zoltan

PMDB Zoltan Interface

The Zoltan Dynamic Load Balancing Library provides an interface to several partitioning and dynamic load balancing algorithms. The PMDB functions here provide an interface to help use Zoltan to partition PMDB meshes. See the Zoltan documentation for more information about Zoltan and for details on its parameters.
void pmdb_zoltan_setup(
pMeshPB pmeshpb,
void *zoltan_struct);
This function sets up a given struct Zoltan_Struct to have callback functions to balance the given distributed mesh. It also sets up good defaults for assorted Zoltan parameters, and sets a default method of Octree balancing with Morton ordering and a saved tree structure.

We pass a void * instead of a struct Zoltan_Struct * to avoid having the Zoltan_Struct visible outside of this file which would require zoltan.h for any PMDB usage.

The Zoltan_Struct should be created by the application by a call to Zoltan_Create before calling this routine.


void pmdb_zoltan_balance(
pMeshPB pmeshpb);
This function calls Zoltan's Zoltan_LB_Balance routine to compute a new decomposition, then calls PMDB migration routines to achieve that decomposition. pmdb_zoltan_setup must be called prior to this routine. Balancing methods and parameters may be changed using Zoltan calls between the call to pmdb_zoltan_setup and the call to this routine. Zoltan parameters may be changed between successive calls to this routine.



Jim Teresco
Fri Jun 7 10:37:53 EDT 2002