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 |