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_psgssvx3d (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 | sscaleRows (int_t m_loc, int_t fst_row, int_t *rowptr, float *a, float *R) |
void | sscaleColumns (int_t m_loc, int_t *rowptr, int_t *colind, float *a, float *C) |
void | sscaleBoth (int_t m_loc, int_t fst_row, int_t *rowptr, int_t *colind, float *a, float *R, float *C) |
void | sscalePrecomputed (SuperMatrix *A, sScalePermstruct_t *ScalePermstruct) |
void | sscaleFromScratch (SuperMatrix *A, sScalePermstruct_t *ScalePermstruct, gridinfo_t *grid, int *rowequ, int *colequ, int *iinfo) |
void | sscaleMatrixDiagonally (fact_t Fact, sScalePermstruct_t *ScalePermstruct, SuperMatrix *A, SuperLUStat_t *stat, gridinfo_t *grid, int *rowequ, int *colequ, int *iinfo) |
void | sfindRowPerm_MC64 (gridinfo_t *grid, int_t job, int_t m, int_t n, int_t nnz, int_t *colptr, int_t *rowind, float *a_GA, int_t Equil, int_t *perm_r, float *R1, float *C1, int *iinfo) |
void | sscale_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, float *a, float *R, float *C, float *R1, float *C1) |
void | spermute_global_A (int_t m, int_t n, int_t *colptr, int_t *rowind, int_t *perm_r) |
void | sperform_LargeDiag_MC64 (superlu_dist_options_t *options, fact_t Fact, sScalePermstruct_t *ScalePermstruct, sLUstruct_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 | sperform_row_permutation (superlu_dist_options_t *options, fact_t Fact, sScalePermstruct_t *ScalePermstruct, sLUstruct_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) |
float | scomputeA_Norm (int notran, SuperMatrix *A, gridinfo_t *grid) |
This function computes the norm of a matrix A. More... | |
void | sallocScalePermstruct_RC (sScalePermstruct_t *ScalePermstruct, int_t m, int_t n) |
#define LOG_FUNC_ENTER | ( | ) | printf("\033[1;32mEntering function %s at %s:%d\033[0m\n", __func__, __FILE__, __LINE__) |
void sallocScalePermstruct_RC | ( | sScalePermstruct_t * | ScalePermstruct, |
int_t | m, | ||
int_t | n | ||
) |
float scomputeA_Norm | ( | int | notran, |
SuperMatrix * | A, | ||
gridinfo_t * | grid | ||
) |
This function computes the norm of a matrix A.
notran | A flag which determines the norm type to be calculated. |
A | The input matrix for which the norm is computed. |
grid | The gridinfo_t object that contains the information of the grid. |
the iam process is the root (iam=0), it prints the computed norm to the standard output.
void sfindRowPerm_MC64 | ( | gridinfo_t * | grid, |
int_t | job, | ||
int_t | m, | ||
int_t | n, | ||
int_t | nnz, | ||
int_t * | colptr, | ||
int_t * | rowind, | ||
float * | a_GA, | ||
int_t | Equil, | ||
int_t * | perm_r, | ||
float * | R1, | ||
float * | 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 sperform_LargeDiag_MC64 | ( | superlu_dist_options_t * | options, |
fact_t | Fact, | ||
sScalePermstruct_t * | ScalePermstruct, | ||
sLUstruct_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 sperform_row_permutation | ( | superlu_dist_options_t * | options, |
fact_t | Fact, | ||
sScalePermstruct_t * | ScalePermstruct, | ||
sLUstruct_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 sscale_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, | ||
float * | a, | ||
float * | R, | ||
float * | C, | ||
float * | R1, | ||
float * | 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 sscaleBoth | ( | int_t | m_loc, |
int_t | fst_row, | ||
int_t * | rowptr, | ||
int_t * | colind, | ||
float * | a, | ||
float * | R, | ||
float * | C | ||
) |
void sscaleFromScratch | ( | SuperMatrix * | A, |
sScalePermstruct_t * | ScalePermstruct, | ||
gridinfo_t * | grid, | ||
int * | rowequ, | ||
int * | colequ, | ||
int * | iinfo | ||
) |
void sscaleMatrixDiagonally | ( | fact_t | Fact, |
sScalePermstruct_t * | ScalePermstruct, | ||
SuperMatrix * | A, | ||
SuperLUStat_t * | stat, | ||
gridinfo_t * | grid, | ||
int * | rowequ, | ||
int * | colequ, | ||
int * | iinfo | ||
) |
void sscalePrecomputed | ( | SuperMatrix * | A, |
sScalePermstruct_t * | ScalePermstruct | ||
) |
void validateInput_psgssvx3d | ( | 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. |