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

MKL mkl_?csrcoo conversion problem

Ali_R_3
Beginner
319 Views

Hi

I am using MKL c++ version to solve for pardiso. My input is a sparse matrix in the coordinate format and I am planning to convert it to CSR format to use the pardiso command with mkl_?csrcoo. The problem is that The conversion does not order the column indices, even though I specified job[0] = 2; . Also, I have some zero values and duplicate enrtires in the coordinate sparse matrix. So I do not know if that is why it is unable to do the conversion correctly or not. I tried duplicate values on the mkl example and it worked fine. Please advise as what should be done. Thank you and have a great one.

0 Kudos
3 Replies
Shaojuan_Z_Intel
Employee
319 Views

Hi Ali,

Which version of MKL you are using? You tried "mkl example and it worked fine", but your routine using mkl_?csrcoo didn't work? If so, can you provide your code? Thanks!

0 Kudos
mecej4
Honored Contributor III
319 Views

As you can see at https://software.intel.com/en-us/node/599837, in the sparse BLAS coordinate storage format only non-zero elements are to be given explicitly.  If your data does not conform to that requirement, the conversion routine mkl_?csrcoo may not work correctly.

There are some special cases where zero-valued diagonals are required to be stored explicitly (the DSS symmetric solvers, for example, with only the upper or lower triangle of the matrix stored). The conversion routine, however, has no provision for handling such special matrices.

0 Kudos
Ali_R_3
Beginner
319 Views

Hi

I am getting an increasing order of column index per row, as it should , now. But I do have repeated values in the sparse coordinate format. As a result, the column index vector in the CSR format has repeated values. Does pardiso handle repeated values in the CSR format?

0 Kudos
Reply