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

mkl metis SIGSEGV

xian-zhong_guous_cd-
390 Views

We have a symmetric matrix (attached). MKL crashes on metis(see the attached callstack). Can you take a look?

symmetric_matrix.txt:

first line: number of eqautions (n)

second line: index based (0 means 0 based)

third line: number of nonzeros (nz)

rest: non zeros in triplet format (r c a)

Thanks,

0 Kudos
3 Replies
xian-zhong_guous_cd-
390 Views

Major version: 11
Minor version: 1
Update version: 0
Product status:  Product
Build: n20130711

0 Kudos
mecej4
Honored Contributor III
390 Views

The outcome is not surprising, because the matrix that you have given does not appear to be symmetric as claimed. The convention is that you pass only the upper triangle of a symmetric matrix to MKL/Pardiso, in the CSR format. The MKL manual says "The Intel MKL direct sparse solvers use a row-major upper triangular storage format: the matrix is compressed row-by-row and for symmetric matrices only non-zero elements in the upper triangular half of the matrix are stored".

Your data file is in the COO format, and line 5282 contains '739 733 -0.0202558', which implies that row 740 of the matrix starts in column 734, which would be located in the lower triangle. The Pardiso routine is, probably, unable to address this discrepancy. There are many other entries (over 50) in the lower triangle. You have to resolve this inconsistency before trying to reorder/factorize the matrix using MKL/Pardiso. I have done a bit of speculation with the comments here since you did not state how you did the COO to CSR conversion nor did you provide information on the arguments that you called Pardiso with. 

0 Kudos
xian-zhong_guous_cd-
390 Views

Thanks for the quick response.

0 Kudos
Reply