Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6956 Discussions

Pardiso output error after symbolic factorization

xin_x_
Beginner
634 Views

Hi, 

Attached contains a test code and input file. When I link the code with MKL 10.2.3.029, pardiso produce no error information. When I link to either MKL 11.0.3, the following information is outputted. At the end, there is an error information. I also tried 11.0.4, the outputs are similar.

The problem originated on Linux. Since I observe the strange behavior on windows, I would like to get someone's help to resolve this windows problem first.

Thanks!

Xin

output:

===================================================

clean

The local (internal) PARDISO version is : 103911000
1-based array indexing is turned ON
PARDISO double precision computation is turned ON
METIS algorithm at reorder step is turned ON


Summary: ( reordering phase )
Time numfct :

Time malloc :
Time cgs :
Time spent in calculations of symmetric matrix portrait (fulladj): 0.006105 s
Time spent in reordering of the initial matrix (reorder) : 0.567821 s
Time spent in symbolic factorization (symbfct) : 0.060449 s
Time spent in data preparations for factorization (parlist) : 0.005577 s
Time spent in allocation of internal data structures (malloc) : 0.011062 s
Time spent in additional calculations : 0.047440 s
Total time spent : 0.698454 s

#non-zeros in A: 0
Time solve :
#non-zeros in A: 2
#right-hand sides: 0

< Factors L and U >
#columns for each panel: 100283
#independent subgraphs: 458666
#independent subgraphs: -334499459

< with multiple minimum degree on the separator nodes >

< no multiple minimum degree on the separator nodes >
#supernodes: 80
size of largest supernode: 0
number of nonzeros in U 0
gflop for the numerical factorization: 0.000000
||A|| 0.000000
L&U for matrix number 2683178 deleted
Input error is not equal to ZERO, error = 1

==========================================================

0 Kudos
11 Replies
Gennady_F_Intel
Moderator
634 Views

thanks for report - we will check the issue soon.

0 Kudos
Gennady_F_Intel
Moderator
634 Views

I don't see the problem on my side. 

I tried to reproduce the problem with the 11.0.4

32 bit. windows, 

here is the lib's for linking:

mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib

C:\_tmp\QuAD-Forum\u393655>1.exe

=== PARDISO: solving a complex symmetric system ===
The local (internal) PARDISO version is : 103911000
1-based array indexing is turned ON
PARDISO double precision computation is turned ON
METIS algorithm at reorder step is turned ON


Summary: ( reordering phase )
================

Times:
======
Time spent in calculations of symmetric matrix portrait (fulladj): 0.006835 s
Time spent in reordering of the initial matrix (reorder) : 0.602062 s
Time spent in symbolic factorization (symbfct) : 0.060913 s
Time spent in data preparations for factorization (parlist) : 0.006447 s
Time spent in allocation of internal data structures (malloc) : 0.021970 s
Time spent in additional calculations : 0.052728 s
Total time spent : 0.750954 s

Statistics:
===========
< Parallel Direct Factorization with number of processors: > 2
< Numerical Factorization with BLAS3 and O(n) synchronization >

< Linear system Ax = b >
number of equations: 100283
number of non-zeros in A: 458666
number of non-zeros in A (): 0.004561

number of right-hand sides: 1

< Factors L and U >
number of columns for each panel: 80
number of independent subgraphs: 0
< Preprocessing with state of the art partitioning metis>
number of supernodes: 67930
size of largest supernode: 275
number of non-zeros in L: 2683178
number of non-zeros in U: 1
number of non-zeros in L+U: 2683179

the PARDISOerror returns == 0

here is 

0 Kudos
xin_x_
Beginner
634 Views

Hi, Gennady,

Thanks very much for your prompt response!

Can you try it with windows 64 MKL library 11.0.3? My division is testing MKL 11.0.3 with the multi-threading patch now on multiple products. If possible please try the same test program on Linux 64. 

If it is proved that 11.0.3 has this problem, we will have to shift to 11.0.4 I think. 

I will install 32 bit MKL library and give it try now. 

Thanks again!

Xin

0 Kudos
Gennady_F_Intel
Moderator
634 Views

I am not sure understood  which version produces the problem and what OS.  earlier you wrote " I also tried 11.0.4, the outputs are similar."

would you please clarify.

--Gennady 

0 Kudos
xin_x_
Beginner
634 Views

Thanks for your reply!

I am using Windows 7 x64. I am building the project with MS VS2008. The MKL version I am interested in is 11.0.3.

Because I experienced problem with MKL 11.0.3, I tried MKL 11.0.4 which gives similar problem. Anyway, please try 11.0.3 on a 64 bit windows.

If you have any other question, please let me know.

Thanks & Regards,

Xin

0 Kudos
xin_x_
Beginner
634 Views

Hi, Gennady

After many tests, it is found that the Intel Fortran compiler installed on my computer contributed to the weird behavior of pardiso in my test program. After uninstalled Intel Fortran compiler, my test runs normally now.

Do you have some insight in what happened?

Thanks & Regards,

Xin

0 Kudos
Gennady_F_Intel
Moderator
634 Views

Hello Xin, that is very strange. Your original test is CPP.  How Fortran Compiler can affects on cpp test which based on MKL's routine only - I have only one crasy idea: all of these programms ( C/C++, Fortran Compilers and MKL use OpenMP library - libiomp5md  and may be somehow the different versions of libiomp has been used. this is bad idea, but I don't have others. You can try to link wit the serial version and check the problem with this case.

0 Kudos
Gennady_F_Intel
Moderator
634 Views

regard to 64 bit version: I tried the 64 bit version (11.0.4) and I can see the similar results like I have with 32 version. please look at the 32 and 64 bits output I received. the only thing I did - I added the version() funcion to your original code to type info about version of MKL. I upload this modified cpp file too.

--Gennady

0 Kudos
Gennady_F_Intel
Moderator
634 Views

regard to 64 bit version: I tried the 64 bit version (11.0.4) and I can see the similar results like I have with 32 version. please look at the 32 and 64 bits output I received. the only thing I did - I added the version() funcion to your original code to type info about version of MKL. I upload this modified cpp file too.

--Gennady

0 Kudos
xin_x_
Beginner
634 Views

Hi, Gennady,

Thanks very much for the tests. After I uninstalled Intel Visual Fortran, the test code works ok. I installed Intel Visual Fortran Studio 2013 update 3. The test code runs ok, too. 

I have no idea why my ealier Fortran affected this test code.

Regards,

Xin

0 Kudos
xin_x_
Beginner
634 Views

The system PATH pointed to some earlier version of MKL folders due to my ealier fortran installs. I deleted some of the path pointed to earlier MKL and some 'redistribute' directories. This also fixed the error showed by my test program. I do not know which specific path affected my test code because I did not backup my old path ( bad move!! ).

Will this give you some clue on what is happening?

Regards,

Xin

0 Kudos
Reply