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

Access violation error when calling PARDISO

pourmatin85
New Contributor I
734 Views
Hi folks;

I'm using PARDISO routine as my sparse solver in my code and it works fine. However, when I try to use it for matrices with more than 150,000 non-zero elements (for example a 15,000x15,000 matrix) the program stops running with access violation error!
I had this problem before, and it turned out that the structure of my sparse matrix had some problem. However, I'm pretty sure that this time my matrix is OK.

My system is : intel XEON, windows 64bit (but my code platform is win32), VS2008, MKL 10.1.2.026

Any ideas?
Thanks in advance
Hossein
0 Kudos
6 Replies
Sergey_P_Intel2
Employee
734 Views
Dear Hossein,

Thank you for this question. The problem you described is very strange. PARDISO successfully solves the tasks with more than 100 millions of non-zeroes elements in input matrices. In order to be sure that your matrix is correct, please set iparm(27) = 1 (matrix checker). In any case, could you describe your task more detail? Namely, type of the matrix you solved, stage where this problem occurred (reordering, factorization or solving step), number of threads, PARDISO mode - In-Core or Out-of-Core?

- Sergey
0 Kudos
ArturGuzik
Valued Contributor I
734 Views
Dear Hossein,

Thank you for this question. The problem you described is very strange. PARDISO successfully solves the tasks with more than 100 millions of non-zeroes elements in input matrices. In order to be sure that your matrix is correct, please set iparm(27) = 1 (matrix checker). In any case, could you describe your task more detail? Namely, type of the matrix you solved, stage where this problem occurred (reordering, factorization or solving step), number of threads, PARDISO mode - In-Core or Out-of-Core?

- Sergey

Sergey is right, definitely size is not an issue here. I guess some index out range or not allocated matrix/component thing. Set (if you didn't do it already) Project->properties->Fortran->Run-time-> Runtime error checking set to All.

A.
0 Kudos
pourmatin85
New Contributor I
734 Views
Dear Hossein,

Thank you for this question. The problem you described is very strange. PARDISO successfully solves the tasks with more than 100 millions of non-zeroes elements in input matrices. In order to be sure that your matrix is correct, please set iparm(27) = 1 (matrix checker). In any case, could you describe your task more detail? Namely, type of the matrix you solved, stage where this problem occurred (reordering, factorization or solving step), number of threads, PARDISO mode - In-Core or Out-of-Core?

- Sergey

Dear Sergey;

I did what you said about iparm(27), the result was puzzling for me. For the first input data, the program stopped in the first iteration with error=-7 (diagonal matrix problem). The second input data had no error! However, the results was not reasonable! I tried some other inputs, and most of them resulted in the old error: access violation.

By the way, I use in-core mode and one thread, my matrix is symmetric and positive-definite. The problem occurs at phase 13.

Hossein
0 Kudos
Gennady_F_Intel
Moderator
734 Views
Hossein,
We couldn't reproduce the problem.
Could you please get us the test case? That will help us to reproduce this problem more quickly.
--Gennady

0 Kudos
pourmatin85
New Contributor I
734 Views
Hossein,
We couldn't reproduce the problem.
Could you please get us the test case? That will help us to reproduce this problem more quickly.
--Gennady


Gennady,
I've put the necessary files in the folder LCPM.

Thanks for your help
0 Kudos
Gennady_F_Intel
Moderator
734 Views
Hossein,
I have no idea what does LCPM stand for :)
and I see no files attached into this thread.
--Gennady

0 Kudos
Reply