<?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 yes, MKL contains many such in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/matrix-version-of-spmv/m-p/1152248#M27241</link>
    <description>yes, MKL contains many such routines for different formats
please refer to this list ( MKL 2018  )
&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-c-sparse-blas-level-2-and-level-3-routines-1" target="_blank"&gt;https://software.intel.com/en-us/mkl-developer-reference-c-sparse-blas-level-2-and-level-3-routines-1&lt;/A&gt;</description>
    <pubDate>Sun, 05 Nov 2017 14:24:14 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2017-11-05T14:24:14Z</dc:date>
    <item>
      <title>matrix version of ?spmv</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/matrix-version-of-spmv/m-p/1152247#M27240</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;

&lt;P&gt;I am wondering whether there is a matrix version of ?spmv, e.g. ?spmm. I am dealing with huge symmetric matrices (+50,000 row dimension) which I want to multiply with other matrices. Currently I store them in general format and call gemm. I am aware of calling ?spmv inside a loop but I am looking for a more elegant way. I found gemm_compute in the leatest manual, but it occurs to me that it is not doing what I want.&lt;/P&gt;

&lt;P&gt;Any suggestions??&lt;/P&gt;

&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Sun, 05 Nov 2017 13:05:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/matrix-version-of-spmv/m-p/1152247#M27240</guid>
      <dc:creator>may_ka</dc:creator>
      <dc:date>2017-11-05T13:05:10Z</dc:date>
    </item>
    <item>
      <title>yes, MKL contains many such</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/matrix-version-of-spmv/m-p/1152248#M27241</link>
      <description>yes, MKL contains many such routines for different formats
please refer to this list ( MKL 2018  )
&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-c-sparse-blas-level-2-and-level-3-routines-1" target="_blank"&gt;https://software.intel.com/en-us/mkl-developer-reference-c-sparse-blas-level-2-and-level-3-routines-1&lt;/A&gt;</description>
      <pubDate>Sun, 05 Nov 2017 14:24:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/matrix-version-of-spmv/m-p/1152248#M27241</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2017-11-05T14:24:14Z</dc:date>
    </item>
    <item>
      <title>Hi Gennady,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/matrix-version-of-spmv/m-p/1152249#M27242</link>
      <description>&lt;P&gt;Hi Gennady,&lt;/P&gt;

&lt;P&gt;thanks for the quick response.&lt;/P&gt;

&lt;P&gt;However, you have pointed me to the sparse routines, but non of the matrices in my example is actually sparse.&lt;/P&gt;

&lt;P&gt;My current understanding is:&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;the packed format used for the matrix in ?spmv is not equal to any sparse format because it lacks the integer index vectors.&lt;/LI&gt;
	&lt;LI&gt;a dense symmetric matrix does not need any index vectors at all because the full upper or lower triangular is stored as a vector&lt;/LI&gt;
	&lt;LI&gt;BLAS does not have a level 3 equivalent to ?spmv &lt;A href="https://software.intel.com/en-us/mkl-developer-reference-fortran-blas-level-3-routines"&gt;https://software.intel.com/en-us/mkl-developer-reference-fortran-blas-level-3-routines&lt;/A&gt;&lt;/LI&gt;
	&lt;LI&gt;a symmetric dense matrix which can be stored packed but is stored sparse will be less efficient in terms of RAM because it has an unnesseary overhead for the index vectors. In fact it will have no storage advantage at all compared to storing the full symmetric matrix. It will also be less efficient in terms of speed during multiplication from going through these index vectors.&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;Let me know what I am getting wrong.&lt;/P&gt;</description>
      <pubDate>Sun, 05 Nov 2017 20:14:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/matrix-version-of-spmv/m-p/1152249#M27242</guid>
      <dc:creator>may_ka</dc:creator>
      <dc:date>2017-11-05T20:14:19Z</dc:date>
    </item>
  </channel>
</rss>

