Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.

MKL PARDISO produces FPE

xian-zhong_guous_cd-
6,727 Views

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
6,727 Views

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

0 Kudos
xian-zhong_guous_cd-
6,727 Views

Same error using mkl 11.3.3.

0 Kudos
Alexander_K_Intel2
6,727 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 

0 Kudos
xian-zhong_guous_cd-
6,727 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].

0 Kudos
Alexander_K_Intel2
6,727 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

0 Kudos
xian-zhong_guous_cd-
6,727 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].

0 Kudos
Alexander_K_Intel2
6,727 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

0 Kudos
xian-zhong_guous_cd-
6,727 Views

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

0 Kudos
xian-zhong_guous_cd-
6,727 Views

Any update? Thanks.

0 Kudos
Alexander_K_Intel2
6,727 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 

0 Kudos
xian-zhong_guous_cd-
6,727 Views

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

0 Kudos
Alexander_K_Intel2
6,727 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

0 Kudos
Reply