Community
cancel
Showing results for 
Search instead for 
Did you mean: 
142 Views

MKL PARDISO produces FPE

With the attached general matrix and rhs, PARDISO solution contains NaN.

Major version: 11
Minor version: 1
Update version: 1
Product status:  Product
Build: n20131010
Processor optimization: Intel(R) Advanced Vector Extensions (Intel(R) AVX) Enabled Processor

linux 64 bit

PARDISO_matrix.txt format:
n
index base (0 means 0 based)
nz
i j a (nonzeros)

PARDISO_rhs.txt and PARDISO_sol.txt format:
n
dense/sparse (1 for dense and 0 for sparse)
index base(0 means 0 based)
nz (for dense format, nz=0)
i,b (nonzeros)

 

0 Kudos
12 Replies
Gennady_F_Intel
Moderator
142 Views

Have you evaluated MKL 11.3? Such sort of problems has been fixed into this version.

142 Views

Same error using mkl 11.3.3.

142 Views

Hi,

Can you sent me your set of iparm and other pardiso parameters? With default parameters I have no Nans in result:

i   x   b

0 -4.959544e+12 1.000000e+00
1 6.805074e+14 -4.585740e-07
2 -4.959372e+12 2.000000e+00
3 6.805046e+14 -2.292070e-07
4 -4.959751e+12 3.000000e+00
5 6.805064e+14 -4.585740e-07
6 2.673112e+13 4.000000e+00
7 2.673106e+13 -2.292070e-07
8 -4.959035e+12 5.000000e+00
9 6.805016e+14 -4.585740e-07
10 2.673123e+13 6.000000e+00

Thanks,

Alex 

142 Views

MKL PARDISO is called multiple times. Enclosed are the iparm for each call and solution is bad at last call. I notice some of iparam values becomes big numbers after the symbolic which are suspicious.


iparm for phase = 11
1
2
1
0
0
0
0
0
0
13
1
0
1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
iparm for phase = 22
1
2
1
0
0
0
0
0
0
13
1
-1
1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
iparm for phase = 11
1
2
1
0
0
0
0
0
0
13
1
0
1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
iparm for phase = 22
1
2
1
0
0
0
0
0
0
13
1
-1
1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
iparm for phase = 11
1
2
1
0
0
0
0
0
0
13
1
0
1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
iparm for phase = 22
1
2
1
0
0
0
0
0
0
13
1
0
1
0
319964
220367
205251
51849976
12857
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
319964
144327
1568
103911000
iparm for phase = 11
1
2
1
0
0
0
0
0
0
13
1
0
1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
iparm for phase = 22
1
2
1
0
0
0
0
0
0
13
1
-1
1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
iparm for phase = 11
1
2
1
0
0
0
0
0
0
13
1
0
1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
iparm for phase = 22
1
2
1
0
0
0
0
0
0
13
1
0
1
0
44089
32155
30783
7666270
1146
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
44089
27467
1028
103911000

A floating point exception has occurred: floating point exception [Invalid operation].

142 Views

Hi,

Are you call pardiso in loop with same matrix? I just try to implement reproducer of your issue. And if yes do you call pardiso with ido=-1 to free the memory?

Thanks,

Alex

142 Views

PARDISO is called multiple time, each time with different matrix. Enclosed are my output message. cleanUpPARDISO calls PARDISO with phase = -1.


Arithmetic type=float; matrix type=general; N=2727; NZ(A)=2727.
MKLPARDISO::init starts Tue Aug 16 09:53:29 2016
MKLPARDISO::init ends Tue Aug 16 09:53:29 2016
MKLPARDISO::symbolicFact starts Tue Aug 16 09:53:29 2016
MKLPARDISO::symbolicFact ends Tue Aug 16 09:53:29 2016
Arithmetic type=float; matrix type=general; N=2727; NZ(A)=2727.
Memory Estimate(MB)
--------------------------------------------------------------------------------
mode                 mem(A)               mem(fact)            mem                 
In-core              0                    0                    0                   
Out-of-core          0                    0                    0                   
--------------------------------------------------------------------------------
MKLPARDISO::numericalFact starts Tue Aug 16 09:53:29 2016
MKLPARDISO::numericalFact ends Tue Aug 16 09:53:29 2016
MKLPARDISO::solve starts Tue Aug 16 09:53:29 2016
MKLPARDISO::solve ends Tue Aug 16 09:53:29 2016
MKLPARDISO::cleanUpPARDISO starts Tue Aug 16 09:53:29 2016
MKLPARDISO::cleanUpPARDISO ends Tue Aug 16 09:53:29 2016
Arithmetic type=float; matrix type=general; N=81; NZ(A)=81.
MKLPARDISO::init starts Tue Aug 16 09:53:29 2016
MKLPARDISO::init ends Tue Aug 16 09:53:29 2016
MKLPARDISO::symbolicFact starts Tue Aug 16 09:53:29 2016
MKLPARDISO::symbolicFact ends Tue Aug 16 09:53:29 2016
Arithmetic type=float; matrix type=general; N=81; NZ(A)=81.
Memory Estimate(MB)
--------------------------------------------------------------------------------
mode                 mem(A)               mem(fact)            mem                 
In-core              0                    0                    0                   
Out-of-core          0                    0                    0                   
--------------------------------------------------------------------------------
MKLPARDISO::numericalFact starts Tue Aug 16 09:53:29 2016
MKLPARDISO::numericalFact ends Tue Aug 16 09:53:29 2016
MKLPARDISO::solve starts Tue Aug 16 09:53:29 2016
MKLPARDISO::solve ends Tue Aug 16 09:53:29 2016
MKLPARDISO::cleanUpPARDISO starts Tue Aug 16 09:53:29 2016
MKLPARDISO::cleanUpPARDISO ends Tue Aug 16 09:53:29 2016
Arithmetic type=float; matrix type=general; N=231360; NZ(A)=5144569.
MKLPARDISO::init starts Tue Aug 16 09:53:29 2016
MKLPARDISO::init ends Tue Aug 16 09:53:30 2016
MKLPARDISO::symbolicFact starts Tue Aug 16 09:53:30 2016
MKLPARDISO::symbolicFact ends Tue Aug 16 09:53:34 2016
Arithmetic type=float; matrix type=general; N=231360; NZ(A)=5144569.
Memory Estimate(MB)
--------------------------------------------------------------------------------
mode                 mem(A)               mem(fact)            mem                 
In-core              39                   415                  454                 
Out-of-core          39                   312                  351                 
--------------------------------------------------------------------------------
MKLPARDISO::numericalFact starts Tue Aug 16 09:53:34 2016
MKLPARDISO::numericalFact ends Tue Aug 16 09:53:36 2016
MKLPARDISO::solve starts Tue Aug 16 09:53:36 2016
MKLPARDISO::solve ends Tue Aug 16 09:53:36 2016
MKLPARDISO::cleanUpPARDISO starts Tue Aug 16 09:53:36 2016
MKLPARDISO::cleanUpPARDISO ends Tue Aug 16 09:53:36 2016
Arithmetic type=float; matrix type=symmetric positive definite; N=81; NZ(A)=81.
MKLPARDISO::init starts Tue Aug 16 09:53:38 2016
MKLPARDISO::init ends Tue Aug 16 09:53:38 2016
MKLPARDISO::symbolicFact starts Tue Aug 16 09:53:38 2016
MKLPARDISO::symbolicFact ends Tue Aug 16 09:53:38 2016
Arithmetic type=float; matrix type=symmetric positive definite; N=81; NZ(A)=81.
Memory Estimate(MB)
--------------------------------------------------------------------------------
mode                 mem(A)               mem(fact)            mem                 
In-core              0                    0                    0                   
Out-of-core          0                    0                    0                   
--------------------------------------------------------------------------------
MKLPARDISO::numericalFact starts Tue Aug 16 09:53:38 2016
MKLPARDISO::numericalFact ends Tue Aug 16 09:53:38 2016
MKLPARDISO::solve starts Tue Aug 16 09:53:38 2016
MKLPARDISO::solve ends Tue Aug 16 09:53:38 2016
MKLPARDISO::cleanUpPARDISO starts Tue Aug 16 09:53:38 2016
MKLPARDISO::cleanUpPARDISO ends Tue Aug 16 09:53:38 2016
Arithmetic type=float; matrix type=general; N=58320; NZ(A)=520078.
MKLPARDISO::init starts Tue Aug 16 09:53:38 2016
MKLPARDISO::init ends Tue Aug 16 09:53:38 2016
MKLPARDISO::symbolicFact starts Tue Aug 16 09:53:38 2016
MKLPARDISO::symbolicFact ends Tue Aug 16 09:53:39 2016
Arithmetic type=float; matrix type=general; N=58320; NZ(A)=520078.
Memory Estimate(MB)
--------------------------------------------------------------------------------
mode                 mem(A)               mem(fact)            mem                 
In-core              4                    61                   65                  
Out-of-core          4                    43                   47                  
--------------------------------------------------------------------------------
MKLPARDISO::numericalFact starts Tue Aug 16 09:53:39 2016
MKLPARDISO::numericalFact ends Tue Aug 16 09:53:39 2016
MKLPARDISO::solve starts Tue Aug 16 09:53:39 2016
MKLPARDISO::solve ends Tue Aug 16 09:53:39 2016
MKLPARDISO::cleanUpPARDISO starts Tue Aug 16 09:53:39 2016
MKLPARDISO::cleanUpPARDISO ends Tue Aug 16 09:53:39 2016
A floating point exception has occurred: floating point exception [Invalid operation].

142 Views

Can I ask you to provide full reproducer that call set of matrix to play with? I cannot reproduce issue with one matrix

Thanks,

Alex

142 Views

I've attached the all matrices, rhs and sol for 5 calls.

142 Views

Any update? Thanks.

142 Views

Hi,

Could you also attach code that was aborted as you mentioned before? I implemented my version of program and it passed correctly (please see attached output file)

Thanks,

Alex 

142 Views

I solve in single precision yet you are solving in double precision.

142 Views

HI,
I attach file with float precision run. Looks like the devil is in the details - can we connect directly to look at the code?
Thanks,

Alex

Reply