Zoltan User's Guide  |  Next  |  Previous

Data Services and Utilities

Within Zoltan, several utilities are provided to simplify both application development and development of new algorithms in the library.  They are separate from the Zoltan library so that applications can use them independently of Zoltan, if desired.  They are compiled separately from Zoltan and can be archived in separate libraries.  Instructions for building the utilities and applications using them are included below; individual library names are listed in the following documentation for each package. 

The packages available are listed below.

Memory Management Utilities
Unstructured Communication Utilities
Distributed Directory Utility

Building Utilities

The utilities provided with Zoltan have their own makefiles and can be built separately from Zoltan.  If the user builds the Zoltan library, the utility libraries are built automatically and copied to the appropriate Zoltan/Obj_<platform> directory, where <platform> is specified through the ZOLTAN_ARCH environment variable.  Zoltan and the utilities share the Utilities/Config/Config.<platform> files specifying compilation paths for various architectures.  If, however, a user wishes to use these utilities without using Zoltan, he must build the libraries separately. 

The structure and use of makefiles for the utilities are similar to Zoltan's makefiles; a top-level makefile includes rules for building each utility's library.  Object files and the utility libraries are stored in a subdirectory Obj_<platform>, where <platform> is a target architecture supported with a Utilities/Config/Config.<platform> file.  The command for compiling a particular utility follows:

gmake ZOLTAN_ARCH=<platform> <library_name>
where <library_name> is the name of the utility library, and <platform> is the target architecture (corresponding to Utilities/Config/Config.<platform>).  The <library_name> for each utility is included in the following documentation for the utilities. 

Building Applications

The utilities are designed so that they can easily be used separately from Zoltan in applications.  To enable type-checking of arguments, the function-prototypes file for a utility should be included in all application source code files that directly access the utility.  The application must also link with the appropriate utility library (and any other libraries on which the utility depends).  Library and function-prototype file names for each utility are listed in the following documentation for the utilities. 

[Table of Contents  |  Next:  Memory Management Utilities  |  Previous:  Parallel Coloring  |  Privacy and Security]