Since upgrading to Intel Parallel Studio XE 2016 (Fortran) containing MKL 11.3, the Pardiso function has become unstable. We can run our application multiple times with exactly the same data and parameters being passed to Pardiso each time and have found that sometimes it crashes inside Pardiso, sometimes it returns an error -4 and sometimes it succeeds but returns incorrect results. The problem occurs with MKL 11.3.0, 11.3.1 and 11.3.2.
We are calling it in a 64-bit environment with mtype -2 (real and symmetric indefinite matrix) and phase 13 (analyse, factorize and solve). It also misbehaves with phase 12.
We have also found that if we keep our application (generated from Intel Parallel Studio XE 2016) but just replace the MKL 11.3 redist runtime DLLs with the MKL 11.2 redist runtime DLLs then it all works Ok. This seems to suggest that it might be a bug introduced into MKL 11.3.
Has anybody else experienced this issue?
Is it Ok to mix an application compiled for MLL 11.3 with MKL 11.2 runtime DLLs?
Yes, I am using mtype = -2, but I don't understand how you could expect crashes and errors with mtype = 2 (or any mtype)?
The bottom line is that it all worked beautifully in MKL 11.2 and earlier, but doesn't work in MKL 11.3.
The module that calls Pardiso is part of a quite large project and so it will be difficult for me to send you something small that you can reproduce the problem with.
It looks like Thomas W also has the same problem (see his post "PARDISO crashing 'sometimes' on identical imput (reproducible)") and he has provided sample code. Would it be possible to use his code to see if you can replicate it? Note that we have tried it on various computers here and it only seems to happen on i7 laptops so far. i7 desktops seem don't seem to have the issue.
The issue occurs on an ASUS R550C laptop running Windows 10-Pro 64 with an Intel Core i7-3537U CPU @ 2.00GHz and 8Gb of RAM.
It also occurs on other laptops which I'll get the details of and let you know.