<?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 Re: Most efficient storage format for sparse blas matrix-matrix in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Most-efficient-storage-format-for-sparse-blas-matrix-matrix/m-p/888163#M10164</link>
    <description>&lt;DIV style="margin:0px;"&gt;&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Dear Sergey,&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Many thanks for your swift reply.&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Cheers,&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Cristian&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/93645"&gt;SERGEY KUZNETSOV (Intel)&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;Dear Christian,&lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;First of all,I'd recommend to take a lookat the structure of matrices. For example if it is known&lt;SPAN&gt; &lt;/SPAN&gt;that a matrix consists of a few diagonals, the diagonal format is the best storage scheme to gain efficiency. If your matrix consists of many square dense blocks,&lt;SPAN&gt; &lt;/SPAN&gt;please use the block sparse row.&lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;If &lt;SPAN&gt; &lt;/SPAN&gt;the matrix is not regularly structured, &lt;SPAN&gt; &lt;/SPAN&gt;MKL Sparse BLAS &lt;SPAN&gt; &lt;/SPAN&gt;routines for the CSR and CSC &lt;SPAN&gt; &lt;/SPAN&gt;formats perform significantlybetter than for the coordinate format. If you are going to do non-transposed sparse-dense matrix multiplies for general matrices like A x, &lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;Id recommend to use the CSR format. &lt;SPAN&gt; &lt;/SPAN&gt;The CSC &lt;SPAN&gt; &lt;/SPAN&gt;format is preferable for transposed case A^T x. Id alsolike toremind that the routines for the CSR and CSC formats are OpenMP threaded. &lt;SPAN&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;All the best &lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;Sergey&lt;/SPAN&gt;&lt;/P&gt; &lt;/EM&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 30 Sep 2008 00:03:17 GMT</pubDate>
    <dc:creator>soliton</dc:creator>
    <dc:date>2008-09-30T00:03:17Z</dc:date>
    <item>
      <title>Most efficient storage format for sparse blas matrix-matrix multiply</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Most-efficient-storage-format-for-sparse-blas-matrix-matrix/m-p/888161#M10162</link>
      <description>Dear All,&lt;BR /&gt;&lt;BR /&gt;I am starting to write a new application that will have to do sparse*dense matrix multiplies. Before just coding all the alternatives and benchmarking them I'd like to know whether it is know if one of the alternative storage formats is more efficient than the others. I am just guessing here, but it seems to me that CSR or CSC might help with data locality more that the coordinate format since in this case the ordering of the matrix can be basically random. Any clues?&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;&lt;BR /&gt;Cristian&lt;BR /&gt;</description>
      <pubDate>Thu, 11 Sep 2008 17:09:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Most-efficient-storage-format-for-sparse-blas-matrix-matrix/m-p/888161#M10162</guid>
      <dc:creator>soliton</dc:creator>
      <dc:date>2008-09-11T17:09:23Z</dc:date>
    </item>
    <item>
      <title>Re: Most efficient storage format for sparse blas matrix-matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Most-efficient-storage-format-for-sparse-blas-matrix-matrix/m-p/888162#M10163</link>
      <description>&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;Dear Christian,&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;First of all,I'd recommend to take a lookat the structure of matrices. For example if it is known&lt;SPAN&gt; &lt;/SPAN&gt;that a matrix consists of a few diagonals, the diagonal format is the best storage scheme to gain efficiency. If your matrix consists of many square dense blocks,&lt;SPAN&gt; &lt;/SPAN&gt;please use the block sparse row.&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;If &lt;SPAN&gt;&lt;/SPAN&gt;the matrix is not regularly structured, &lt;SPAN&gt;&lt;/SPAN&gt;MKL Sparse BLAS &lt;SPAN&gt;&lt;/SPAN&gt;routines for the CSR and CSC &lt;SPAN&gt;&lt;/SPAN&gt;formats perform significantlybetter than for the coordinate format. If you are going to do non-transposed sparse-dense matrix multiplies for general matrices like A x, &lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;Id recommend to use the CSR format. &lt;SPAN&gt;&lt;/SPAN&gt;The CSC &lt;SPAN&gt;&lt;/SPAN&gt;format is preferable for transposed case A^T x. Id alsolike toremind that the routines for the CSR and CSC formats are OpenMP threaded. &lt;SPAN&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;All the best &lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="MsoNormal"&gt;&lt;SPAN&gt;Sergey&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Sep 2008 10:45:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Most-efficient-storage-format-for-sparse-blas-matrix-matrix/m-p/888162#M10163</guid>
      <dc:creator>Sergey_K_Intel1</dc:creator>
      <dc:date>2008-09-15T10:45:05Z</dc:date>
    </item>
    <item>
      <title>Re: Most efficient storage format for sparse blas matrix-matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Most-efficient-storage-format-for-sparse-blas-matrix-matrix/m-p/888163#M10164</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Dear Sergey,&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Many thanks for your swift reply.&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Cheers,&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Cristian&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/93645"&gt;SERGEY KUZNETSOV (Intel)&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;Dear Christian,&lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;First of all,I'd recommend to take a lookat the structure of matrices. For example if it is known&lt;SPAN&gt; &lt;/SPAN&gt;that a matrix consists of a few diagonals, the diagonal format is the best storage scheme to gain efficiency. If your matrix consists of many square dense blocks,&lt;SPAN&gt; &lt;/SPAN&gt;please use the block sparse row.&lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;If &lt;SPAN&gt; &lt;/SPAN&gt;the matrix is not regularly structured, &lt;SPAN&gt; &lt;/SPAN&gt;MKL Sparse BLAS &lt;SPAN&gt; &lt;/SPAN&gt;routines for the CSR and CSC &lt;SPAN&gt; &lt;/SPAN&gt;formats perform significantlybetter than for the coordinate format. If you are going to do non-transposed sparse-dense matrix multiplies for general matrices like A x, &lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;Id recommend to use the CSR format. &lt;SPAN&gt; &lt;/SPAN&gt;The CSC &lt;SPAN&gt; &lt;/SPAN&gt;format is preferable for transposed case A^T x. Id alsolike toremind that the routines for the CSR and CSC formats are OpenMP threaded. &lt;SPAN&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;All the best &lt;/SPAN&gt;&lt;/P&gt; &lt;P class="MsoNormal"&gt;&lt;SPAN&gt;Sergey&lt;/SPAN&gt;&lt;/P&gt; &lt;/EM&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Sep 2008 00:03:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Most-efficient-storage-format-for-sparse-blas-matrix-matrix/m-p/888163#M10164</guid>
      <dc:creator>soliton</dc:creator>
      <dc:date>2008-09-30T00:03:17Z</dc:date>
    </item>
  </channel>
</rss>

