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
The packages available are listed below.
Memory Management Utilities
Unstructured Communication Utilities
Distributed Directory Utility
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
files specifying compilation paths for
If, however, a user wishes to use these
utilities without using Zoltan, he must build the libraries
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
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
The <library_name> for each utility is included in the following documentation
for the utilities.
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
[Table of Contents | Next:
Memory Management Utilities | Previous:
Parallel Coloring | Privacy and Security]