SuperLU Distributed 8.2.1
Distributed memory sparse direct solver
|
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 | MAX_TREE_ALLOWED 1024 |
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) |
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) |
Variables | |
static int_t * | sortPtr |
static double * | sortPtrDouble |
SuperLU utilities.
-- Distributed SuperLU routine (version 7.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 MAX_TREE_ALLOWED 1024 |
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 | ) |
sForest_t ** getForests | ( | int_t | maxLvl, |
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 ** getNestDissForests | ( | int_t | maxLvl, |
int_t | nsupers, | ||
int_t * | setree, | ||
treeList_t * | treeList | ||
) |
int_t * getNodeToForstMap | ( | int_t | nsupers, |
sForest_t ** | sForests, | ||
gridinfo3d_t * | grid3d | ||
) |
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 | ||
) |
|
static |
|
static |