SuperLU Distributed 8.2.1
Distributed memory sparse direct solver
|
Utilities functions. More...
Macros | |
#define | NBUCKS 10 |
Get the statistics of the supernodes. More... | |
#define | GPU_ACC |
#define | GPUMM_MIN_K 64 |
#define | GPUMM_MIN_MN 256*256 |
Functions | |
void | Destroy_SuperMatrix_Store_dist (SuperMatrix *A) |
Deallocate the structure pointing to the actual storage of the matrix. More... | |
void | Destroy_CompCol_Matrix_dist (SuperMatrix *A) |
void | Destroy_CompRowLoc_Matrix_dist (SuperMatrix *A) |
void | Destroy_CompRow_Matrix_dist (SuperMatrix *A) |
void | Destroy_SuperNode_Matrix_dist (SuperMatrix *A) |
void | Destroy_CompCol_Permuted_dist (SuperMatrix *A) |
A is of type Stype==NCP. More... | |
void | Destroy_Dense_Matrix_dist (SuperMatrix *A) |
A is of type Stype==DN. More... | |
void | countnz_dist (const int_t n, int_t *xprune, int_t *nnzL, int_t *nnzU, Glu_persist_t *Glu_persist, Glu_freeable_t *Glu_freeable) |
int64_t | fixupL_dist (const int_t n, const int_t *perm_r, Glu_persist_t *Glu_persist, Glu_freeable_t *Glu_freeable) |
void | set_default_options_dist (superlu_dist_options_t *options) |
Set the default values for the options argument. More... | |
void | print_options_dist (superlu_dist_options_t *options) |
Print the options setting. More... | |
void | print_sp_ienv_dist (superlu_dist_options_t *options) |
Print the blocking parameters. More... | |
void | pxgstrs_finalize (pxgstrs_comm_t *gstrs_comm) |
void | print_panel_seg_dist (int_t n, int_t w, int_t jcol, int_t nseg, int_t *segrep, int_t *repfnz) |
Diagnostic print of segment info after panel_dfs(). More... | |
void | PStatInit (SuperLUStat_t *stat) |
void | PStatClear (SuperLUStat_t *stat) |
void | PStatPrint (superlu_dist_options_t *options, SuperLUStat_t *stat, gridinfo_t *grid) |
void | PStatFree (SuperLUStat_t *stat) |
void | ifill_dist (int_t *a, int_t alen, int_t ival) |
Fills an integer array with a given value. More... | |
void | get_diag_procs (int_t n, Glu_persist_t *Glu_persist, gridinfo_t *grid, int_t *num_diag_procs, int_t **diag_procs, int_t **diag_len) |
void | super_stats_dist (int_t nsuper, int_t *xsup) |
void | check_repfnz_dist (int_t n, int_t w, int_t jcol, int_t *repfnz) |
Check whether repfnz[] == SLU_EMPTY after reset. More... | |
void | PrintInt10 (char *name, int_t len, int_t *x) |
void | PrintInt32 (char *name, int len, int *x) |
int | file_PrintInt10 (FILE *fp, char *name, int_t len, int_t *x) |
int | file_PrintInt32 (FILE *fp, char *name, int len, int *x) |
int_t | CheckZeroDiagonal (int_t n, int_t *rowind, int_t *colbeg, int_t *colcnt) |
void | isort (int_t N, int_t *ARRAY1, int_t *ARRAY2) |
void | isort1 (int_t N, int_t *ARRAY) |
void | log_memory (int64_t cur_bytes, SuperLUStat_t *stat) |
void | print_memorylog (SuperLUStat_t *stat, char *msg) |
int | compare_pair (const void *a, const void *b) |
int | get_thread_per_process () |
int_t | get_gpublas_nb () |
int_t | get_num_gpu_streams () |
int_t | get_min (int_t *sums, int_t nprocs) |
int_t | static_partition (struct superlu_pair *work_load, int_t nwl, int_t *partition, int_t ldp, int_t *sums, int_t *counts, int nprocs) |
void | arrive_at_ublock (int_t j, int_t *iukp, int_t *rukp, int_t *jb, int_t *ljb, int_t *nsupc, int_t iukp0, int_t rukp0, int_t *usub, int_t *perm_u, int_t *xsup, gridinfo_t *grid) |
int_t | num_full_cols_U (int_t kk, int_t **Ufstnz_br_ptr, int_t *xsup, gridinfo_t *grid, int_t *perm_u, int_t *ldu) |
int_t | estimate_bigu_size (int_t nsupers, int_t **Ufstnz_br_ptr, Glu_persist_t *Glu_persist, gridinfo_t *grid, int_t *perm_u, int_t *max_ncols) |
void | quickSort (int_t *a, int_t l, int_t r, int_t dir) |
int_t | partition (int_t *a, int_t l, int_t r, int_t dir) |
void | quickSortM (int_t *a, int_t l, int_t r, int_t lda, int_t dir, int_t dims) |
int_t | partitionM (int_t *a, int_t l, int_t r, int_t lda, int_t dir, int_t dims) |
int_t ** | getTreePerm (int_t *myTreeIdxs, int_t *myZeroTrIdxs, int_t *nodeCount, int_t **nodeList, int_t *perm_c_supno, int_t *iperm_c_supno, gridinfo3d_t *grid3d) |
int_t * | getMyNodeCounts (int_t maxLvl, int_t *myTreeIdxs, int_t *gNodeCount) |
int_t | checkIntVector3d (int_t *vec, int_t len, gridinfo3d_t *grid3d) |
int_t | reduceStat (PhaseType PHASE, SuperLUStat_t *stat, gridinfo3d_t *grid3d) |
void | gemm_division_cpu_gpu (superlu_dist_options_t *options, int *num_streams_used, int *stream_end_col, int *ncpu_blks, int nbrow, int ldu, int nstreams, int *full_u_cols, int num_blks, int_t gemmBufferSize) |
int | getnGPUStreams () |
int | get_mpi_process_per_gpu () |
Variables | |
static int | max_sup_size |
Utilities functions.
Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)
All rights reserved.
The source code is distributed under BSD license, see the file License.txt at the top-level directory.
-- Distributed SuperLU routine (version 6.1) -- Lawrence Berkeley National Lab, Univ. of California Berkeley. February 1, 2003 Modified: March 31, 2013 January 29, 2018
#define GPU_ACC |
#define GPUMM_MIN_K 64 |
#define GPUMM_MIN_MN 256*256 |
#define NBUCKS 10 |
Get the statistics of the supernodes.
void arrive_at_ublock | ( | int_t | j, |
int_t * | iukp, | ||
int_t * | rukp, | ||
int_t * | jb, | ||
int_t * | ljb, | ||
int_t * | nsupc, | ||
int_t | iukp0, | ||
int_t | rukp0, | ||
int_t * | usub, | ||
int_t * | perm_u, | ||
int_t * | xsup, | ||
gridinfo_t * | grid | ||
) |
Check whether repfnz[] == SLU_EMPTY after reset.
Check whether repfnz[] == EMPTY after reset.
int_t checkIntVector3d | ( | int_t * | vec, |
int_t | len, | ||
gridinfo3d_t * | grid3d | ||
) |
int compare_pair | ( | const void * | a, |
const void * | b | ||
) |
void countnz_dist | ( | const int_t | n, |
int_t * | xprune, | ||
int_t * | nnzL, | ||
int_t * | nnzU, | ||
Glu_persist_t * | Glu_persist, | ||
Glu_freeable_t * | Glu_freeable | ||
) |
Count the total number of nonzeros in factors L and U, and in the symmetrically reduced L.
void Destroy_CompCol_Matrix_dist | ( | SuperMatrix * | A | ) |
void Destroy_CompCol_Permuted_dist | ( | SuperMatrix * | A | ) |
A is of type Stype==NCP.
void Destroy_CompRow_Matrix_dist | ( | SuperMatrix * | A | ) |
void Destroy_CompRowLoc_Matrix_dist | ( | SuperMatrix * | A | ) |
void Destroy_Dense_Matrix_dist | ( | SuperMatrix * | A | ) |
A is of type Stype==DN.
void Destroy_SuperMatrix_Store_dist | ( | SuperMatrix * | A | ) |
Deallocate the structure pointing to the actual storage of the matrix.
void Destroy_SuperNode_Matrix_dist | ( | SuperMatrix * | A | ) |
int_t estimate_bigu_size | ( | int_t | nsupers, |
int_t ** | Ufstnz_br_ptr, | ||
Glu_persist_t * | Glu_persist, | ||
gridinfo_t * | grid, | ||
int_t * | perm_u, | ||
int_t * | max_ncols | ||
) |
int file_PrintInt32 | ( | FILE * | fp, |
char * | name, | ||
int | len, | ||
int * | x | ||
) |
int64_t fixupL_dist | ( | const int_t | n, |
const int_t * | perm_r, | ||
Glu_persist_t * | Glu_persist, | ||
Glu_freeable_t * | Glu_freeable | ||
) |
Fix up the data storage lsub[] for L-subscripts. It removes the subscript sets for structural pruning, and applies permuation to the remaining subscripts. Return value: number of entries in lsub[], which includes the size of the pruned graph, which is interspersed in the supernodal graph in the lsub[] array.
void gemm_division_cpu_gpu | ( | superlu_dist_options_t * | options, |
int * | num_streams_used, | ||
int * | stream_end_col, | ||
int * | ncpu_blks, | ||
int | nbrow, | ||
int | ldu, | ||
int | nstreams, | ||
int * | full_u_cols, | ||
int | num_blks, | ||
int_t | gemmBufferSize | ||
) |
void get_diag_procs | ( | int_t | n, |
Glu_persist_t * | Glu_persist, | ||
gridinfo_t * | grid, | ||
int_t * | num_diag_procs, | ||
int_t ** | diag_procs, | ||
int_t ** | diag_len | ||
) |
int_t get_gpublas_nb | ( | ) |
int get_mpi_process_per_gpu | ( | ) |
int_t get_num_gpu_streams | ( | ) |
int get_thread_per_process | ( | void | ) |
int getnGPUStreams | ( | ) |
int_t ** getTreePerm | ( | int_t * | myTreeIdxs, |
int_t * | myZeroTrIdxs, | ||
int_t * | nodeCount, | ||
int_t ** | nodeList, | ||
int_t * | perm_c_supno, | ||
int_t * | iperm_c_supno, | ||
gridinfo3d_t * | grid3d | ||
) |
void log_memory | ( | int64_t | cur_bytes, |
SuperLUStat_t * | stat | ||
) |
int_t num_full_cols_U | ( | int_t | kk, |
int_t ** | Ufstnz_br_ptr, | ||
int_t * | xsup, | ||
gridinfo_t * | grid, | ||
int_t * | perm_u, | ||
int_t * | ldu | ||
) |
void print_memorylog | ( | SuperLUStat_t * | stat, |
char * | msg | ||
) |
void print_options_dist | ( | superlu_dist_options_t * | options | ) |
Print the options setting.
void print_panel_seg_dist | ( | int_t | n, |
int_t | w, | ||
int_t | jcol, | ||
int_t | nseg, | ||
int_t * | segrep, | ||
int_t * | repfnz | ||
) |
Diagnostic print of segment info after panel_dfs().
void print_sp_ienv_dist | ( | superlu_dist_options_t * | options | ) |
Print the blocking parameters.
void PrintInt32 | ( | char * | name, |
int | len, | ||
int * | x | ||
) |
void PStatClear | ( | SuperLUStat_t * | stat | ) |
void PStatFree | ( | SuperLUStat_t * | stat | ) |
void PStatInit | ( | SuperLUStat_t * | stat | ) |
void PStatPrint | ( | superlu_dist_options_t * | options, |
SuperLUStat_t * | stat, | ||
gridinfo_t * | grid | ||
) |
void pxgstrs_finalize | ( | pxgstrs_comm_t * | gstrs_comm | ) |
int_t reduceStat | ( | PhaseType | PHASE, |
SuperLUStat_t * | stat, | ||
gridinfo3d_t * | grid3d | ||
) |
reduce the states from all the two grids before prinitng it out See the defenition of enum PhaseType in superlu_enum_const.h
void set_default_options_dist | ( | superlu_dist_options_t * | options | ) |
Set the default values for the options argument.
int_t static_partition | ( | struct superlu_pair * | work_load, |
int_t | nwl, | ||
int_t * | partition, | ||
int_t | ldp, | ||
int_t * | sums, | ||
int_t * | counts, | ||
int | nprocs | ||
) |
|
static |