SuperLU Distributed 9.0.0
gpu3d
|
Macros | |
#define | LOG_FUNC_ENTER() printf("\033[1;32mEntering function %s at %s:%d\033[0m\n", __func__, __FILE__, __LINE__) |
Functions | |
void | validateInput_pzgssvx3d (superlu_dist_options_t *options, SuperMatrix *A, int ldb, int nrhs, gridinfo3d_t *grid3d, int *info) |
Validates the input parameters for a given problem. More... | |
void | zscaleRows (int_t m_loc, int_t fst_row, int_t *rowptr, doublecomplex *a, double *R) |
void | zscaleColumns (int_t m_loc, int_t *rowptr, int_t *colind, doublecomplex *a, double *C) |
void | zscaleBoth (int_t m_loc, int_t fst_row, int_t *rowptr, int_t *colind, doublecomplex *a, double *R, double *C) |
void | zscalePrecomputed (SuperMatrix *A, zScalePermstruct_t *ScalePermstruct) |
void | zscaleFromScratch (SuperMatrix *A, zScalePermstruct_t *ScalePermstruct, gridinfo_t *grid, int *rowequ, int *colequ, int *iinfo) |
void | zscaleMatrixDiagonally (fact_t Fact, zScalePermstruct_t *ScalePermstruct, SuperMatrix *A, SuperLUStat_t *stat, gridinfo_t *grid, int *rowequ, int *colequ, int *iinfo) |
void | zfindRowPerm_MC64 (gridinfo_t *grid, int_t job, int_t m, int_t n, int_t nnz, int_t *colptr, int_t *rowind, doublecomplex *a_GA, int_t Equil, int_t *perm_r, double *R1, double *C1, int *iinfo) |
void | zscale_distributed_matrix (int rowequ, int colequ, int_t m, int_t n, int_t m_loc, int_t *rowptr, int_t *colind, int_t fst_row, doublecomplex *a, double *R, double *C, double *R1, double *C1) |
void | zpermute_global_A (int_t m, int_t n, int_t *colptr, int_t *rowind, int_t *perm_r) |
void | zperform_LargeDiag_MC64 (superlu_dist_options_t *options, fact_t Fact, zScalePermstruct_t *ScalePermstruct, zLUstruct_t *LUstruct, int_t m, int_t n, gridinfo_t *grid, SuperMatrix *A, SuperMatrix *GA, SuperLUStat_t *stat, int_t job, int Equil, int *rowequ, int *colequ, int *iinfo) |
Performs a set of operations on distributed matrices including finding row permutations, scaling, and permutation of global A. The operations depend on job and iinfo parameters. More... | |
void | zperform_row_permutation (superlu_dist_options_t *options, fact_t Fact, zScalePermstruct_t *ScalePermstruct, zLUstruct_t *LUstruct, int_t m, int_t n, gridinfo_t *grid, SuperMatrix *A, SuperMatrix *GA, SuperLUStat_t *stat, int job, int Equil, int *rowequ, int *colequ, int *iinfo) |
#define LOG_FUNC_ENTER | ( | ) | printf("\033[1;32mEntering function %s at %s:%d\033[0m\n", __func__, __FILE__, __LINE__) |
void validateInput_pzgssvx3d | ( | superlu_dist_options_t * | options, |
SuperMatrix * | A, | ||
int | ldb, | ||
int | nrhs, | ||
gridinfo3d_t * | grid3d, | ||
int * | info | ||
) |
Validates the input parameters for a given problem.
This function checks the input parameters for a given problem and sets the error code in the 'info' variable accordingly. If there is an error, it prints an error message and returns.
[in] | options | Pointer to the options structure containing Fact, RowPerm, ColPerm, and IterRefine values. |
[in] | A | Pointer to the matrix A structure containing nrow, ncol, Stype, Dtype, and Mtype values. |
[in] | ldb | The leading dimension of the array B. |
[in] | nrhs | The number of right-hand sides. |
[in] | grid | Pointer to the grid structure. |
[out] | info | Pointer to an integer variable that stores the error code. |
void zfindRowPerm_MC64 | ( | gridinfo_t * | grid, |
int_t | job, | ||
int_t | m, | ||
int_t | n, | ||
int_t | nnz, | ||
int_t * | colptr, | ||
int_t * | rowind, | ||
doublecomplex * | a_GA, | ||
int_t | Equil, | ||
int_t * | perm_r, | ||
double * | R1, | ||
double * | C1, | ||
int * | iinfo | ||
) |
Finds row permutations using the MC64 algorithm in a distributed manner.
grid | The grid info object, which includes the current node's information and MPI communicator. |
job | The type of job to be done. |
m | The number of rows in the sparse matrix. |
n | The number of columns in the sparse matrix. |
nnz | The number of non-zero elements in the sparse matrix. |
colptr | The column pointer array of the sparse matrix (CSC format). |
rowind | The row index array of the sparse matrix (CSC format). |
a_GA | The non-zero values of the sparse matrix. |
Equil | The equilibration flag. |
perm_r | The output permutation array for the rows. |
R1 | The output row scaling factors. |
C1 | The output column scaling factors. |
iinfo | The output status code. |
void zperform_LargeDiag_MC64 | ( | superlu_dist_options_t * | options, |
fact_t | Fact, | ||
zScalePermstruct_t * | ScalePermstruct, | ||
zLUstruct_t * | LUstruct, | ||
int_t | m, | ||
int_t | n, | ||
gridinfo_t * | grid, | ||
SuperMatrix * | A, | ||
SuperMatrix * | GA, | ||
SuperLUStat_t * | stat, | ||
int_t | job, | ||
int | Equil, | ||
int * | rowequ, | ||
int * | colequ, | ||
int * | iinfo | ||
) |
Performs a set of operations on distributed matrices including finding row permutations, scaling, and permutation of global A. The operations depend on job and iinfo parameters.
[in] | options | SuperLU options. |
[in] | Fact | Factored form of the matrix. |
[in,out] | ScalePermstruct | Scaling and Permutation structure. |
[in,out] | LUstruct | LU decomposition structure. |
[in] | m | Number of rows in the matrix. |
[in] | n | Number of columns in the matrix. |
[in] | grid | Grid information for distributed computation. |
[in,out] | A | SuperMatrix A to be operated upon. |
[in,out] | GA | SuperMatrix GA to be operated upon. |
[out] | stat | SuperLU statistics object to record factorization statistics. |
[in] | job | The type of job to be done. |
[in] | Equil | The equilibration flag. |
[in] | rowequ | Flag indicating whether rows of the matrix should be equalized. |
[in] | colequ | Flag indicating whether columns of the matrix should be equalized. |
[out] | iinfo | The output status code. |
void zperform_row_permutation | ( | superlu_dist_options_t * | options, |
fact_t | Fact, | ||
zScalePermstruct_t * | ScalePermstruct, | ||
zLUstruct_t * | LUstruct, | ||
int_t | m, | ||
int_t | n, | ||
gridinfo_t * | grid, | ||
SuperMatrix * | A, | ||
SuperMatrix * | GA, | ||
SuperLUStat_t * | stat, | ||
int | job, | ||
int | Equil, | ||
int * | rowequ, | ||
int * | colequ, | ||
int * | iinfo | ||
) |
Performs a permutation operation on the rows of a sparse matrix (CSC format).
m | The number of rows in the sparse matrix. |
n | The number of columns in the sparse matrix. |
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 permutation array for the rows. |
void zscale_distributed_matrix | ( | int | rowequ, |
int | colequ, | ||
int_t | m, | ||
int_t | n, | ||
int_t | m_loc, | ||
int_t * | rowptr, | ||
int_t * | colind, | ||
int_t | fst_row, | ||
doublecomplex * | a, | ||
double * | R, | ||
double * | C, | ||
double * | R1, | ||
double * | C1 | ||
) |
This function scales a distributed matrix.
[in] | rowequ | A flag indicating whether row should be equalized. |
[in] | colequ | A flag indicating whether column should be equalized. |
[in] | m | Number of rows in the matrix. |
[in] | n | Number of columns in the matrix. |
[in] | m_loc | The local row dimension. |
[in] | rowptr | Pointer to the array holding row pointers. |
[in] | colind | Pointer to the array holding column indices. |
[in] | fst_row | The first row of the local block. |
[in,out] | a | Pointer to the array holding the values of the matrix. |
[in,out] | R | Pointer to the row scaling factors. |
[in,out] | C | Pointer to the column scaling factors. |
[in,out] | R1 | Pointer to the array holding the new row scaling factors. |
[in,out] | C1 | Pointer to the array holding the new column scaling factors. |
void zscaleBoth | ( | int_t | m_loc, |
int_t | fst_row, | ||
int_t * | rowptr, | ||
int_t * | colind, | ||
doublecomplex * | a, | ||
double * | R, | ||
double * | C | ||
) |
void zscaleColumns | ( | int_t | m_loc, |
int_t * | rowptr, | ||
int_t * | colind, | ||
doublecomplex * | a, | ||
double * | C | ||
) |
void zscaleFromScratch | ( | SuperMatrix * | A, |
zScalePermstruct_t * | ScalePermstruct, | ||
gridinfo_t * | grid, | ||
int * | rowequ, | ||
int * | colequ, | ||
int * | iinfo | ||
) |
void zscaleMatrixDiagonally | ( | fact_t | Fact, |
zScalePermstruct_t * | ScalePermstruct, | ||
SuperMatrix * | A, | ||
SuperLUStat_t * | stat, | ||
gridinfo_t * | grid, | ||
int * | rowequ, | ||
int * | colequ, | ||
int * | iinfo | ||
) |
void zscalePrecomputed | ( | SuperMatrix * | A, |
zScalePermstruct_t * | ScalePermstruct | ||
) |
void zscaleRows | ( | int_t | m_loc, |
int_t | fst_row, | ||
int_t * | rowptr, | ||
doublecomplex * | a, | ||
double * | R | ||
) |