<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic sparse matrix multiplication problem in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-multiplication-problem/m-p/990696#M17982</link>
    <description>&lt;P&gt;Hi, &lt;BR /&gt;Please help me to resolve the problem with the calculation of product of two sparse matrices stored in the CSR format.&lt;BR /&gt;The following program computes the product C = A * B and returns an incorrect result.&lt;/P&gt;
&lt;P&gt;double a[] = {1,2,2,3,1,1,4};&lt;BR /&gt;double b[] = {1,2,3,4,5,1,4};&lt;BR /&gt;int ja[] = {1,2,1,2,3,2,3};&lt;BR /&gt;int ia[] = {1,3,6,8};&lt;BR /&gt;int jb[] = {1,2,1,2,3,2,3};&lt;BR /&gt;int ib[] = {1,3,6,8};&lt;BR /&gt;double* c = NULL;&lt;BR /&gt;int* jc = NULL, * ic = NULL;&lt;/P&gt;
&lt;P&gt;int m = 3;&lt;BR /&gt;double beta = 1.0;&lt;BR /&gt;char trans = 'N';&lt;BR /&gt;int request, sort;&lt;BR /&gt;int info;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;ic = new int[m+1];&lt;BR /&gt;request = 1; sort = 0;&lt;BR /&gt;mkl_dcsrmultcsr(&amp;amp;trans, &amp;amp;request, &amp;amp;sort, &amp;amp;m, &amp;amp;m, &amp;amp;m, a, ja, ia, a, ja, ia, c, jc, ic, NULL, &amp;amp;info);&lt;BR /&gt;c = new double[ic&lt;M&gt;-1]; jc = new int[ic&lt;M&gt;-1];&lt;BR /&gt;request = 2; &lt;BR /&gt;mkl_dcsrmultcsr(&amp;amp;trans, &amp;amp;request, &amp;amp;sort, &amp;amp;m, &amp;amp;m, &amp;amp;m, a, ja, ia, a, ja, ia, c, jc, ic, NULL, &amp;amp;info);&lt;/M&gt;&lt;/M&gt;&lt;/P&gt;
&lt;P&gt;Results:&lt;BR /&gt;c =&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17&lt;BR /&gt;ic = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;BR /&gt;jc = &amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;
&lt;P&gt;A = { 1 2 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 3 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 1 4 }&lt;/P&gt;
&lt;P&gt;B = { 1 3 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2 4 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;0 5 4 }&lt;/P&gt;
&lt;P&gt;C = { 5 8&amp;nbsp; 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8 14 7&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2 7&amp;nbsp; 17 }&amp;nbsp; (incorrect 2nd column)&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Stan&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 08 Sep 2012 21:36:40 GMT</pubDate>
    <dc:creator>stansy</dc:creator>
    <dc:date>2012-09-08T21:36:40Z</dc:date>
    <item>
      <title>sparse matrix multiplication problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-multiplication-problem/m-p/990696#M17982</link>
      <description>&lt;P&gt;Hi, &lt;BR /&gt;Please help me to resolve the problem with the calculation of product of two sparse matrices stored in the CSR format.&lt;BR /&gt;The following program computes the product C = A * B and returns an incorrect result.&lt;/P&gt;
&lt;P&gt;double a[] = {1,2,2,3,1,1,4};&lt;BR /&gt;double b[] = {1,2,3,4,5,1,4};&lt;BR /&gt;int ja[] = {1,2,1,2,3,2,3};&lt;BR /&gt;int ia[] = {1,3,6,8};&lt;BR /&gt;int jb[] = {1,2,1,2,3,2,3};&lt;BR /&gt;int ib[] = {1,3,6,8};&lt;BR /&gt;double* c = NULL;&lt;BR /&gt;int* jc = NULL, * ic = NULL;&lt;/P&gt;
&lt;P&gt;int m = 3;&lt;BR /&gt;double beta = 1.0;&lt;BR /&gt;char trans = 'N';&lt;BR /&gt;int request, sort;&lt;BR /&gt;int info;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;ic = new int[m+1];&lt;BR /&gt;request = 1; sort = 0;&lt;BR /&gt;mkl_dcsrmultcsr(&amp;amp;trans, &amp;amp;request, &amp;amp;sort, &amp;amp;m, &amp;amp;m, &amp;amp;m, a, ja, ia, a, ja, ia, c, jc, ic, NULL, &amp;amp;info);&lt;BR /&gt;c = new double[ic&lt;M&gt;-1]; jc = new int[ic&lt;M&gt;-1];&lt;BR /&gt;request = 2; &lt;BR /&gt;mkl_dcsrmultcsr(&amp;amp;trans, &amp;amp;request, &amp;amp;sort, &amp;amp;m, &amp;amp;m, &amp;amp;m, a, ja, ia, a, ja, ia, c, jc, ic, NULL, &amp;amp;info);&lt;/M&gt;&lt;/M&gt;&lt;/P&gt;
&lt;P&gt;Results:&lt;BR /&gt;c =&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17&lt;BR /&gt;ic = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;BR /&gt;jc = &amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;
&lt;P&gt;A = { 1 2 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 3 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 1 4 }&lt;/P&gt;
&lt;P&gt;B = { 1 3 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2 4 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;0 5 4 }&lt;/P&gt;
&lt;P&gt;C = { 5 8&amp;nbsp; 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8 14 7&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2 7&amp;nbsp; 17 }&amp;nbsp; (incorrect 2nd column)&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Stan&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 08 Sep 2012 21:36:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-multiplication-problem/m-p/990696#M17982</guid>
      <dc:creator>stansy</dc:creator>
      <dc:date>2012-09-08T21:36:40Z</dc:date>
    </item>
    <item>
      <title>Thanks for letting us know</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-multiplication-problem/m-p/990697#M17983</link>
      <description>Thanks for letting us know your problem. I'm now trying to reproduce the issue, and I will update you as soon as I have some results.

Best,
Zhang</description>
      <pubDate>Wed, 12 Sep 2012 18:55:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-multiplication-problem/m-p/990697#M17983</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2012-09-12T18:55:24Z</dc:date>
    </item>
    <item>
      <title>Hi, I figured out the problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-multiplication-problem/m-p/990698#M17984</link>
      <description>Hi, I figured out the problem. Your "b" array is incorrectly specified. It's not in the correct order for the CSR format. It should be {1,3,2,4,1,5,4}.

Zhang</description>
      <pubDate>Wed, 19 Sep 2012 23:47:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-matrix-multiplication-problem/m-p/990698#M17984</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2012-09-19T23:47:47Z</dc:date>
    </item>
  </channel>
</rss>

