I am trying to multiply two sparse matrices after converting them to sparse_matrix_t from COO format (using mkl_sparse_d_create_coo to convert, which is working), and then upon using mkl_sparse_spmm, it returns SPARSE_STATUS_NOT_SUPPORTED. My Intel composer version is 17.0.0 20160721, and I am using Debian Linux. According to https://software.intel.com/en-us/node/590133 , the status code translates to "The requested operation is not supported.". Please advise, under what situations would MKL emit this message?
Thank you for asking. The message show up because COO format is not supported by the computation function mkl_sparse_spmm.
As the developer guide mentioned,
the Sparse BLAS Computational routines operate on a matrix handle that stores a matrix in CSR or BSR formats. Other
formats should be converted to CSR or BSR format before calling any computational routines. For more
information see Sparse Matrix Storage Formats.
So you may create either CSR format directly or convert coo to CSR, then call the function.