Problem with consecutive calls of PARDISO

Problem with consecutive calls of PARDISO


I have difficulties regarding the stability of the PARDISO solver in our FE code. All the problems are related to consecutive calls of PARDISO solver.
Because of the contact the structure of the matrix changes during analysis and therefore I have to clear PARDISO memory (phase=-1) and start it again with the new matrix.
The code crashes are always inside PARDISO routine during phase=-1.
The calling sequence is exactly the same as in pardiso_unsym.c example supplied with the MKL library.

I have to emphasise that the solver runs OK when the matrix structure is constant and the phase=-1 is not executed. We have successfully implemented UMFPACK and SUPERLU which both uses the same matrix format and basically instead of calling UMFPACK we call PARDISO. The code was used with UMFPACK and SUPERLU for more than a year without any problems and we haven't observed any memory related problems so far.

Has anybody else observed similar problems ?

Any help would be greatly appreciated.
Best regards,
Tomaz Sustar

Platform WinXP, Microsoft Visual C++* NET 2002,mkl version: w_mkl_p_7.2.006

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


thanks to Olaf Schenk we have fixed our problem.

There is on the page 8-5 of the manual note that one should never modify the pt pointer after first call of PARDISO.
The problem we had was related to this since the structure of the matrix changed we thought that the solver should be re-initialised and we also re-set the pt pointer to zero.

Bottom line : don't touch pt once the solver is up.

Maybe it should be included in the manual explanation how to use PARDISO when it is called consecutively.

Thanks again Olaf for your help !!!

Best regards,
Tomaz Sustar

Leave a Comment

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