Skip to main content
`Ctrl`+`K`

# MATSOLVERMKL_CPARDISO

A matrix type providing direct solvers (LU) for parallel matrices via the external package MKL Cluster PARDISO https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-2/onemkl-pardiso-parallel-direct-sparse-solver-iface.html Works with `MATMPIAIJ` matrices

Use `-pc_type lu` `-pc_factor_mat_solver_type mkl_cpardiso` to use this direct solver

## Options Database Keys

- -mat_mkl_cpardiso_65 - Suggested number of threads to use within MKL Cluster PARDISO

- -mat_mkl_cpardiso_66 - Maximum number of factors with identical sparsity structure that must be kept in memory at the same time

- -mat_mkl_cpardiso_67 - Indicates the actual matrix for the solution phase

- -mat_mkl_cpardiso_68 - Message level information, use 1 to get detailed information on the solver options

- -mat_mkl_cpardiso_69 - Defines the matrix type. IMPORTANT: When you set this flag, iparm parameters are going to be set to the default ones for the matrix type

- -mat_mkl_cpardiso_1 - Use default values

- -mat_mkl_cpardiso_2 - Fill-in reducing ordering for the input matrix

- -mat_mkl_cpardiso_4 - Preconditioned CGS/CG

- -mat_mkl_cpardiso_5 - User permutation

- -mat_mkl_cpardiso_6 - Write solution on x

- -mat_mkl_cpardiso_8 - Iterative refinement step

- -mat_mkl_cpardiso_10 - Pivoting perturbation

- -mat_mkl_cpardiso_11 - Scaling vectors

- -mat_mkl_cpardiso_12 - Solve with transposed or conjugate transposed matrix A

- -mat_mkl_cpardiso_13 - Improved accuracy using (non-) symmetric weighted matching

- -mat_mkl_cpardiso_18 - Numbers of non-zero elements

- -mat_mkl_cpardiso_19 - Report number of floating point operations

- -mat_mkl_cpardiso_21 - Pivoting for symmetric indefinite matrices

- -mat_mkl_cpardiso_24 - Parallel factorization control

- -mat_mkl_cpardiso_25 - Parallel forward/backward solve control

- -mat_mkl_cpardiso_27 - Matrix checker

- -mat_mkl_cpardiso_31 - Partial solve and computing selected components of the solution vectors

- -mat_mkl_cpardiso_34 - Optimal number of threads for conditional numerical reproducibility (CNR) mode

- -mat_mkl_cpardiso_60 - Intel MKL Cluster PARDISO mode

## Notes

Use `-mat_mkl_cpardiso_68 1` to display the number of threads the solver is using. MKL does not provide a way to directly access this information.

For more information on the options check https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-2/onemkl-pardiso-parallel-direct-sparse-solver-iface.html

## See Also

Matrices, `Mat`, `PCFactorSetMatSolverType()`, `MatSolverType`, `MatMkl_CPardisoSetCntl()`, `MatGetFactor()`, `MATSOLVERMKL_PARDISO`

## Level

beginner

## Location

src/mat/impls/aij/mpi/mkl_cpardiso/mkl_cpardiso.c

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages