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

PARDISO ERROR (error_num = 2578)

I am getting this error when I solve a system of Ax = B (#equations= 14791, #non-zeros in A= 167019.B is a matrix with 14791 rows and 799 columns. I use mtype = 2):

*** Error in PARDISO (numerical_factorization> error_num = 2578
PARDISO Internationalization error! Message 2578 is unknown.

This is happening in Phase =22, and PARDISO returns error = -4, indicating negative pivoting error, but I also see error 2578 when I print out more statistical information about the solver.

I saw error = -4 before but I never saw "PARDISO Internationalization" error.

Does anyone knowsmore about this?


0 Kudos
2 Replies
Could you send testcase to us to reproduce this issue on our side? It'll help us to understand reason of this error.
With best regards,
Alexander Kalinkin
0 Kudos
While I was working on this, I had run into another issue and I believe this is much more important and I thoughtyou help me out:

It is the same problem K * X = B : # of equations= 14791, #non-zeros in K= 167019.And, I do not have "error = -4" anymore (so the matrix is not ill conditioned). I solve it for matrix B that has 14791 rows and 799 columns (i.e., 799 load vectors)

I have two test2:
* Test 1: I run PARDISO inside my code that is a part of a big software. ANd I solved all 799 load cases at once. PARDISO did not report any error or any wrongdoing. But the results were not correct (not quite garbage values but as if it did not carry out backward&forward substitution so that I got wrong displacecements back)

*Test 2: I created a small project (console application) in VS2010. I wroteK and B to a text file from Test 1 and then I readtheminto my console application. PARDISO run OK and reported correct results !....

Briefly,attempting solving 799 load case at once creates some issues in my big program whereas it is OK to do the same in my console application. Looks like a memory issue but what is scary is that PARDISO does not report any error in Test 1.

ALso, I noticed in phases 11and 22 that we pass in number of load vectors (799). Phase 11 and 22 are nothing but symbolic and numerical factorization of matrix K. Why does PARDISO need to know number of load cases at these phases?

A solution looks like to solve certain number of load vectors (let's say 50) and repeatedly call PARDISO to carry out forward & backward substitution (the matrix is only solved\decomposed once).

But I still want to know why PARDISO needs to know number of load vectors in phases 11 and 22. ALso, why it does not report any error in Test 1 (is there anything else I can check from PARDISO?)

Thanks a lot

p.s. Unfortunately, I cannot provide mt code used in Test 1. It is a very big program. Test 2 seems not helping much either.

0 Kudos