Pardiso output error after symbolic factorization

Pardiso output error after symbolic factorization

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

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

AttachmentSize
Downloadapplication/x-7z-compressed pardisocrash.7z9.29 MB
12 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

thanks for report - we will check the issue soon.

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 

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

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 

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

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

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.

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

Attachments: 

AttachmentSize
Downloadapplication/octet-stream _32bit.log0 bytes
Downloadapplication/octet-stream _64bit.log0 bytes
Downloadtext/x-c++src main.cpp128 bytes

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

Attachments: 

AttachmentSize
Downloadapplication/octet-stream _32bit.log0 bytes
Downloadapplication/octet-stream _64bit.log0 bytes
Downloadtext/x-c++src main.cpp128 bytes

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

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

Leave a Comment

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