<?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 Quote:jirina wrote: in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133381#M25810</link>
    <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;jirina wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you considered the CSR (Compressed Sparse Row) format? See e.g.&amp;nbsp;&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-fortran-sparse-blas-csr-matrix-storage-format"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dear Jirina, Thanks that is what I am looking for but the only problem is that I assemble the matrix element by element and don't have values arranged by rows and columns. Do you know if there is a standard way to assemble the matrix using CSR format with minimum calculation cost?&lt;/P&gt;</description>
    <pubDate>Thu, 25 Jul 2019 02:15:21 GMT</pubDate>
    <dc:creator>S__MPay</dc:creator>
    <dc:date>2019-07-25T02:15:21Z</dc:date>
    <item>
      <title>MKL Packed Storage scheme for matrix with many zoroes</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133379#M25808</link>
      <description>&lt;P&gt;I have a very large matrix but many of its members are zero however it does not have a specific shape like being banded, etc.&lt;/P&gt;&lt;P&gt;Is there any possibility that I can reduce memory usage for storing this matrix for using MKL to solve marix operations?&lt;/P&gt;&lt;P&gt;Currently for a not very large model I need more than 32GB of RAM.&lt;/P&gt;</description>
      <pubDate>Wed, 24 Jul 2019 09:24:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133379#M25808</guid>
      <dc:creator>S__MPay</dc:creator>
      <dc:date>2019-07-24T09:24:26Z</dc:date>
    </item>
    <item>
      <title>Have you considered the CSR</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133380#M25809</link>
      <description>&lt;P&gt;Have you considered the CSR (Compressed Sparse Row) format? See e.g.&amp;nbsp;&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-fortran-sparse-blas-csr-matrix-storage-format"&gt;here&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 24 Jul 2019 12:57:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133380#M25809</guid>
      <dc:creator>jirina</dc:creator>
      <dc:date>2019-07-24T12:57:44Z</dc:date>
    </item>
    <item>
      <title>Quote:jirina wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133381#M25810</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;jirina wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you considered the CSR (Compressed Sparse Row) format? See e.g.&amp;nbsp;&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-fortran-sparse-blas-csr-matrix-storage-format"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dear Jirina, Thanks that is what I am looking for but the only problem is that I assemble the matrix element by element and don't have values arranged by rows and columns. Do you know if there is a standard way to assemble the matrix using CSR format with minimum calculation cost?&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jul 2019 02:15:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133381#M25810</guid>
      <dc:creator>S__MPay</dc:creator>
      <dc:date>2019-07-25T02:15:21Z</dc:date>
    </item>
    <item>
      <title>If you visit the elements in</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133382#M25811</link>
      <description>&lt;P&gt;If you visit the elements in some arbitrary order and compute node-node coefficients, you may need to use the coordinate list format ("COO" format) and then convert to CSR format. See this thread: &lt;A href="https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/777804" target="_blank"&gt;https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/777804&lt;/A&gt; .&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jul 2019 02:30:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133382#M25811</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2019-07-25T02:30:47Z</dc:date>
    </item>
    <item>
      <title>Quote:mecej4 wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133383#M25812</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;mecej4 wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you visit the elements in some arbitrary order and compute node-node coefficients, you may need to use the coordinate list format ("COO" format) and then convert to CSR format. See this thread: &lt;A href="https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/777804"&gt;https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/...&lt;/A&gt; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or you can construct CSR with a hand-written routine without overhead of creating an intermediate COO representation. For this, you basically need to perform two passes through the data. On the first pass you create rowIndex (or pointerB and pointerE for 4-array CSR) by just looping over your tuples and counting number of nonzeros in each row. After the second pass you allocate colIndx and values and fill them during the second pass. During the second pass you can then use the offsets into colIndx and values from the pre-computed rowIndex.&lt;/P&gt;&lt;P&gt;This can be in many cases faster&amp;nbsp;than creating a coordinate format and then converting it into CSR.&lt;/P&gt;&lt;P&gt;Best,&lt;BR /&gt;Kirill&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jul 2019 15:45:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-Packed-Storage-scheme-for-matrix-with-many-zoroes/m-p/1133383#M25812</guid>
      <dc:creator>Kirill_V_Intel</dc:creator>
      <dc:date>2019-07-25T15:45:23Z</dc:date>
    </item>
  </channel>
</rss>

