mirror of
https://github.com/PhasicFlow/phasicFlow.git
synced 2025-06-12 16:26:23 +00:00
Zoltan is added as thirdParty package
This commit is contained in:
861
thirdParty/Zoltan/docs/dev_html/dev_lb_structs.html
vendored
Normal file
861
thirdParty/Zoltan/docs/dev_html/dev_lb_structs.html
vendored
Normal file
@ -0,0 +1,861 @@
|
||||
<!-------- @HEADER
|
||||
!
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!
|
||||
! Zoltan Toolkit for Load-balancing, Partitioning, Ordering and Coloring
|
||||
! Copyright 2012 Sandia Corporation
|
||||
!
|
||||
! Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
|
||||
! the U.S. Government retains certain rights in this software.
|
||||
!
|
||||
! Redistribution and use in source and binary forms, with or without
|
||||
! modification, are permitted provided that the following conditions are
|
||||
! met:
|
||||
!
|
||||
! 1. Redistributions of source code must retain the above copyright
|
||||
! notice, this list of conditions and the following disclaimer.
|
||||
!
|
||||
! 2. Redistributions in binary form must reproduce the above copyright
|
||||
! notice, this list of conditions and the following disclaimer in the
|
||||
! documentation and/or other materials provided with the distribution.
|
||||
!
|
||||
! 3. Neither the name of the Corporation nor the names of the
|
||||
! contributors may be used to endorse or promote products derived from
|
||||
! this software without specific prior written permission.
|
||||
!
|
||||
! THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
|
||||
! EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
! PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
|
||||
! CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
! EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
! PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
! PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
! LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
! NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
! SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
! Questions? Contact Karen Devine kddevin@sandia.gov
|
||||
! Erik Boman egboman@sandia.gov
|
||||
!
|
||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!
|
||||
! @HEADER
|
||||
------->
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; U; SunOS 5.7 sun4u) [Netscape]">
|
||||
<meta name="sandia.approved" content="SAND99-1376">
|
||||
<meta name="author" content="karen devine, kddevin@sandia.gov">
|
||||
<title> Zoltan Developer's Guide: Load Balancing Data Structures</title>
|
||||
|
||||
</head>
|
||||
<body bgcolor="#FFFFFF">
|
||||
|
||||
<div align=right><b><i><a href="dev.html">Zoltan Developer's Guide</a>
|
||||
| <a href="dev_services.html">Next</a> | <a href="dev_lb_types.html">Previous</a></i></b></div>
|
||||
|
||||
<h2>
|
||||
<a NAME="interface_structs"></a>Data Structures</h2>
|
||||
The <b>Zoltan_Struct</b> data structure is the main data structure for interfacing
|
||||
between Zoltan and the application. The application
|
||||
creates an <b>Zoltan_Struct</b> data structure through a call to <b><a href="../ug_html/ug_interface_init.html#Zoltan_Create">Zoltan_Create</a></b>.
|
||||
Fields of the data structure are then set through calls from the application
|
||||
to interface routines such as <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
and <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>.
|
||||
The fields of the <b>Zoltan_Struct</b> data structure are listed and described
|
||||
in the <a href="#Zoltan_Struct">table</a> below. See the <a href="../ug_html/ug.html">Zoltan
|
||||
User's Guide</a> for descriptions of the function types used in the <b>Zoltan_Struct</b>.
|
||||
<p>A <b>Zoltan_Struct</b> data structure <i>zz</i> is passed from the application
|
||||
to Zoltan in the call to <b><a href="../ug_html/ug_interface_lb.html#Zoltan_LB_Partition">Zoltan_LB_Partition</a></b>.
|
||||
This data structure is passed to the individual load-balancing routines.
|
||||
The <i>zz->LB.Data_Structure</i> pointer field should point to the main data
|
||||
structures of the particular load-balancing algorithm so that the data
|
||||
structures may be preserved for future calls to <b><a href="../ug_html/ug_interface_lb.html#Zoltan_LB_Partition">Zoltan_LB_Partition</a></b>
|
||||
and so that separate instances of the same load-balancing algorithm (with
|
||||
different <b>Zoltan_Struct</b> structures) can be used by the application.
|
||||
<br>
|
||||
<center><table BORDER WIDTH="90%" NOSAVE >
|
||||
<tr>
|
||||
<th><a NAME="Zoltan_Struct"></a>Fields of Zoltan_Struct</th>
|
||||
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>MPI_Comm <i>Communicator</i></td>
|
||||
|
||||
<td>The MPI communicator to be used by the Zoltan structure; set
|
||||
by
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Create">Zoltan_Create</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Proc</i></td>
|
||||
|
||||
<td>The rank of the processor within <i>Communicator</i>; set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Create">Zoltan_Create</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Num_Proc</i></td>
|
||||
|
||||
<td>The number of processors in <i>Communicator</i>; set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Create">Zoltan_Create</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Num_GID</i></td>
|
||||
|
||||
<td>The number of array entries used to represent a
|
||||
<a href="dev_lb_types.html">global ID</a>.
|
||||
Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_param.html#NUM_GID_ENTRIES">NUM_GID_ENTRIES</a>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Num_LID</i></td>
|
||||
|
||||
<td>The number of array entries used to represent a
|
||||
<a href="dev_lb_types.html">local ID</a>.
|
||||
Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_param.html#NUM_LID_ENTRIES">NUM_LID_ENTRIES</a>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i><a href="../ug_html/ug_param.html#Debug Levels in Zoltan">Debug_Level</a></i></td>
|
||||
|
||||
<td>A flag indicating the amount of debugging information that should be
|
||||
printed by Zoltan.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Fortran</i></td>
|
||||
|
||||
<td>A flag indicating whether or not the structure was created by a call
|
||||
from Fortran.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>PARAM_LIST *<i> Params</i></td>
|
||||
|
||||
<td>A linked list of string pairs. The first item in each pair is the name
|
||||
of a modifiable parameter. The second string is the new value the parameter
|
||||
should adopt. These string pairs are read upon invocation of a Zoltan
|
||||
algorithm and the appropriate parameter changes are made. This design allows
|
||||
for different Zoltan structures to have different parameter settings.</td>
|
||||
</tr>
|
||||
|
||||
<tr VALIGN=TOP NOSAVE>
|
||||
<td NOSAVE>int <i>Deterministic</i></td>
|
||||
|
||||
<td>Flag indicating whether algorithms used should be forced to be deterministic;
|
||||
used to obtain completely reproducible results. Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_param.html#DETERMINISTIC">DETERMINISTIC</a>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Obj_Weight_Dim</i></td>
|
||||
|
||||
<td>Number of weights per object.
|
||||
Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_param.html#OBJ_WEIGHT_DIM">OBJ_WEIGHT_DIM</a>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Edge_Weight_Dim</i></td>
|
||||
|
||||
<td>For graph algorithms, number of weights per edge.
|
||||
Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_param.html#EDGE_WEIGHT_DIM">EDGE_WEIGHT_DIM</a>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Timer</i></td>
|
||||
|
||||
<td> Timer type that is currently active.
|
||||
Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_param.html#TIMER">TIMER</a>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_NUM_EDGES">ZOLTAN_NUM_EDGES_FN</a>
|
||||
*<i> Get_Num_Edges</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the number
|
||||
of edges associated with a given object. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Edges_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Num_Edges_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Num_Edges</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Edges_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_EDGE_LIST_FN">ZOLTAN_EDGE_LIST_FN</a>
|
||||
*<i> Get_Edge_List</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns a given
|
||||
object's neighbors along its edges. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Edge_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Edge_List_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Edge_List</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Edge_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_NUM_GEOM_FN">ZOLTAN_NUM_GEOM_FN</a>
|
||||
*<i> Get_Num_Geom</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the number
|
||||
of geometry values needed to describe the positions of objects. Set in
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Geom_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Num_Geom_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Num_Geom</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Geom_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_GEOM_FN">ZOLTAN_GEOM_FN</a>
|
||||
*<i> Get_Geom</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns a given
|
||||
object's geometry information (e.g., coordinates). Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Geom_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Geom_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Geom</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Geom_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_NUM_OBJ_FN">ZOLTAN_NUM_OBJ_FN</a>
|
||||
*<i> Get_Num_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the number
|
||||
of objects assigned to the processor before load balancing. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Num_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Num_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_OBJ_LIST_FN">ZOLTAN_OBJ_LIST_FN</a>
|
||||
*<i> Get_Obj_List</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns arrays
|
||||
of objects assigned to the processor before load balancing. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Obj_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Obj_List_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Obj_List</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Obj_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_FIRST_OBJ_FN">ZOLTAN_FIRST_OBJ_FN</a>
|
||||
*<i> Get_First_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the first
|
||||
object assigned to the processor before load balancing. Used with <i>Get_Next_Obj</i>
|
||||
as an iterator over all objects. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_First_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_First_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_First_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_First_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_NEXT_OBJ_FN">ZOLTAN_NEXT_OBJ_FN</a>
|
||||
*<i> Get_Next_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that, given an object
|
||||
assigned to the processor, returns the next object assigned to the processor
|
||||
before load balancing. Used with <i>Get_First_Obj</i> as an iterator over
|
||||
all objects. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Next_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Next_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Next_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Next_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_NUM_BORDER_OBJ_FN">ZOLTAN_NUM_BORDER_OBJ_FN</a>
|
||||
*<i> Get_Num_Border_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the number
|
||||
of objects sharing a subdomain border with a given processor. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Border_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Num_Border_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Num_Border_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Border_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_BORDER_OBJ_LIST_FN">ZOLTAN_BORDER_OBJ_LIST_FN</a>
|
||||
*<i> Get_Border_Obj_List</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns arrays
|
||||
of objects that share a subdomain border with a given processor. Set in
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Border_Obj_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Border_Obj_List_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Border_Obj_List</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Border_Obj_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_FIRST_BORDER_OBJ_FN">ZOLTAN_FIRST_BORDER_OBJ_FN</a>
|
||||
*<i> Get_First_Border_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the first
|
||||
object sharing a subdomain border with a given processor. Used with <i>Get_Next_Border_Obj</i>
|
||||
as an iterator over objects along borders. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_First_Border_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_First_Border_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_First_Border_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_First_Border_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_NEXT_BORDER_OBJ_FN">ZOLTAN_NEXT_BORDER_OBJ_FN</a>
|
||||
*<i> Get_Next_Border_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that, given an object,
|
||||
returns the next object sharing a subdomain border with a given processor.
|
||||
Used with <i>Get_First_Border_Obj</i> as an iterator over objects along
|
||||
borders. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Next_Border_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Next_Border_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Next_Border_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Next_Border_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_NUM_COARSE_OBJ_FN">ZOLTAN_NUM_COARSE_OBJ_FN</a>
|
||||
*<i> Get_Num_Coarse_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the number
|
||||
of objects in the initial coarse grid. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Coarse_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Num_Coarse_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Num_Coarse_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Coarse_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_COARSE_OBJ_LIST_FN">ZOLTAN_COARSE_OBJ_LIST_FN</a>
|
||||
*<i> Get_Coarse_Obj_List</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns arrays
|
||||
of objects in the initial coarse grid. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Coarse_Obj_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Coarse_Obj_List_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Coarse_Obj_List</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Coarse_Obj_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_FIRST_COARSE_OBJ_FN">ZOLTAN_FIRST_COARSE_OBJ_FN</a>
|
||||
*<i> Get_First_Coarse_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the first
|
||||
object of the initial coarse grid. Used with <i>Get_Next_Coarse_Obj</i>
|
||||
as an iterator over all objects in the coarse grid. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_First_Coarse_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_First_Coarse_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_First_Coarse_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_First_Coarse_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_NEXT_COARSE_OBJ_FN">ZOLTAN_NEXT_COARSE_OBJ_FN</a>
|
||||
*<i> Get_Next_Coarse_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that, given an object
|
||||
in the initial coarse grid, returns the next object in the coarse grid.
|
||||
Used with <i>Get_First_Coarse_Obj</i> as an iterator over all objects in
|
||||
the coarse grid. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Next_Coarse_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Next_Coarse_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Next_Coarse_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Next_Coarse_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_NUM_CHILD_FN">ZOLTAN_NUM_CHILD_FN</a>
|
||||
*<i> Get_Num_Child</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the number
|
||||
of refinement children of an object. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Child_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Num_Child_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Num_Child</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Num_Child_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_CHILD_LIST_FN">ZOLTAN_CHILD_LIST_FN</a>
|
||||
*<i> Get_Child_List</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns arrays
|
||||
of objects that are refinement children of a given object. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Child_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Child_List_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Child_List</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Child_List_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_lb.html#ZOLTAN_CHILD_WEIGHT_FN">ZOLTAN_CHILD_WEIGHT_FN</a>
|
||||
*<i> Get_Child_Weight</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the weight
|
||||
of an object. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Child_Weight_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Child_Weight_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Child_Weight</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Child_Weight_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_mig.html#ZOLTAN_OBJ_SIZE_FN">ZOLTAN_OBJ_SIZE_FN</a>
|
||||
*<i> Get_Obj_Size</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that returns the size
|
||||
(in bytes) of data objects to be migrated. Called by <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>.
|
||||
Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Obj_Size_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Get_Obj_Size_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Get_Obj_Size</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Obj_Size_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_mig.html#ZOLTAN_PACK_OBJ_FN">ZOLTAN_PACK_OBJ_FN</a>
|
||||
*<i> Pack_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that packs all data
|
||||
for a given object into a communication buffer provided by the migration
|
||||
tools in preparation for data-migration communication. Called by <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>
|
||||
for each object to be exported. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Pack_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Pack_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Pack_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Pack_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_mig.html#ZOLTAN_UNPACK_OBJ_FN">ZOLTAN_UNPACK_OBJ_FN</a>
|
||||
*<i> Unpack_Obj</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that unpacks all data
|
||||
for a given object from a communication buffer after the communication
|
||||
for data migration is completed. Called by <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>
|
||||
for each imported object. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Unpack_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Unpack_Obj_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Unpack_Obj</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Unpack_Obj_Fn</a></b>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td VALIGN=TOP>ZOLTAN_LB <i>LB</i></td>
|
||||
|
||||
<td>A structure with data used by the load-balancing tools. See the <a href="#LB_Fields">table</a>
|
||||
below.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>ZOLTAN_MIGRATE <i>Migrate</i></td>
|
||||
|
||||
<td>A structure with data used by the migration tools. See the <a href="#Migrate_Fields">table</a>
|
||||
below.</td>
|
||||
</tr>
|
||||
|
||||
<caption ALIGN=BOTTOM><i>Fields of the </i><b>Zoltan_Struct</b><i> data structure.</i></caption>
|
||||
</table></center>
|
||||
|
||||
<p>Each <b>Zoltan_Struct</b> data structure has a <b>ZOLTAN_LB</b> sub-structure.
|
||||
The <b>ZOLTAN_LB</b> structure contains data used by the load-balancing tools,
|
||||
including pointers to specific load-balancing methods and load-balancing data
|
||||
structures.
|
||||
The fields of the <b>ZOLTAN_LB</b> structure are listed and described
|
||||
in in the following <a href="#LB_Fields">table</a>.
|
||||
<br>
|
||||
<center><table BORDER WIDTH="90%" NOSAVE >
|
||||
<tr>
|
||||
<th><a NAME="LB_Fields"></a>Fields of ZOLTAN_LB</th>
|
||||
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void *<i> Data_Structure</i></td>
|
||||
|
||||
<td>The <a href="dev_add_struct.html">data structure</a> used by the selected load-balancing algorithm; this
|
||||
pointer is cast by the algorithm to the appropriate data type.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>double <i>Imbalance_Tol</i></td>
|
||||
|
||||
<td>The degree of load balance which is considered acceptable.
|
||||
Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_alg.html#IMBALANCE_TOL">IMBALANCE_TOL</a>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Num_Global_Parts</i></td>
|
||||
<td>
|
||||
The total number of parts to be generated.
|
||||
Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_alg.html#NUM_GLOBAL_PARTS">NUM_GLOBAL_PARTS</a> or through
|
||||
summation of
|
||||
<a href="../ug_html/ug_alg.html#NUM_LOCAL_PARTS">NUM_LOCAL_PARTS</a>
|
||||
parameters.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Num_Local_Parts</i></td>
|
||||
<td>
|
||||
The number of parts to be generated on this processor.
|
||||
Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_alg.html#NUM_LOCAL_PARTS">NUM_LOCAL_PARTS</a> or (roughly) through
|
||||
division of the
|
||||
<a href="../ug_html/ug_alg.html#NUM_GLOBAL_PARTS">NUM_GLOBAL_PARTS</a>
|
||||
parameter by the number of processors.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Return_Lists</i></td>
|
||||
|
||||
<td>A flag indicating whether the application wants import and/or export
|
||||
lists returned by <a href="../ug_html/ug_interface_lb.html#Zoltan_LB_Partition"><b>Zoltan_LB_Partition</b></a>.
|
||||
Set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_alg.html#RETURN_LISTS">RETURN_LISTS</a>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>ZOLTAN_LB_METHOD <i>Method</i></td>
|
||||
|
||||
<td>An enumerated type designating which load-balancing algorithm should
|
||||
be used with this Zoltan structure;
|
||||
set via a call to
|
||||
<b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_alg.html#LB_METHOD">LB_METHOD</a>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>LB_FN *<i> LB_Fn</i></td>
|
||||
|
||||
<td>A pointer to the load-balancing function specified by <i>Method</i>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>ZOLTAN_LB_FREE_DATA_FN <i>*Free_Structure</i></td>
|
||||
<td> Pointer to a function that frees the Data_Structure memory.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>ZOLTAN_LB_POINT_ASSIGN_FN <i>*Point_Assign</i></td>
|
||||
<td> Pointer to the function that performs
|
||||
<a href="../ug_html/ug_interface_augment.html#Zoltan_LB_Point_Assign">Zoltan_LB_Point_Assign</a> for the particular load-balancing method.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<td VALIGN=TOP>ZOLTAN_LB_BOX_ASSIGN_FN <i>*Box_Assign</i></td>
|
||||
<td> Pointer to the function that performs
|
||||
<a href="../ug_html/ug_interface_augment.html#Zoltan_LB_Box_Assign">Zoltan_LB_Box_Assign</a> for the particular load-balancing method.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<caption ALIGN=BOTTOM><i>Fields of the </i><b>ZOLTAN_LB</b><i> data structure.</i></caption>
|
||||
</table></center>
|
||||
|
||||
|
||||
<p>Each <b>Zoltan_Struct</b> data structure has a <b>ZOLTAN_MIGRATE</b> sub-structure.
|
||||
The <b>ZOLTAN_MIGRATE</b> structure contains data used by the migration tools,
|
||||
including pointers to pre- and post-processing routines. These pointers
|
||||
are set through the interface routine <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
and are used in <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>.
|
||||
The fields of the <b>ZOLTAN_MIGRATE</b> structure are listed and described
|
||||
in in the following <a href="#Migrate_Fields">table</a>.
|
||||
<br>
|
||||
<center><table BORDER WIDTH="90%" NOSAVE >
|
||||
<tr>
|
||||
<th><a NAME="Migrate_Fields"></a>Fields of ZOLTAN_MIGRATE</th>
|
||||
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>int <i>Auto_Migrate</i></td>
|
||||
|
||||
<td>A flag indicating whether Zoltan should perform
|
||||
auto-migration for the application. If true, Zoltan
|
||||
calls <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>
|
||||
to move objects to their new processors; if false, data migration is left
|
||||
to the user. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
|
||||
for <a href="../ug_html/ug_alg.html#AUTO_MIGRATE">AUTO_MIGRATE</a>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_mig.html#ZOLTAN_PRE_MIGRATE_PP_FN">ZOLTAN_PRE_MIGRATE_PP_FN</a>
|
||||
*<i> Pre_Migrate_PP</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that performs pre-processing
|
||||
for data migration. The function is called by <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>
|
||||
before data migration is performed. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Pre_Migrate_PP_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Pre_Migrate_PP_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Pre_Migrate_PP</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Pre_Migrate_PP_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_mig.html#ZOLTAN_MID_MIGRATE_PP_FN">ZOLTAN_MID_MIGRATE_PP_FN</a>
|
||||
*<i> Mid_Migrate_PP</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that performs processing
|
||||
between the packing and unpacking operations in <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>.
|
||||
Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Mid_Migrate_PP_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Mid_Migrate_PP_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Mid_Migrate_PP</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Mid_Migrate_PP_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr NOSAVE>
|
||||
<td VALIGN=TOP NOSAVE><a href="../ug_html/ug_query_mig.html#ZOLTAN_POST_MIGRATE_PP_FN">ZOLTAN_POST_MIGRATE_PP_FN</a>
|
||||
*<i>Post_Migrate_PP</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that performs post-processing
|
||||
for data migration. The function is called by <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Migrate">Zoltan_Migrate</a></b>
|
||||
after data migration is performed. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Post_Migrate_PP_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr NOSAVE>
|
||||
<td VALIGN=TOP NOSAVE>void *<i>Post_Migrate_PP_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Post_Migrate_PP</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Post_Migrate_PP_Fn</a></b>. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_mig.html#ZOLTAN_PRE_MIGRATE_FN">ZOLTAN_PRE_MIGRATE_FN</a>
|
||||
*<i> Pre_Migrate</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that performs pre-processing
|
||||
for data migration. The function is called by <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Help_Migrate">Zoltan_Help_Migrate</a></b>
|
||||
before data migration is performed. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Pre_Migrate_Fn</a></b>.
|
||||
Maintained for backward compatibility with Zoltan v1.3 interface.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Pre_Migrate_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Pre_Migrate</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Pre_Migrate_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP><a href="../ug_html/ug_query_mig.html#ZOLTAN_MID_MIGRATE_FN">ZOLTAN_MID_MIGRATE_FN</a>
|
||||
*<i> Mid_Migrate</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that performs processing
|
||||
between the packing and unpacking operations in <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Help_Migrate">Zoltan_Help_Migrate</a></b>.
|
||||
Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Mid_Migrate_Fn</a></b>.
|
||||
Maintained for backward compatibility with Zoltan v1.3 interface.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td VALIGN=TOP>void <i>*Mid_Migrate_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Mid_Migrate</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Mid_Migrate_Fn</a></b>.</td>
|
||||
</tr>
|
||||
|
||||
<tr NOSAVE>
|
||||
<td VALIGN=TOP NOSAVE><a href="../ug_html/ug_query_mig.html#ZOLTAN_POST_MIGRATE_FN">ZOLTAN_POST_MIGRATE_FN</a>
|
||||
*<i>Post_Migrate</i></td>
|
||||
|
||||
<td>A pointer to an application-registered function that performs post-processing
|
||||
for data migration. The function is called by <b><a href="../ug_html/ug_interface_mig.html#Zoltan_Help_Migrate">Zoltan_Help_Migrate</a></b>
|
||||
after data migration is performed. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Post_Migrate_Fn</a></b>.
|
||||
Maintained for backward compatibility with Zoltan v1.3 interface.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr NOSAVE>
|
||||
<td VALIGN=TOP NOSAVE>void *<i>Post_Migrate_Data</i></td>
|
||||
|
||||
<td>A pointer to data provided by the user that will be passed to the function
|
||||
pointed to by <i>Post_Migrate</i>. Set in <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Fn">Zoltan_Set_Fn</a></b>
|
||||
or <b><a href="../ug_html/ug_interface_init.html#Zoltan_Set_Specific_Fn">Zoltan_Set_Post_Migrate_Fn</a></b>. </td>
|
||||
</tr>
|
||||
|
||||
|
||||
<caption ALIGN=BOTTOM><i>Fields of the </i><b>ZOLTAN_MIGRATE</b><i> data structure.</i></caption>
|
||||
</table></center>
|
||||
|
||||
<p>For each pointer to an application registered function in the
|
||||
<b>Zoltan_Struct</b>
|
||||
and <b>ZOLTAN_MIGRATE</b> data structures there is also a pointer to a Fortran
|
||||
application registered function, of the form ZOLTAN_FUNCNAME_FORT_FN *<i>Get_Funcname_Fort</i>.
|
||||
These are for use within the Fortran interface. The Zoltan routines
|
||||
should invoke the usual application registered function regardless of whether
|
||||
the Zoltan structure was created from C or Fortran.
|
||||
|
||||
|
||||
|
||||
<hr WIDTH="100%">
|
||||
<br>[<a href="dev.html">Table of Contents</a> | <a href="dev_services.html">Next:
|
||||
Services</a> | <a href="dev_lb_types.html">Previous:
|
||||
ID Data Types</a> | <a href="https://www.sandia.gov/general/privacy-security/index.html">Privacy and Security</a>]
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user