|
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. |

