A quick question on using PARDISO as iterative solver

A quick question on using PARDISO as iterative solver

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

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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

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.

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

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

Leave a Comment

Please sign in to add a comment. Not a member? Join today