Skip to main content
`Ctrl`+`K`

# Refactorization helper functions

These helper functions control aspects of the hipSOLVER library. They are divided into the following categories:

- Handle setup and teardown: Functions to initialize and cleanup the library handle.

- Input manipulation: Functions to manipulate function input.

- Output manipulation: Functions to access function output.

- Parameter manipulation: Functions to manipulate parameters.

## Handle setup and teardown

### hipsolverRfCreate()

hipsolverStatus_t hipsolverRfCreate(hipsolverRfHandle_t *handle)

### hipsolverRfDestroy()

hipsolverStatus_t hipsolverRfDestroy(hipsolverRfHandle_t handle)

## Input manipulation

### hipsolverRfSetupDevice()

hipsolverStatus_t hipsolverRfSetupDevice(int n, int nnzA, int *csrRowPtrA, int *csrColIndA, double *csrValA, int nnzL, int *csrRowPtrL, int *csrColIndL, double *csrValL, int nnzU, int *csrRowPtrU, int *csrColIndU, double *csrValU, int *P, int *Q, hipsolverRfHandle_t handle)

### hipsolverRfSetupHost()

hipsolverStatus_t hipsolverRfSetupHost(int n, int nnzA, int *h_csrRowPtrA, int *h_csrColIndA, double *h_csrValA, int nnzL, int *h_csrRowPtrL, int *h_csrColIndL, double *h_csrValL, int nnzU, int *h_csrRowPtrU, int *h_csrColIndU, double *h_csrValU, int *h_P, int *h_Q, hipsolverRfHandle_t handle)

### hipsolverRfBatchSetupHost()

hipsolverStatus_t hipsolverRfBatchSetupHost(int batchSize, int n, int nnzA, int *h_csrRowPtrA, int *h_csrColIndA, double *h_csrValA_array[], int nnzL, int *h_csrRowPtrL, int *h_csrColIndL, double *h_csrValL, int nnzU, int *h_csrRowPtrU, int *h_csrColIndU, double *h_csrValU, int *h_P, int *h_Q, hipsolverRfHandle_t handle)

### hipsolverRfAnalyze()

hipsolverStatus_t hipsolverRfAnalyze(hipsolverRfHandle_t handle)

### hipsolverRfBatchAnalyze()

hipsolverStatus_t hipsolverRfBatchAnalyze(hipsolverRfHandle_t handle)

### hipsolverRfResetValues()

hipsolverStatus_t hipsolverRfResetValues(int n, int nnzA, int *csrRowPtrA, int *csrColIndA, double *csrValA, int *P, int *Q, hipsolverRfHandle_t handle)

### hipsolverRfBatchResetValues()

hipsolverStatus_t hipsolverRfBatchResetValues(int batchSize, int n, int nnzA, int *csrRowPtrA, int *csrColIndA, double *csrValA_array[], int *P, int *Q, hipsolverRfHandle_t handle)

## Output manipulation

### hipsolverRfAccessBundledFactorsDevice()

hipsolverStatus_t hipsolverRfAccessBundledFactorsDevice(hipsolverRfHandle_t handle, int *nnzM, int **Mp, int **Mi, double **Mx)

### hipsolverRfExtractBundledFactorsHost()

hipsolverStatus_t hipsolverRfExtractBundledFactorsHost(hipsolverRfHandle_t handle, int *h_nnzM, int **h_Mp, int **h_Mi, double **h_Mx)

### hipsolverRfExtractSplitFactorsHost()

hipsolverStatus_t hipsolverRfExtractSplitFactorsHost(hipsolverRfHandle_t handle, int *h_nnzL, int **h_Lp, int **h_Li, double **h_Lx, int *h_nnzU, int **h_Up, int **h_Ui, double **h_Ux)

### hipsolverRfBatchZeroPivot()

hipsolverStatus_t hipsolverRfBatchZeroPivot(hipsolverRfHandle_t handle, int *position)

## Parameter manipulation

### hipsolverRfGet_Algs()

hipsolverStatus_t hipsolverRfGet_Algs(hipsolverRfHandle_t handle, hipsolverRfFactorization_t *fact_alg, hipsolverRfTriangularSolve_t *solve_alg)

### hipsolverRfGetMatrixFormat()

hipsolverStatus_t hipsolverRfGetMatrixFormat(hipsolverRfHandle_t handle, hipsolverRfMatrixFormat_t *format, hipsolverRfUnitDiagonal_t *diag)

### hipsolverRfGetNumericBoostReport()

hipsolverStatus_t hipsolverRfGetNumericBoostReport(hipsolverRfHandle_t handle, hipsolverRfNumericBoostReport_t *report)

### hipsolverRfGetNumericProperties()

hipsolverStatus_t hipsolverRfGetNumericProperties(hipsolverRfHandle_t handle, double *zero, double *boost)

### hipsolverRfGetResetValuesFastMode()

hipsolverStatus_t hipsolverRfGetResetValuesFastMode(hipsolverRfHandle_t handle, hipsolverRfResetValuesFastMode_t *fastMode)

### hipsolverRfSetAlgs()

hipsolverStatus_t hipsolverRfSetAlgs(hipsolverRfHandle_t handle, hipsolverRfFactorization_t fact_alg, hipsolverRfTriangularSolve_t solve_alg)

### hipsolverRfSetMatrixFormat()

hipsolverStatus_t hipsolverRfSetMatrixFormat(hipsolverRfHandle_t handle, hipsolverRfMatrixFormat_t format, hipsolverRfUnitDiagonal_t diag)

### hipsolverRfSetNumericProperties()

hipsolverStatus_t hipsolverRfSetNumericProperties(hipsolverRfHandle_t handle, double effective_zero, double boost_val)

### hipsolverRfSetResetValuesFastMode()

hipsolverStatus_t hipsolverRfSetResetValuesFastMode(hipsolverRfHandle_t handle, hipsolverRfResetValuesFastMode_t fastMode)