Zoltan User's Guide  |  Next  |  Previous

Zoltan Parameters and Output Levels

The behavior of Zoltan is controlled by several parameters and debugging-output levels. These parameters can be set by calls to Zoltan_Set_Param. Reasonable default values for all parameters are specified by Zoltan. Many of the parameters are specific to individual algorithms, and are listed in the descriptions of those algorithms.  However, the parameters below have meaning across the entire library.


General Parameters

The following parameters apply to the entire Zoltan library. While reasonable default values for all parameters are specified by Zoltan, applications can change these values through calls to Zoltan_Set_Param.
 
Parameters:
    NUM_GID_ENTRIES The number of unsigned integers that should be used to represent a global identifier (ID). Values greater than zero are accepted. 
    NUM_LID_ENTRIES The number of unsigned integers that should be used to represent a local identifier (ID). Values greater than or equal to zero are accepted. 
    DEBUG_LEVEL An integer indicating how much debugging information is printed by Zoltan.  Higher values of DEBUG_LEVEL produce more output and potentially slow down Zoltan's computations.  The least output is produced when DEBUG_LEVEL= 0.  DEBUG_LEVEL  primarily controls Zoltan's behavior; most algorithms have their own parameters to control their output level. Values used within Zoltan are listed below.
Note:  Because some debugging levels use processor synchronization, all processors should use the same value of DEBUG_LEVEL.
    DEBUG_PROCESSOR Processor number from which trace output should be printed when DEBUG_LEVEL is 5.
    DEBUG_MEMORY Integer indicating the amount of low-level debugging information about memory-allocation should be kept by Zoltan's Memory Management utilities. Valid values are 0, 1, 2, and 3.
    OBJ_WEIGHT_DIM The number of weights (to be supplied by the user in a query function) associated with an object. If this parameter is zero, all objects have equal weight. Some algorithms may not support multiple (multidimensional) weights.
    EDGE_WEIGHT_DIM The number of weights associated with an edge. If this parameter is zero, all edges have equal weight. Many algorithms do not support multiple (multidimensional) weights.
    TIMER The timer with which you wish to measure time. Valid choices are wall (based on MPI_Wtime), cpu (based on the ANSI C library function clock), and user.  The resolution may be poor, as low as 1/60th of a second, depending upon your platform.
Default Values:

NUM_GID_ENTRIES = 1

NUM_LID_ENTRIES = 1

DEBUG_LEVEL = 1

DEBUG_PROCESSOR = 0

DEBUG_MEMORY = 1

OBJ_WEIGHT_DIM = 0

EDGE_WEIGHT_DIM = 0

TIMER = wall


Debugging Levels in Zoltan

The DEBUG_LEVEL parameter determines how much debugging information is printed to stdout by Zoltan.  It is set by a call to Zoltan_Set_Param.  Higher values of DEBUG_LEVEL produce more output and can slow down Zoltan's computations, especially when the output is printed by one processor at a time.  The least output is produced when DEBUG_LEVEL = 0.

Descriptions of the output produced by Zoltan for each value of DEBUG_LEVEL are included below.  For a given DEBUG_LEVEL value n, all output for values less than or equal to n is produced.

Some high debugging levels use processor synchronization to force processors to write one-at-a-time.   For example, when DEBUG_LEVEL is greater than or equal to eight, each processor writes its list in turn so that the lists from all processors are not jumbled together in the output.  This synchronization requires all processors to use the same value of DEBUG_LEVEL.
 
DEBUG_LEVEL  Output Produced
    0 Quiet mode; no output unless an error or warning is produced.
    1 Values of all parameters set by Zoltan_Set_Param and used by Zoltan.
    2 Timing information for Zoltan's main routines.
    3 Timing information within Zoltan's algorithms (support by algorithms is optional).
    4
    5 Trace information (enter/exit) for major Zoltan interface routines (printed by the processor specified by the DEBUG_PROCESSOR parameter).
    6 Trace information (enter/exit) for major Zoltan interface routines (printed by all processors).
    7 More detailed trace information in major Zoltan interface routines.
    8 List of objects to be imported to and exported from each processor. ¹
    9
   10 Maximum debug output; may include algorithm-specific output. ¹
¹ Output may be serialized; that is, one processor may have to complete its output before the next processor is allowed to begin its output.  This serialization is not scalable and can significantly increase execution time on large number of processors.


[Table of Contents  | Next:  Load-Balancing Algorithms  |  Previous:  Migration Query Functions  |  Privacy and Security]