Help! Negative output of IPARM (18) : Number nonzeros in factors.

Help! Negative output of IPARM (18) : Number nonzeros in factors.

Hi,

Recently I solved a sparse non-symmetric real matrix equation with 2,785,003 unknowns,

The question is that I found Negative output of IPARM (18), which is the number of nonzeros in factors... , what's the meaning of this case?

As a result, the solution produced is wrong.

I wonder what's the problem, could anyone give me some information? Thanks a lot!

 

//---------------------------------------------- output information when callong PARDISO -------------------------------------
 Linear Solver : MKL PARDISO is starting...

 Reordering completed ...
 Number of non-zeros in  factors = [-1.206401e+009]   // This output is Negtive!
 Number of factorization MFLOPS  = [11120985]
 Factorization completed ...
 Solve completed ...

 

 

Fichier attachéTaille
Télécharger QQ截图20140513110940.jpg80.3 Ko
8 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.

what version of mkl you are using?

Hi,

Thanks for the reply!

I copy the bin libs and dlls from the installing package w_ccompxe_2013.3.171_with_MKL.exe,

which is located in my PC : C:\Program Files (x86)\Intel\Composer XE 2013\mkl\lib\intel64  (win7 64bit)

I thinks the version of MKL is 11.0.

 

Yes, this is  version 11.0 ( you can also look into mklroot\Documentation\mklsupport.txt  file and find more exact information ) . the reason i asked the version you are using is this is a known issue when the input matrix is pretty big. I 'd suggest to try ILP64 mode or evaluate the latest 11.1 update 2.

 

(1) I download the latest MKL 11.1 and link the following libs:

..\..\Yp\YpSparseLib_Map\IntelMKL\MKL_lib_64\mkl_core.lib
..\..\Yp\YpSparseLib_Map\IntelMKL\MKL_lib_64\mkl_intel_ilp64.lib    // to use int_64 type
..\..\Yp\YpSparseLib_Map\IntelMKL\MKL_lib_64\mkl_intel_thread.lib
..\..\Yp\YpSparseLib_Map\IntelMKL\MKL_lib_64\libiomp5md.lib

There in no compilation error and no link error.

(2) I test it that  the size of MKL_int  is 8 bytes now.

(3) However, there is run error (The size of the matrix equation is much smaller than before...):

OneD, the number of Equation in the system is 136022
OneD, the number of noneZero in the system is 3434276
 Linear Solver : MKL PARDISO is starting...
 Error during symbolic factorization: -2

Press any key to continue . . .

 

(4) So I want to know if there is something I did not set properly...

Thanks very much!

Hi,

You can set iparm[26] = 1 (matrix checker) to be ensure that input matrix is correct. Also could you please provide us with your test code and input matrix so we can check it in our side.

Regards,

Roman

Hi Roman,

The matrix and mesh data is of huge size, so it is not convenient to deliver to you.

(1)The only difference of mkl_intel_ilp64.lib and mkl_intel_lp64.lib lie in that:

 in the mkl_intel_ilp64.lib, integers larger than 2^31-1 can be correctly indexed, which in not the case when using mkl_intel_lp64.lib,

am i right?

(2) Yesterday I noticed another problem:

The paridiso can solve a matrix of size 3561830 correctly on my PC(win7, 64 bit, 128G memory), using mkl_intel_lp64.lib

However, for a smaller size matrix with 2,785,003 unknowns, which i formerly mentioned, it can't be solved using using mkl_intel_lp64.lib. The following message appers (I am more confused...):

 Linear Solver : MKL PARDISO is starting...

 Reordering completed ...

 Number of non-zeros in  factors = [-1.206401e+009]   // This output is Negtive!

 Number of factorization MFLOPS  = [11120985]

 

You can see the attached pictures for reference...

Thanks a lot!

Yanpu Zhao

 

 

 

 

Fichiers joints: 

Fichier attachéTaille
Télécharger test1_0.jpg80.3 Ko
Télécharger test2_0.jpg136.14 Ko

Yanpu Zhao,

(1) When you use mkl_intel_ilp64.lib library all integer parameters in Pardiso should be defined as long long int or MKL_INT that was defined as long long int for ILP64 mode.

(2) Could you please set msglvl = 1 and send to us the statistical information which return by Pardiso. Also could you provide us iparm() setting and matrix type which you use.

Regards,

Roman

Connectez-vous pour laisser un commentaire.