|
SuperLU Distributed 9.0.0
gpu3d
|
SuperLU utilities. More...

Classes | |
| struct | rForest_t |
| struct | forestPartition_t |
Macros | |
| #define | INT_T_ALLOC(x) ((int_t *) SUPERLU_MALLOC ( (x) * sizeof (int_t))) |
| #define | DOUBLE_ALLOC(x) ((double *) SUPERLU_MALLOC ( (x) * sizeof (double))) |
| #define | ABS(a) ((a)<0?-(a):a) |
| #define | ACCEPTABLE_TREE_IMBALANCE 0.2 |
| #define | NUM_TREE_LOWERB 32 |
Functions | |
| int_t | calcTopInfoForest (sForest_t *forest, int_t nsupers, int_t *setree) |
| sForest_t ** | getForests (int_t maxLvl, int_t nsupers, int_t *setree, treeList_t *treeList) |
| double | calcNodeListWeight (int_t nnodes, int_t *nodeList, treeList_t *treeList) |
| sForest_t ** | getNestDissForests (int_t maxLvl, int_t nsupers, int_t *setree, treeList_t *treeList) |
| static int | cmpfuncInd (const void *a, const void *b) |
| int_t * | getSortIndex (int_t n, int_t *A) |
| static int | cmpfuncIndDouble (const void *a, const void *b) |
| int_t * | getSortIndexDouble (int_t n, double *A) |
| static int | cmpfunc (const void *a, const void *b) |
| int_t * | permuteArr (int_t n, int_t *A, int_t *perm) |
| double * | getTreeWeights (int_t numTrees, int_t *gNodeCount, int_t **gNodeLists, treeList_t *treeList) |
| int_t * | getNodeCountsFr (int_t maxLvl, sForest_t **sForests) |
| int_t ** | getNodeListFr (int_t maxLvl, sForest_t **sForests) |
| int_t * | getNodeToForstMap (int_t nsupers, sForest_t **sForests, gridinfo3d_t *grid3d) |
| int_t * | getMyNodeCountsFr (int_t maxLvl, int_t *myTreeIdxs, sForest_t **sForests) |
| int_t ** | getTreePermFr (int_t *myTreeIdxs, sForest_t **sForests, gridinfo3d_t *grid3d) |
| int * | getIsNodeInMyGrid (int_t nsupers, int_t maxLvl, int_t *myNodeCount, int_t **treePerm) |
| double | pearsonCoeff (int_t numForests, double *frCost, double *frWeight) |
| void | printGantt (int root, int numForests, char *nodename, double scale, double *gFrstCostAcc, double *crPathCost) |
| void | printForestWeightCost (sForest_t **sForests, SCT_t *SCT, gridinfo3d_t *grid3d) |
| double | getLoadImbalance (int_t nTrees, int_t *treeIndx, double *gTreeWeights) |
| void | freeRforest (rForest_t *rforest) |
| sForest_t * | createForestNew (int_t numTrees, int_t nsupers, int_t *nodeCounts, int_t **NodeLists, int_t *setree, treeList_t *treeList) |
| void | oneLeveltreeFrPartition (int_t nTrees, int_t *trCount, int_t **trList, int_t *treeSet, double *sWeightArr) |
| void | resizeArr (void **A, int oldSize, int newSize, size_t typeSize) |
| forestPartition_t | iterativeFrPartitioning (rForest_t *rforest, int_t nsupers, int_t *setree, treeList_t *treeList) |
| sForest_t * | r2sForest (rForest_t *rforest, int_t nsupers, int_t *setree, treeList_t *treeList) |
| sForest_t ** | getGreedyLoadBalForests (int_t maxLvl, int_t nsupers, int_t *setree, treeList_t *treeList) |
| sForest_t ** | getOneLevelBalForests (int_t maxLvl, int_t nsupers, int_t *setree, treeList_t *treeList) |
| int * | getBrecvTree (int_t nlb, sForest_t *sforest, int *bmod, gridinfo_t *grid) |
| int * | getBrecvTree_newsolve (int_t nlb, int_t nsupers, int *supernodeMask, int *bmod, gridinfo_t *grid) |
| int | getNrootUsolveTree (int_t *nbrecvmod, sForest_t *sforest, int *brecv, int *bmod, gridinfo_t *grid) |
| int | getNbrecvX (sForest_t *sforest, int_t *Urbs, gridinfo_t *grid) |
| int | getNbrecvX_newsolve (int_t nsupers, int *supernodeMask, int_t *Urbs, Ucb_indptr_t **Ucb_indptr, gridinfo_t *grid) |
| int | getNrootUsolveTree_newsolve (int_t *nbrecvmod, int_t nsupers, int *supernodeMask, int *brecv, int *bmod, gridinfo_t *grid) |
| int_t | getNfrecvmodLeaf (int *nleaf, sForest_t *sforest, int *frecv, int *fmod, gridinfo_t *grid) |
| int_t | getNfrecvmod_newsolve (int *nleaf, int_t nsupers, int *supernodeMask, int *frecv, int *fmod, gridinfo_t *grid) |
| int_t | zAllocBcast (int_t size, void **ptr, gridinfo3d_t *grid3d) |
| int_t | zAllocBcast_gridID (int_t size, void **ptr, int_t gridID, gridinfo3d_t *grid3d) |
| int * | getfrecv_newsolve (int_t nsupers, int *supernodeMask, int_t nlb, int *fmod, int *mod_bit, gridinfo_t *grid) |
| int * | getfrecvLeaf (sForest_t *sforest, int_t nlb, int *fmod, int *mod_bit, gridinfo_t *grid) |
| int | getNfrecvx_newsolve (int_t nsupers, int *supernodeMask, int_t **Lrowind_bc_ptr, int_t **Lindval_loc_bc_ptr, gridinfo_t *grid) |
| int | getNfrecvxLeaf (sForest_t *sforest, int_t **Lrowind_bc_ptr, gridinfo_t *grid) |
| int * | getfmod_newsolve (int_t nlb, int_t nsupers, int *supernodeMask, int_t **Lrowind_bc_ptr, int_t **Lindval_loc_bc_ptr, gridinfo_t *grid) |
| int * | getfmodLeaf (int_t nlb, int *fmod_i) |
| int | getldu (int_t knsupc, int_t iklrow, int_t *usub) |
| int * | getBmod3d (int_t treeId, int_t nlb, sForest_t *sforest, int_t *xsup, int_t **Ufstnz_br_ptr, int_t *supernode2treeMap, gridinfo_t *grid) |
| int * | getBmod3d_newsolve (int_t nlb, int_t nsupers, int *supernodeMask, int_t *xsup, int_t **Ufstnz_br_ptr, gridinfo_t *grid) |
Variables | |
| static int_t * | sortPtr |
| static double * | sortPtrDouble |
| int * | mystatus |
| int * | mystatusmod |
| int * | d_rownum |
| int * | d_rowstart |
| int * | mystatus_u |
| int * | mystatusmod_u |
| int * | d_status |
| int * | d_statusmod |
| uint64_t * | flag_bc_q |
| uint64_t * | flag_rd_q |
| int * | my_flag_bc |
| int * | my_flag_rd |
| int * | d_mynum |
| int * | d_mymaskstart |
| int * | d_mymasklength |
| int * | d_mynum_u |
| int * | d_mymaskstart_u |
| int * | d_mymasklength_u |
| int * | d_nfrecv |
| int * | h_nfrecv |
| int * | d_colnum |
| int * | d_nfrecv_u |
| int * | h_nfrecv_u |
| int * | d_colnum_u |
| int * | d_nfrecvmod |
| int * | h_nfrecvmod |
| int * | d_colnummod |
| int * | d_nfrecvmod_u |
| int * | h_nfrecvmod_u |
| int * | d_colnummod_u |
| int * | d_mynummod |
| int * | d_mymaskstartmod |
| int * | d_mymasklengthmod |
| int * | d_mynummod_u |
| int * | d_mymaskstartmod_u |
| int * | d_mymasklengthmod_u |
| int * | d_recv_cnt |
| int * | d_msgnum |
| int * | d_recv_cnt_u |
| int * | d_msgnum_u |
| int * | d_flag_mod |
| int * | d_flag_mod_u |
SuperLU utilities.
-- Distributed SuperLU routine (version 9.0) -- Lawrence Berkeley National Lab, Oak Ridge National Lab May 12, 2021
| #define ABS | ( | a | ) | ((a)<0?-(a):a) |
| #define ACCEPTABLE_TREE_IMBALANCE 0.2 |
| #define DOUBLE_ALLOC | ( | x | ) | ((double *) SUPERLU_MALLOC ( (x) * sizeof (double))) |
| #define INT_T_ALLOC | ( | x | ) | ((int_t *) SUPERLU_MALLOC ( (x) * sizeof (int_t))) |
| #define NUM_TREE_LOWERB 32 |
| double calcNodeListWeight | ( | int_t | nnodes, |
| int_t * | nodeList, | ||
| treeList_t * | treeList | ||
| ) |



|
static |

|
static |

|
static |

| sForest_t * createForestNew | ( | int_t | numTrees, |
| int_t | nsupers, | ||
| int_t * | nodeCounts, | ||
| int_t ** | NodeLists, | ||
| int_t * | setree, | ||
| treeList_t * | treeList | ||
| ) |


| void freeRforest | ( | rForest_t * | rforest | ) |

| int * getBmod3d | ( | int_t | treeId, |
| int_t | nlb, | ||
| sForest_t * | sforest, | ||
| int_t * | xsup, | ||
| int_t ** | Ufstnz_br_ptr, | ||
| int_t * | supernode2treeMap, | ||
| gridinfo_t * | grid | ||
| ) |

| int * getBmod3d_newsolve | ( | int_t | nlb, |
| int_t | nsupers, | ||
| int * | supernodeMask, | ||
| int_t * | xsup, | ||
| int_t ** | Ufstnz_br_ptr, | ||
| gridinfo_t * | grid | ||
| ) |

| int * getBrecvTree | ( | int_t | nlb, |
| sForest_t * | sforest, | ||
| int * | bmod, | ||
| gridinfo_t * | grid | ||
| ) |

| int * getBrecvTree_newsolve | ( | int_t | nlb, |
| int_t | nsupers, | ||
| int * | supernodeMask, | ||
| int * | bmod, | ||
| gridinfo_t * | grid | ||
| ) |

| int * getfmod_newsolve | ( | int_t | nlb, |
| int_t | nsupers, | ||
| int * | supernodeMask, | ||
| int_t ** | Lrowind_bc_ptr, | ||
| int_t ** | Lindval_loc_bc_ptr, | ||
| gridinfo_t * | grid | ||
| ) |


| int * getfmodLeaf | ( | int_t | nlb, |
| int * | fmod_i | ||
| ) |


| sForest_t ** getForests | ( | int_t | maxLvl, |
| int_t | nsupers, | ||
| int_t * | setree, | ||
| treeList_t * | treeList | ||
| ) |


| int * getfrecv_newsolve | ( | int_t | nsupers, |
| int * | supernodeMask, | ||
| int_t | nlb, | ||
| int * | fmod, | ||
| int * | mod_bit, | ||
| gridinfo_t * | grid | ||
| ) |


| int * getfrecvLeaf | ( | sForest_t * | sforest, |
| int_t | nlb, | ||
| int * | fmod, | ||
| int * | mod_bit, | ||
| gridinfo_t * | grid | ||
| ) |


| sForest_t ** getGreedyLoadBalForests | ( | int_t | maxLvl, |
| int_t | nsupers, | ||
| int_t * | setree, | ||
| treeList_t * | treeList | ||
| ) |






| int getNbrecvX | ( | sForest_t * | sforest, |
| int_t * | Urbs, | ||
| gridinfo_t * | grid | ||
| ) |

| int getNbrecvX_newsolve | ( | int_t | nsupers, |
| int * | supernodeMask, | ||
| int_t * | Urbs, | ||
| Ucb_indptr_t ** | Ucb_indptr, | ||
| gridinfo_t * | grid | ||
| ) |

| sForest_t ** getNestDissForests | ( | int_t | maxLvl, |
| int_t | nsupers, | ||
| int_t * | setree, | ||
| treeList_t * | treeList | ||
| ) |


| int_t getNfrecvmod_newsolve | ( | int * | nleaf, |
| int_t | nsupers, | ||
| int * | supernodeMask, | ||
| int * | frecv, | ||
| int * | fmod, | ||
| gridinfo_t * | grid | ||
| ) |

| int_t getNfrecvmodLeaf | ( | int * | nleaf, |
| sForest_t * | sforest, | ||
| int * | frecv, | ||
| int * | fmod, | ||
| gridinfo_t * | grid | ||
| ) |

| int getNfrecvx_newsolve | ( | int_t | nsupers, |
| int * | supernodeMask, | ||
| int_t ** | Lrowind_bc_ptr, | ||
| int_t ** | Lindval_loc_bc_ptr, | ||
| gridinfo_t * | grid | ||
| ) |

| int getNfrecvxLeaf | ( | sForest_t * | sforest, |
| int_t ** | Lrowind_bc_ptr, | ||
| gridinfo_t * | grid | ||
| ) |



| int_t * getNodeToForstMap | ( | int_t | nsupers, |
| sForest_t ** | sForests, | ||
| gridinfo3d_t * | grid3d | ||
| ) |

| int getNrootUsolveTree | ( | int_t * | nbrecvmod, |
| sForest_t * | sforest, | ||
| int * | brecv, | ||
| int * | bmod, | ||
| gridinfo_t * | grid | ||
| ) |

| int getNrootUsolveTree_newsolve | ( | int_t * | nbrecvmod, |
| int_t | nsupers, | ||
| int * | supernodeMask, | ||
| int * | brecv, | ||
| int * | bmod, | ||
| gridinfo_t * | grid | ||
| ) |

| sForest_t ** getOneLevelBalForests | ( | int_t | maxLvl, |
| int_t | nsupers, | ||
| int_t * | setree, | ||
| treeList_t * | treeList | ||
| ) |





| int_t ** getTreePermFr | ( | int_t * | myTreeIdxs, |
| sForest_t ** | sForests, | ||
| gridinfo3d_t * | grid3d | ||
| ) |


| double * getTreeWeights | ( | int_t | numTrees, |
| int_t * | gNodeCount, | ||
| int_t ** | gNodeLists, | ||
| treeList_t * | treeList | ||
| ) |

| forestPartition_t iterativeFrPartitioning | ( | rForest_t * | rforest, |
| int_t | nsupers, | ||
| int_t * | setree, | ||
| treeList_t * | treeList | ||
| ) |


| void oneLeveltreeFrPartition | ( | int_t | nTrees, |
| int_t * | trCount, | ||
| int_t ** | trList, | ||
| int_t * | treeSet, | ||
| double * | sWeightArr | ||
| ) |


| double pearsonCoeff | ( | int_t | numForests, |
| double * | frCost, | ||
| double * | frWeight | ||
| ) |

| void printForestWeightCost | ( | sForest_t ** | sForests, |
| SCT_t * | SCT, | ||
| gridinfo3d_t * | grid3d | ||
| ) |


| void printGantt | ( | int | root, |
| int | numForests, | ||
| char * | nodename, | ||
| double | scale, | ||
| double * | gFrstCostAcc, | ||
| double * | crPathCost | ||
| ) |


| sForest_t * r2sForest | ( | rForest_t * | rforest, |
| int_t | nsupers, | ||
| int_t * | setree, | ||
| treeList_t * | treeList | ||
| ) |


| void resizeArr | ( | void ** | A, |
| int | oldSize, | ||
| int | newSize, | ||
| size_t | typeSize | ||
| ) |

| int_t zAllocBcast | ( | int_t | size, |
| void ** | ptr, | ||
| gridinfo3d_t * | grid3d | ||
| ) |
| int_t zAllocBcast_gridID | ( | int_t | size, |
| void ** | ptr, | ||
| int_t | gridID, | ||
| gridinfo3d_t * | grid3d | ||
| ) |

| int * d_colnum |
| int * d_colnum_u |
| int * d_colnummod |
| int * d_colnummod_u |
| int* d_flag_mod |
| int * d_flag_mod_u |
| int * d_msgnum |
| int * d_msgnum_u |
| int * d_mymasklength |
| int * d_mymasklength_u |
| int * d_mymasklengthmod |
| int * d_mymasklengthmod_u |
| int * d_mymaskstart |
| int * d_mymaskstart_u |
| int * d_mymaskstartmod |
| int * d_mymaskstartmod_u |
| int* d_mynum |
| int* d_mynum_u |
| int* d_mynummod |
| int* d_mynummod_u |
| int* d_nfrecv |
| int* d_nfrecv_u |
| int* d_nfrecvmod |
| int* d_nfrecvmod_u |
| int* d_recv_cnt |
| int* d_recv_cnt_u |
| int * d_rownum |
| int * d_rowstart |
| int* d_status |
| int * d_statusmod |
| uint64_t* flag_bc_q |
| uint64_t * flag_rd_q |
| int * h_nfrecv |
| int * h_nfrecv_u |
| int * h_nfrecvmod |
| int * h_nfrecvmod_u |
| int* my_flag_bc |
| int * my_flag_rd |
| int* mystatus |
| int* mystatus_u |
| int * mystatusmod |
| int * mystatusmod_u |
|
static |
|
static |