Hi All,

Has anybody compared the efficiency of Pardiso with some other solvers using ILU preconditioner?

In my test, Pardiso takes much more time than the solver using ILU preconditioner. For example, the matrix is 405000*405000 with 18135900 non-zero entries, Pardiso takes 30 seconds to solver it while ILU preconditioner solver (e.g., PETSc) only takes about 0.6 seconds, both using 1 processor. I have tried serveral parameters, but the efficiency is still very bad. Pardiso is designed as a high efficiency solver but what I get is just so so. I wonder if anything is wrong is my codes, the parameters used is as follows:

iparm(2) = 3 ! fill-in reordering from METIS

iparm(3) = 0 ! numbers of processors

iparm(4) = 0 ! no iterative-direct algorithm

iparm(5) = 0 ! 0 no user fill-in reducing permutation

iparm(6) = 0 ! =0 solution on the first n compoments of x

iparm(7) = 0 ! not in use

iparm(8) = 9 ! numbers of iterative refinement steps, default 9

iparm(9) = 0 ! not in use

iparm(10) = 13 ! perturbe the pivot elements,default 13 with 1E-13

iparm(11) = 1 ! use nonsymmetric permutation and scaling MPS

iparm(12) = 0 ! not in use

iparm(13) = 1 ! maximum weighted matching algorithm is switched-on (default for non-symmetric)

iparm(14) = 0 ! Output: number of perturbed pivots

iparm(15) = 0 ! not in use

iparm(16) = 0 ! not in use

iparm(17) = 0 ! not in use

iparm(18) = -1 ! Output: number of nonzeros in the factor LU

iparm(19) = -1 ! Output: Mflops for LU factorization

iparm(20) = 0 ! Output: Numbers of CG Iterations

iparm(27) = 0 ! 1: check matrix error

...

phase = 11 ! only reordering and symbolic factorization

CALL pardiso (pt, maxfct, mnum, mtype, phase, n, a_std, ia, ja_std, idum, nrhs, iparm, msglvl, ddum, ddum, error)

phase = 22 ! only factorization

CALL pardiso (pt, maxfct, mnum, mtype, phase, n, a_std, ia, ja_std, idum, nrhs, iparm, msglvl, ddum, ddum, error)

phase = 33 ! only substitution

CALL pardiso (pt, maxfct, mnum, mtype, phase, n, a_std, ia, ja_std, idum, nrhs, iparm, msglvl, b, x, error)

Is it possible to improve this efficiency?

Thanks and regards,

Daniel