Pardiso: error during symbolic factorization

Pardiso: error during symbolic factorization

I'm using Pardiso to solve a very large sparse linear system and I get the following error message:ERROR during symbolic factorization: -2According to the description of the Pardiso errors, this corresponds to a problem with the memory allocation in Pardiso.I've doubled the memory available for the computation but I still get the same error message.Does anyone have any clues on how to get around this?Thanks!

14 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

Hi,What version of MKL do you use? To answer this question we need to know additional detailes, like values of iparm, szie of matrix, pardiso output with msglvl=1. The best variant is to implement testcase and send it to us to reproduce it on our side.With best regards,Alexander Kalinkin

Dear AlexanderThank you very much for your reply. Here is the info you requested:-We have MKL 10.3 which comes with the Intel C Intel 64 Compiler XEfor applications running on Intel 64, Version 12.1.4.319 Build 20120410- options in Pardiso:iparm[0] = 1;iparm[1] = 2;iparm[2] = 120;iparm[3] = 0;iparm[4] = 0;iparm[5] = 0;iparm[6] = 0;iparm[7] = 2;iparm[8] = 0; iparm[9] = 13; iparm[10] = 1; iparm[11] = 0; iparm[12] = 1; iparm[13] = 0; iparm[14] = 0; iparm[15] = 0; iparm[16] = 0; iparm[17] = -1; iparm[18] = -1; iparm[19] = 0; maxfct = 1; mnum = 1; msglvl = 1; error = 0;- Pardiso output:Size of matrix = 406440692*** Error in PARDISO ( insufficient_memory) error_num= 0PARDISO Internationalization error. Message 0 is unknown.total memory wanted here: 1511 kbytesymbolic (max): 0 symbolic (permanent): 0real (including 1 factor): 0=== PARDISO: solving a real nonsymmetric system ===Summary: ( reordering phase )================Times:======Time spent in additional calculations : 0.025764 sTotal time spent : 0.025764 sStatistics:===========< Parallel Direct Factorization with number of processors: > 120< Numerical Factorization with BLAS3 and O(n) synchronization >< Linear system Ax = b > number of equations: 64000 number of non-zeros in A: 406440692 number of non-zeros in A (%): 9.922868 number of right-hand sides: 1< Factors L and U > number of columns for each panel: 72 number of independent subgraphs: 0< Preprocessing with state of the art partitioning metis> number of supernodes: 0 size of largest supernode: 0 number of non-zeros in L: 0 number of non-zeros in U: 0 number of non-zeros in L+U: 0ERROR during symbolic factorization: -2Thank you very muchbestPau

Hi,You are correct; its look like
there is not enough memory for correct PARDISO call. Could you provide size of
your RAM? And is it possible to send you matrix with program to me to
investigate it on my side?With best regards,Alexander Kalinkin

in this case, pls try to use out of core version ( set iparm(60) == 2 ) and let us know ho it will work.

Hi,I'm using 300GB of RAM memory. I've also tried setting iparm(60)=2 but it makes no difference. I tried to send you the matrix so that you can test it on your side but it turns out that the file is 3GB. Any ideas about how I could send it to you?Many thanksPau

Hi,Maybe I wrong, but it's seemed that you solve some problem on mesh size 40x40x40. If it's true, is it possible to made testcase on lower mesh size, for example 10x10x10? In such case there are no problems to send such matrix by any possible way.With best regards,Alexander Kalinkin

Dear Alexander,In fact I'm solving a 2d problem on two patches with 80x80 grid points each and there are 5 functions to be determined. The point is that for lower resolutions, say up to 70x70 grid points on each patch, Pardiso works perfectly fine. However, when I try to increase the resolution, then Pardiso gives me the error I've reported. I can try to set up a website and you can download the matrix from there. Would this be ok for you? Otherwise I can send you the matrix for a coarser grid if that's any helpful.bestPau

>> I can try to set up a website and you can download the matrix from there. Would this be ok for you?
<< yes, please do that and give us the link to this site. it would be also helpful to give us the test how to read these data and run pardiso...

Sorry for the delay, I've been away for a few days.I've set up a website where you can download the matrix and the right hand side of the system to be solved:http://www.damtp.cam.ac.uk/user/pf289/FilesLich/fileLich.out contains the matrix itself, fileLichRow.out contains the rows' indices, fileLichCol.out contains the columns' indices, and fileRHS.out contains the RHS. fileLichPara.out contains the number of rows and the total length of the matrix.There's also a simple c code (ForTest.c) which loads the data and solves the linear system. It returns the error that I've previously reported.Do let me if you have any problems with any of those files.Many thanksPau

I have the same problem, I'm running 3D simulations on cluster with 120 Gb RAM. For the small meshes (200 000 elements) everything works perfectly, but if I'm trying to increase number of elements (6 mllion or more) I am getting the same error=-2 durig factorithation. I'm using default values of iparm and solving symmetric indefinite matrix. May be you know what it could be and how to resolve this problem?

Unfortunately I wasn't able to solve the problem, so I can't really help you with your problem...

Hi,

I have solved your problem but I made some changes in your test (see Attachments). Also you could try to use out of core version of Pardiso( iparm[59] = 2 ) or your could try to reduce the number of threads because for big number of threads it requires more additional memory.

Regards,

Roman

Anexos: 

AnexoTamanho
Download fortest.c8.73 KB

Thanks a lot!

Pau

Deixar um comentário

Faça login para adicionar um comentário. Não é membro? Inscreva-se hoje mesmo!