Zoltan User's Guide  |  Next  |  Previous

Backward Compatibility with Previous Versions of Zoltan

As new features have been added to Zoltan, backward compatibility with previous versions of Zoltan has been maintained. Thus, users of previous versions of Zoltan can upgrade to a new version without changing their application source code. Modifications to application source code are needed only if the applications use new Zoltan functionality.

Enhancements to the Zoltan interface are described below.

Versions 1.5 and higher
Versions 1.3 and higher


Backward Compatibility: Versions 1.5 and higher

The ability to generate more partitions than processors was added to Zoltan in version 1.5. Thus, Zoltan's partitioning and migration routines were enhanced to return and use both partition assignments and processor assignments. New interface and query functions were added to support this additional information. All former Zoltan parameters apply to the new functions as they did to the old; new parameters NUM_GLOBAL_PARTITIONS and NUM_LOCAL_PARTITIONS apply only to the new functions.

The table below lists the Zoltan function that uses both partition and processor information, along with the analogous function that returns only processor information. Applications requiring only one partition per processor can use either version of the functions.

Function with Partition and Processor info (v1.5 and higher) Function with only Processor info (v1.3 and higher)
Zoltan_LB_Partition Zoltan_LB_Balance
Zoltan_LB_Point_PP_Assign Zoltan_LB_Point_Assign
Zoltan_LB_Box_PP_Assign Zoltan_LB_Box_Assign
Zoltan_Invert_Lists Zoltan_Compute_Destinations
Zoltan_Migrate Zoltan_Help_Migrate
ZOLTAN_PRE_MIGRATE_PP_FN ZOLTAN_PRE_MIGRATE_FN
ZOLTAN_MID_MIGRATE_PP_FN ZOLTAN_MID_MIGRATE_FN
ZOLTAN_POST_MIGRATE_PP_FN ZOLTAN_POST_MIGRATE_FN

To continue using the v1.3 partition functions, no changes to C or Fortran90 applications are needed. Zoltan interfaces from versions earlier than 1.3 are also still supported (see below), requiring no changes to application programs.

To use the new v1.5 partitioning functions:


Backward Compatibility: Versions 1.3 and higher

Versions of Zoltan before version 1.3 used a different naming convention for the Zoltan interface and query functions. All functions in Zoltan v.1.3 and above are prefixed with Zoltan_; earlier versions were prefixed with LB_.

Zoltan versions 1.3 and above maintain backward compatibility with the earlier Zoltan interface. Thus, applications that used earlier versions of Zoltan can continue using Zoltan without changing their source code.

Only two changes are needed to build the application with Zoltan v.1.3 and higher:

While it is not necessary for application developers to modify their source code to use Zoltan v.1.3 and above, those who want to update their source code should do the following in their application source files:

Backward Compatilibity Index for Interface and Query Functions

Name in Earlier Zoltan Versions Name in Zoltan Version 1.3 and higher
LB_BORDER_OBJ_LIST_FN ZOLTAN_BORDER_OBJ_LIST_FN
LB_Balance Zoltan_LB_Balance
LB_Box_Assign Zoltan_LB_Box_Assign
LB_CHILD_LIST_FN ZOLTAN_CHILD_LIST_FN
LB_CHILD_WEIGHT_FN ZOLTAN_CHILD_WEIGHT_FN
LB_COARSE_OBJ_LIST_FN ZOLTAN_COARSE_OBJ_LIST_FN
LB_Compute_Destinations Zoltan_Compute_Destinations
LB_Create Zoltan_Create
LB_Destroy Zoltan_Destroy
LB_EDGE_LIST_FN ZOLTAN_EDGE_LIST_FN
LB_Eval Zoltan_LB_Eval
LB_FIRST_BORDER_OBJ_FN ZOLTAN_FIRST_BORDER_OBJ_FN
LB_FIRST_COARSE_OBJ_FN ZOLTAN_FIRST_COARSE_OBJ_FN
LB_FIRST_OBJ_FN ZOLTAN_FIRST_OBJ_FN
LB_Free_Data Zoltan_LB_Free_Data
LB_GEOM_FN ZOLTAN_GEOM_FN
LB_Help_Migrate Zoltan_Help_Migrate
LB_Initialize Zoltan_Initialize
LB_MID_MIGRATE_FN ZOLTAN_MID_MIGRATE_FN
LB_NEXT_BORDER_OBJ_FN ZOLTAN_NEXT_BORDER_OBJ_FN
LB_NEXT_COARSE_OBJ_FN ZOLTAN_NEXT_COARSE_OBJ_FN
LB_NEXT_OBJ_FN ZOLTAN_NEXT_OBJ_FN
LB_NUM_BORDER_OBJ_FN ZOLTAN_NUM_BORDER_OBJ_FN
LB_NUM_CHILD_FN ZOLTAN_NUM_CHILD_FN
LB_NUM_COARSE_OBJ_FN ZOLTAN_NUM_COARSE_OBJ_FN
LB_NUM_EDGES_FN ZOLTAN_NUM_EDGES_FN
LB_NUM_GEOM_FN ZOLTAN_NUM_GEOM_FN
LB_NUM_OBJ_FN ZOLTAN_NUM_OBJ_FN
LB_OBJ_LIST_FN ZOLTAN_OBJ_LIST_FN
LB_OBJ_SIZE_FN ZOLTAN_OBJ_SIZE_FN
LB_PACK_OBJ_FN ZOLTAN_PACK_OBJ_FN
LB_POST_MIGRATE_FN ZOLTAN_POST_MIGRATE_FN
LB_PRE_MIGRATE_FN ZOLTAN_PRE_MIGRATE_FN
LB_Point_Assign Zoltan_LB_Point_Assign
LB_Set_Fn Zoltan_Set_Fn
LB_Set_<lb_fn_type>_Fn Zoltan_Set_<zoltan_fn_type>_Fn
LB_Set_Method Zoltan_Set_Param with parameter LB_METHOD
LB_Set_Param Zoltan_Set_Param
LB_UNPACK_OBJ_FN ZOLTAN_UNPACK_OBJ_FN

[Table of Contents  | Next:  References  |  Previous:  C++ Interface]