C: | int Zoltan_Order (
struct Zoltan_Struct *zz, int *num_gid_entries, int *num_lid_entries, int num_obj, ZOLTAN_ID_PTR global_ids, ZOLTAN_ID_PTR local_ids, int *rank, int *iperm) |
FORTRAN: | FUNCTION Zoltan_Order(zz, num_gid_entries, num_lid_entries,
num_obj,
global_ids, local_ids, rank, iperm)
INTEGER(Zoltan_INT) :: Zoltan_Order TYPE(Zoltan_Struct), INTENT(IN) :: zz INTEGER(Zoltan_INT), INTENT(OUT) :: num_gid_entries, num_lid_entries INTEGER(Zoltan_INT), INTENT(IN) :: num_obj INTEGER(Zoltan_INT) :: global_ids(*), local_ids(*) INTEGER(Zoltan_INT) :: rank(*), iperm(*) |
C++: | int Zoltan::Order (
int &num_gid_entries, int &num_lid_entries, const int &num_obj, ZOLTAN_ID_PTR global_ids, ZOLTAN_ID_PTR local_ids, int *rank, int *iperm); |
Arguments: | |
zz | Pointer to the Zoltan structure, created by Zoltan_Create, to be used in this invocation of the load-balancing routine. |
num_gid_entries | Upon return, the number of array entries used to describe a single global ID. This value is the maximum value over all processors of the parameter NUM_GID_ENTRIES. |
num_lid_entries | Upon return, the number of array entries used to describe a single local ID. This value is the maximum value over all processors of the parameter NUM_LID_ENTRIES. |
num_obj | Number of objects to order on this processor. At present, num_obj should be the total number of objects residing on a processor. In future releases, ordering only a subset of the objects may be permitted. |
global_ids | An array of global IDs of objects to be ordered on this processor.
(size = num_obj * num_gid_entries)
The array may be uninitialized on input (if REORDER is false), but memory must have been allocated before Zoltan_Order is called. |
local_ids | [Optional.] An array of local IDs of objects to be ordered on this
processor. (size = num_obj * num_lid_entries)
The array may be uninitialized on input (if REORDER is false), but memory must have been allocated before Zoltan_Order is called. |
rank | Upon return, an array of length num_obj containing the rank of each object in the computed ordering. When rank[i] = j, that means that the object corresponding to global_ids[i] is the jth object in the ordering. (This array corresponds directly to the perm array in METIS and the order array in ParMETIS.) Note that the rank may refer to either a local or a global ordering, depending on ORDER_TYPE. Memory for this array must have been allocated before Zoltan_Order is called. |
iperm | Upon return, an array of length num_obj containing the inverse permutation of rank, only when the ORDER_TYPE is local. That is, iperm[rank[i]] = i. In other words, iperm[j] gives the jth object in the ordering. Memory for this array must have been allocated before Zoltan_Order is called. |
Returned Value: | |
int | Error code. |
C: | int Zoltan_Order_Get_Num_Blocks (
struct Zoltan_Struct *zz) |
C++: | int Zoltan::Order_Get_Num_Blocks () |
Arguments: | |
zz | Pointer to the Zoltan structure, created by Zoltan_Create, which has been used in the ordering routine. |
Returned Value: | |
int | The number of blocks (subdomains). |
C: | int Zoltan_Order_Get_Block_Bounds (
struct Zoltan_Struct *zz, int block_id, int *first, int *last) |
C++: | int Zoltan::Order_Get_Block_Bounds (
int block_id, int &first, int &last) |
Arguments: | |
zz | Pointer to the Zoltan structure, created by Zoltan_Create, which has been used in the ordering routine. |
block_id | The number of the block we want informations on. |
first | Upon return, pointer to the value of the begining of the block. |
last | Upon return, pointer to the value of the end of the block. |
Returned Value: | |
int | Error code. |
C: | int Zoltan_Order_Get_Block_Size (
struct Zoltan_Struct *zz, int block_id) |
C++: | int Zoltan::Order_Get_Block_Size (
int block_id) |
Arguments: | |
zz | Pointer to the Zoltan structure, created by Zoltan_Create, which has been used in the ordering routine. |
block_id | The indice of the block we want to know the size. |
Returned Value: | |
int | The number of objects in this given block. |
C: | int Zoltan_Order_Get_Block_Parent (
struct Zoltan_Struct *zz, int block_id) |
C++: | int Zoltan::Order_Get_Block_Parent (
int block_id) |
Arguments: | |
zz | Pointer to the Zoltan structure, created by Zoltan_Create, which has been used in the ordering routine. |
block_id | The indice of the block we want to know the size. |
Returned Value: | |
int | The number (id) of the parent block in the elimination tree. The value is -1 for the root of the tree. |
C: | int Zoltan_Order_Get_Num_Leaves (
struct Zoltan_Struct *zz) |
C++: | int Zoltan::Order_Get_Num_Leaves () |
Arguments: | |
zz | Pointer to the Zoltan structure, created by Zoltan_Create, which has been used in the ordering routine. |
Returned Value: | |
int | The number of leaves in the elimination tree. |
C: | void Zoltan_Order_Get_Block_Leaves (
struct Zoltan_Struct *zz, int *leaves) |
C++: | void Zoltan::Order_Get_Block_Leaves (
struct Zoltan_Struct *zz, int *leaves) |
Arguments: | |
zz | Pointer to the Zoltan structure, created by Zoltan_Create, which has been used in the ordering routine. |
leaves | Array of indices of the blocks that are leaves in the elimination. The last element of this array is -1. The array must be of size number of leave + 1 and must be allocated by the user before the call. |
C: | int Zoltan_Order_Get_GID_Order (
struct Zoltan_Struct *zz, ZOLTAN_ID_PTR global_ids ZOLTAN_ID_PTR order_ids) |
C++: | int Zoltan::Order_Get_GID_Order (
ZOLTAN_ID_PTR global_ids ZOLTAN_ID_PTR order_ids) |
Arguments: | |
zz | Pointer to the Zoltan structure, created by Zoltan_Create, which has been used in the ordering routine. |
global_ids | Array, filled by the user before calling the function, that hold the GID of local objects. |
order_ids | Array of permutted GID. Must be allocated by user before calling. |
Returned Value: | |
int | Error code. |