I'm trying to solve a huge sparse linear system using the PARDISO. I intend to use a subroutine named psolver to include all information and solution processes required when using PARDISO. First, I included the "mkl_pardiso.f90" file and also USEd "mkl_pardiso" in the main program. All quantities for the PARDISO is defined within the subroutine and copied exact from the MKL example only with the matrix input from my own data. The MKL parallel library is also specified in the project property. Strange things happed when I try to compile the code. It prompted me that
"Error 1 error #6285: There is no matching specific subroutine for this generic subroutine call. [PARDISO]"
I also tried to run the example which come with the mkl library, and everything works pretty good. I even changed the example to make the PARDISO as a subroutine and modified the data type, such as from real(kind=dp) to double precision. And the example still works. So, can anybody tell me what's care should I take when using PARSIDO? Why PARDISO is not working in my own code?
Another question is can I use PARDISO to solve huge ill-conditioned highly sparse system? What I mean huge is the dense matrix form will be over several hundreds thousand dofs, ill-conditioned is the condition number is very large, >10^16. If possible, what solution technique or what parameters I should set for PARDISO? Any suggestions and comments will be much appreciated.