Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

A quick question on using PARDISO as iterative solver

chen146
Beginner
272 Views

Hello,

I am trying to follow the example described in this thread to use PARDISO as an iterative solver,

http://software.intel.com/en-us/forums/topic/326721

For now my code works fine if I put iparm(4)=0 and phase=13 for all matrices, but when I modify the code to use the template above, error message appears sometimes (error=-1 in the numerical factorization phase), so I think I must did something wrong. To clarify it, is it correct for me to do the following for A_i x_i = b_i, where the right-hand-side b_i is determined by x_i through some other subroutines (it is a self-consistent calculation),

----------------------------

pt=0
call PARDISO (phase=13, iparm(4)=0, A_1, pt, maxfct, mnum=1, x_1, b_1)

do while ( error > tolerance )

 do i = 1, maxfct
  call PARDISO (phase=23, iparm(4)=61, A_i, pt, maxfct, mnum=i, x_i, b_i)
 end do

 call subroutine to calculate new b_i from the x_i, and calculate the error

end do


 call PARDISO (phase=-1, iparm(4)=61, A_1, pt, maxfct, mnum=1, x_1, b_1)

----------------------------

Just for reference, the other iparm parameters I am using are (these should be the same as the example file pardiso_unsym_complex_f.f ):

  iparm(1) = 1
  iparm(2) = 2
  iparm(3) = 1
  iparm(8) = 2
  iparm(10) = 13
  iparm(11) = 1
  iparm(13) = 1
  iparm(18) = -1
  iparm(19) = -1

, and others are set to be zero. The matrix type is mtype=3 (complex strucuturely-symmetric)

By the way, I can not see any example code for using Pardiso as iterative solver in the MKL package. The examples codes I found are using Pardiso as direct solver. Did I missout something or there is no example code for this kind of applications? Thank you and I appreciate it.

Best regards,

CC

0 Kudos
4 Replies
Gennady_F_Intel
Moderator
272 Views

yes, that's right. there is no such example. do you believe to add such example will make a sence?

0 Kudos
chen146
Beginner
272 Views

Thanks for your reply. Yes, I have seen several questions on the forum for the similar question, so I think it will be great to have a example code to help us to learn about this. There is one exmaple in the PARDISO manual (the original PARDISO, not the MKL PARDISO), but still I will be happy to see a example provided by INTEL, since PARDISO is not totally the same as MKL PARDISO.

0 Kudos
Gennady_F_Intel
Moderator
272 Views

OK. The request is escalated. i will let you know when the example would be added into one of the future updates/releases.

0 Kudos
Gennady_F_Intel
Moderator
272 Views

OK. The request is escalated. i will let you know when the example would be added into one of the future updates/releases.

0 Kudos
Reply