<?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 How should I distribute memory for parallel direct sparse solver for cluster? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-should-I-distribute-memory-for-parallel-direct-sparse-solver/m-p/1156035#M27570</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm trying to use parallel direct sparse solver for cluster. So, altering sample code (cl_solver_sym_distr_f.f), I made the parallelized code for solving large numbers of linear equations.&lt;/P&gt;&lt;P&gt;I hypothesize&amp;nbsp;the number of process is n and the number of equations is n*k. In my code, m-th process (m:1,2,...,n) has the following information: the i-th component of right hand vector&amp;nbsp;((m-1)*k+1 &amp;lt;= i &amp;lt;= m*k) and the (a,b) component of matrix (((m-1)*k+1 &amp;lt;= a &amp;lt;= m*k, 1 &amp;lt;= b &amp;lt;= n*k).&lt;/P&gt;&lt;P&gt;The difference from sample code is that we distribute memory without overlap and that the size of equations is very big.&lt;/P&gt;&lt;P&gt;our obtained result is like this.&lt;/P&gt;&lt;P&gt;The number of equations is 800,000. The number of nonzero components&amp;nbsp;&amp;nbsp;is 15,000,000. I do not use OpenMP. So, I set OMP_NUM_THREADS=1.&lt;/P&gt;&lt;P&gt;The calculation time with 1 processor is 36 s.&lt;/P&gt;&lt;P&gt;The calculation time with 2&amp;nbsp;processor is 17&amp;nbsp;s.&lt;/P&gt;&lt;P&gt;The calculation time with 4&amp;nbsp;processor is 13&amp;nbsp;s.&lt;/P&gt;&lt;P&gt;The calculation time with 8&amp;nbsp;processor is 12&amp;nbsp;s.&lt;/P&gt;&lt;P&gt;Like this, I could not obtain good efficiency.&lt;/P&gt;&lt;P&gt;I suppose the way of distributing memory is not proper in my code. How should I distribute memory to processors?&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Shigeki&lt;/P&gt;</description>
    <pubDate>Sun, 11 Nov 2018 02:17:00 GMT</pubDate>
    <dc:creator>Kaneko__Shigeki</dc:creator>
    <dc:date>2018-11-11T02:17:00Z</dc:date>
    <item>
      <title>How should I distribute memory for parallel direct sparse solver for cluster?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-should-I-distribute-memory-for-parallel-direct-sparse-solver/m-p/1156035#M27570</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm trying to use parallel direct sparse solver for cluster. So, altering sample code (cl_solver_sym_distr_f.f), I made the parallelized code for solving large numbers of linear equations.&lt;/P&gt;&lt;P&gt;I hypothesize&amp;nbsp;the number of process is n and the number of equations is n*k. In my code, m-th process (m:1,2,...,n) has the following information: the i-th component of right hand vector&amp;nbsp;((m-1)*k+1 &amp;lt;= i &amp;lt;= m*k) and the (a,b) component of matrix (((m-1)*k+1 &amp;lt;= a &amp;lt;= m*k, 1 &amp;lt;= b &amp;lt;= n*k).&lt;/P&gt;&lt;P&gt;The difference from sample code is that we distribute memory without overlap and that the size of equations is very big.&lt;/P&gt;&lt;P&gt;our obtained result is like this.&lt;/P&gt;&lt;P&gt;The number of equations is 800,000. The number of nonzero components&amp;nbsp;&amp;nbsp;is 15,000,000. I do not use OpenMP. So, I set OMP_NUM_THREADS=1.&lt;/P&gt;&lt;P&gt;The calculation time with 1 processor is 36 s.&lt;/P&gt;&lt;P&gt;The calculation time with 2&amp;nbsp;processor is 17&amp;nbsp;s.&lt;/P&gt;&lt;P&gt;The calculation time with 4&amp;nbsp;processor is 13&amp;nbsp;s.&lt;/P&gt;&lt;P&gt;The calculation time with 8&amp;nbsp;processor is 12&amp;nbsp;s.&lt;/P&gt;&lt;P&gt;Like this, I could not obtain good efficiency.&lt;/P&gt;&lt;P&gt;I suppose the way of distributing memory is not proper in my code. How should I distribute memory to processors?&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Shigeki&lt;/P&gt;</description>
      <pubDate>Sun, 11 Nov 2018 02:17:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-should-I-distribute-memory-for-parallel-direct-sparse-solver/m-p/1156035#M27570</guid>
      <dc:creator>Kaneko__Shigeki</dc:creator>
      <dc:date>2018-11-11T02:17:00Z</dc:date>
    </item>
  </channel>
</rss>

