Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Jeremie_V_
Beginner
56 Views

Order of the columns of a sparse matrix (CSR) times a vector

Dear,

I need to multiply a symmetric sparse matrix by a vector and I would like to use the subroutine mkl_dcsrsymv . The upper triangle of the sparse matrix is stored in a CSR format (row major, 3 arrays). However, the elements in the array columns (ja) are not placed in the order in which the associated values occur in the row. 
I know that the order is required for MKL Pardiso, but is it also the case for the subroutine mkl_dcsrsymv? Are unordered columns within a row allowed? What are the consequences?

In advance thank you.

Jeremie

0 Kudos
5 Replies
Zhen_Z_Intel
Employee
56 Views

Dear customer,

For sparse symmetric matrix calculation, The CSR format could only save up-triangular part to calculate. It is called DSS Symmetric Matrix Storage ,you could refer similar structure format for PARDISO. The csrsymv could also use with DSS symmetric format. 

Best regards,
Fiona

 

56 Views

Hi,

You are correct in the fact that pardiso use ordered csr format. By the way spblas routine have not such restriction so you can use not ordered arrays. Also i recommend you to use new spblas API for your operation - in general it perform better

Thanks,

Alex

Jeremie_V_
Beginner
56 Views

Dear,

Thank you for you answers.

@Alex, When you mentioned the "new spblas API", do you refer to the Inspector-Executor Sparse Blas routines?

Thank you.

Jeremie

Gennady_F_Intel
Moderator
56 Views

yes, exactly

Jeremie_V_
Beginner
56 Views

Thank you!

Jeremie

Reply