SuperLU Distributed 9.0.0
gpu3d
|
Auxiliary routines to support 3D algorithms. More...
#include "superlu_ddefs.h"
Functions | |
int_t | getslu25D_enabled () |
int | getNsupers (int n, Glu_persist_t *Glu_persist) |
int | set_tag_ub () |
int | getNumThreads (int iam) |
int_t | getBigUSize (superlu_dist_options_t *options, int_t nsupers, gridinfo_t *grid, int_t **Lrowind_bc_ptr) |
int_t * | getFactPerm (int_t nsupers) |
int_t * | getFactIperm (int_t *perm, int_t nsupers) |
int_t * | getPerm_c_supno (int_t nsupers, superlu_dist_options_t *options, int_t *etree, Glu_persist_t *Glu_persist, int_t **Lrowind_bc_ptr, int_t **Ufstnz_br_ptr, gridinfo_t *grid) |
int_t * | getPerm_c_supno_allgrid (int_t nsupers, superlu_dist_options_t *options, int_t *etree, Glu_persist_t *Glu_persist, int_t **Lrowind_bc_ptr, int_t **Ufstnz_br_ptr, gridinfo3d_t *grid3d) |
int_t | Trs2_InitUblock_info (int_t klst, int_t nb, Ublock_info_t *Ublock_info, int_t *usub, Glu_persist_t *Glu_persist, SuperLUStat_t *stat) |
void | getSCUweight (int_t nsupers, treeList_t *treeList, int_t *xsup, int_t **Lrowind_bc_ptr, int_t **Ufstnz_br_ptr, gridinfo3d_t *grid3d) |
void | getSCUweight_allgrid (int_t nsupers, treeList_t *treeList, int_t *xsup, int_t **Lrowind_bc_ptr, int_t **Ufstnz_br_ptr, gridinfo3d_t *grid3d) |
void | applyRowPerm (int_t *colptr, int_t *rowind, int_t *perm_r, int_t n) |
void | permCol_SymbolicFact3d (superlu_dist_options_t *options, int n, SuperMatrix *GA, int_t *perm_c, int_t *etree, Glu_persist_t *Glu_persist, Glu_freeable_t *Glu_freeable, SuperLUStat_t *stat, superlu_dist_mem_usage_t *symb_mem_usage, gridinfo3d_t *grid3d) |
This function performs the symbolic factorization on matrix Pc*Pr*A*Pc' and sets up the nonzero data structures for L & U matrices. In the process, the matrix is also ordered and its memory usage information is fetched. More... | |
void | allocBcastArray (void **array, int_t size, int root, MPI_Comm comm) |
Allocates and broadcasts an array in a MPI environment. More... | |
void | allocBcastLargeArray (void **array, int64_t size, int root, MPI_Comm comm) |
sForest_t ** | compute_sForests (int_t nsupers, Glu_persist_t *Glu_persist, int_t *etree, gridinfo3d_t *grid3d) |
gEtreeInfo_t | fillEtreeInfo (int_t nsupers, int_t *setree, treeList_t *treeList) |
int_t * | create_iperm_c_supno (int_t nsupers, superlu_dist_options_t *options, Glu_persist_t *Glu_persist, int_t *etree, int_t **Lrowind_bc_ptr, int_t **Ufstnz_br_ptr, gridinfo3d_t *grid3d) |
int_t * | createSupernode2TreeMap (int_t nsupers, int_t maxLvl, int_t *gNodeCount, int_t **gNodeLists) |
SupernodeToGridMap_t * | createSuperGridMap (int_t nsuper, int_t maxLvl, int_t *myTreeIdxs, int_t *myZeroTrIdxs, int_t *gNodeCount, int_t **gNodeLists) |
Auxiliary routines to support 3D algorithms.
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 9.0) -- Lawrence Berkeley National Lab, Oak Ridge National Lab May 12, 2021
void allocBcastArray | ( | void ** | array, |
int_t | size, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
Allocates and broadcasts an array in a MPI environment.
This function sends the size from the root process to all other processes in the communicator. If the process is not the root, it receives the size from the root and allocates the array. Then, the function broadcasts the array from the root process to all other processes in the communicator.
array | Pointer to the array to be allocated and broadcasted. |
size | The size of the array. |
comm | The MPI communicator. |
root | The root process. |
void allocBcastLargeArray | ( | void ** | array, |
int64_t | size, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
Performs a row permutation operation on a sparse matrix (CSC format) using a user-provided permutation array.
colptr | The column pointer array of the sparse matrix (CSC format). |
rowind | The row index array of the sparse matrix (CSC format). |
perm_r | The user-provided permutation array for the rows. |
n | The number of columns in the sparse matrix. |
sForest_t ** compute_sForests | ( | int_t | nsupers, |
Glu_persist_t * | Glu_persist, | ||
int_t * | etree, | ||
gridinfo3d_t * | grid3d | ||
) |
int_t * create_iperm_c_supno | ( | int_t | nsupers, |
superlu_dist_options_t * | options, | ||
Glu_persist_t * | Glu_persist, | ||
int_t * | etree, | ||
int_t ** | Lrowind_bc_ptr, | ||
int_t ** | Ufstnz_br_ptr, | ||
gridinfo3d_t * | grid3d | ||
) |
SupernodeToGridMap_t * createSuperGridMap | ( | int_t | nsuper, |
int_t | maxLvl, | ||
int_t * | myTreeIdxs, | ||
int_t * | myZeroTrIdxs, | ||
int_t * | gNodeCount, | ||
int_t ** | gNodeLists | ||
) |
int_t * createSupernode2TreeMap | ( | int_t | nsupers, |
int_t | maxLvl, | ||
int_t * | gNodeCount, | ||
int_t ** | gNodeLists | ||
) |
gEtreeInfo_t fillEtreeInfo | ( | int_t | nsupers, |
int_t * | setree, | ||
treeList_t * | treeList | ||
) |
int_t getBigUSize | ( | superlu_dist_options_t * | options, |
int_t | nsupers, | ||
gridinfo_t * | grid, | ||
int_t ** | Lrowind_bc_ptr | ||
) |
int getNsupers | ( | int | n, |
Glu_persist_t * | Glu_persist | ||
) |
int getNumThreads | ( | int | iam | ) |
int_t * getPerm_c_supno | ( | int_t | nsupers, |
superlu_dist_options_t * | options, | ||
int_t * | etree, | ||
Glu_persist_t * | Glu_persist, | ||
int_t ** | Lrowind_bc_ptr, | ||
int_t ** | Ufstnz_br_ptr, | ||
gridinfo_t * | grid | ||
) |
int_t * getPerm_c_supno_allgrid | ( | int_t | nsupers, |
superlu_dist_options_t * | options, | ||
int_t * | etree, | ||
Glu_persist_t * | Glu_persist, | ||
int_t ** | Lrowind_bc_ptr, | ||
int_t ** | Ufstnz_br_ptr, | ||
gridinfo3d_t * | grid3d | ||
) |
void getSCUweight | ( | int_t | nsupers, |
treeList_t * | treeList, | ||
int_t * | xsup, | ||
int_t ** | Lrowind_bc_ptr, | ||
int_t ** | Ufstnz_br_ptr, | ||
gridinfo3d_t * | grid3d | ||
) |
void getSCUweight_allgrid | ( | int_t | nsupers, |
treeList_t * | treeList, | ||
int_t * | xsup, | ||
int_t ** | Lrowind_bc_ptr, | ||
int_t ** | Ufstnz_br_ptr, | ||
gridinfo3d_t * | grid3d | ||
) |
int_t getslu25D_enabled | ( | ) |
void permCol_SymbolicFact3d | ( | superlu_dist_options_t * | options, |
int | n, | ||
SuperMatrix * | GA, | ||
int_t * | perm_c, | ||
int_t * | etree, | ||
Glu_persist_t * | Glu_persist, | ||
Glu_freeable_t * | Glu_freeable, | ||
SuperLUStat_t * | stat, | ||
superlu_dist_mem_usage_t * | symb_mem_usage, | ||
gridinfo3d_t * | grid3d | ||
) |
This function performs the symbolic factorization on matrix Pc*Pr*A*Pc' and sets up the nonzero data structures for L & U matrices. In the process, the matrix is also ordered and its memory usage information is fetched.
options | The options for the SuperLU distribution. |
n | Dimension of the global matrix A. |
GA | A pointer to the global matrix A. |
perm_c | The column permutation vector. |
etree | The elimination tree of Pc*Pr*A*Pc'. |
Glu_persist | Pointer to the structure which tracks the symbolic factorization information. |
Glu_freeable | Pointer to the structure which tracks the space used to store L/U data structures. |
stat | Information on program execution. |
grid3d | The 3D process grid. |
int set_tag_ub | ( | void | ) |
int_t Trs2_InitUblock_info | ( | int_t | klst, |
int_t | nb, | ||
Ublock_info_t * | Ublock_info, | ||
int_t * | usub, | ||
Glu_persist_t * | Glu_persist, | ||
SuperLUStat_t * | stat | ||
) |