<?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: How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326577#M32261</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for reaching out to us.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you please let us know the programming language on which you are working?&lt;/P&gt;
&lt;P&gt;We see that you are following oneMKL guide for fortran language and from the error log it seems like you are applying them to your C language code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&lt;I&gt;I am following the guide here to set iparm(2)=10 to use the MPI version of the nested dissection and symbolic factorization algorithms.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In C, you need to set iparm[1]=10 in order to use the MPI version of the nested dissection and symbolic factorization algorithms.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kindly refer to the below guide&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/parallel-direct-sp-solver-for-clusters-iface/cluster-sparse-solver-iparm-parameter.html" target="_blank" rel="noopener"&gt;https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/parallel-direct-sp-solver-for-clusters-iface/cluster-sparse-solver-iparm-parameter.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you still face any issues, please provide us a sample reproducer (and steps if any) along with your environment details and MKL version so that we can work on it from our end.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 02 Nov 2021 11:44:19 GMT</pubDate>
    <dc:creator>VidyalathaB_Intel</dc:creator>
    <dc:date>2021-11-02T11:44:19Z</dc:date>
    <item>
      <title>How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326320#M32258</link>
      <description>&lt;P&gt;I am following the guide here to set iparm(2)=10 to use the MPI version of the nested dissection and symbolic factorization algorithms.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-fortran/top/sparse-solver-routines/parallel-direct-sp-solver-for-clusters-iface/cluster-sparse-solver-iparm-parameter.html" target="_blank"&gt;https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-fortran/top/sparse-solver-routines/parallel-direct-sp-solver-for-clusters-iface/cluster-sparse-solver-iparm-parameter.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, I am confused on how to set iparm(41) and iparm(42). Say I want to run on two compute nodes ( 2 mpi processes ). Do I set iparm(41) to one and iparm(42) to half the number of equations (n)? I tried doing this but got an error:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;iparm[40] = 1;
int upper_bound = (n+1)/2;
printf ( "upper bound is %i", upper_bound );
iparm[41] = upper_bound;


*** Error in PARDISO  ( sequence_ido,parameters) error_num= 11
*** Input check: preprocessing 2 (out of bounds)
*** Input parameters: inconsistent error= 11 max_fac_store_in: 1
          matrix_number_in: 1 matrix_type_in: -2
          ido_in          : 11 neqns_in      : 3867819
          ia(neqns_in+1)-1: 89286447 nb_in         : 1

ERROR during symbolic factorization: -1[proxy:0:0@cn406] pmi cmd from fd 6: cmd=finalize
[proxy:0:0@cn406] PMI response: cmd=finalize_ack
&lt;/LI-CODE&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 01 Nov 2021 16:26:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326320#M32258</guid>
      <dc:creator>segmentation_fault</dc:creator>
      <dc:date>2021-11-01T16:26:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326577#M32261</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for reaching out to us.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you please let us know the programming language on which you are working?&lt;/P&gt;
&lt;P&gt;We see that you are following oneMKL guide for fortran language and from the error log it seems like you are applying them to your C language code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&lt;I&gt;I am following the guide here to set iparm(2)=10 to use the MPI version of the nested dissection and symbolic factorization algorithms.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In C, you need to set iparm[1]=10 in order to use the MPI version of the nested dissection and symbolic factorization algorithms.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kindly refer to the below guide&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/parallel-direct-sp-solver-for-clusters-iface/cluster-sparse-solver-iparm-parameter.html" target="_blank" rel="noopener"&gt;https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/parallel-direct-sp-solver-for-clusters-iface/cluster-sparse-solver-iparm-parameter.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you still face any issues, please provide us a sample reproducer (and steps if any) along with your environment details and MKL version so that we can work on it from our end.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Nov 2021 11:44:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326577#M32261</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2021-11-02T11:44:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326704#M32262</link>
      <description>&lt;P&gt;I am coding in C and incorrectly linked to the fortran guide. In any case, my question is related to understanding iparm[40] and iparm[41]. How to set those based on the number of hosts ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, I have read more of the documentation and think I have figured it out now. I believe there might be an error or omission in the documentation. When setting iparm[1] = 10, one must also set iparm[39] &amp;gt; 0 . This is not mentioned in the documentation for iparm[1] .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Nov 2021 21:28:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326704#M32262</guid>
      <dc:creator>segmentation_fault</dc:creator>
      <dc:date>2021-11-02T21:28:01Z</dc:date>
    </item>
    <item>
      <title>Re:How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326874#M32263</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&lt;I&gt;&amp;nbsp;I believe there might be an error or omission in the documentation. When setting iparm[1] = 10,&lt;/I&gt; one must also set iparm[39] &amp;gt; 0 ....&lt;I&gt;This is&lt;/I&gt;&amp;nbsp;&lt;I&gt;not mentioned in the documentation for iparm[1]&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We are looking into this issue. we will get back to you soon.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 03 Nov 2021 12:44:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326874#M32263</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2021-11-03T12:44:21Z</dc:date>
    </item>
    <item>
      <title>Re:How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326914#M32264</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 13.3333px; font-family: &amp;quot;Intel Clear&amp;quot;, Verdana, Arial, sans-serif;"&gt;iparm[39] == 0 means that the matrix is located into the master node, but the computation happens across many MPI processes.&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 03 Nov 2021 15:03:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1326914#M32264</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-11-03T15:03:50Z</dc:date>
    </item>
    <item>
      <title>Re: Re:How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1327827#M32271</link>
      <description>&lt;P&gt;I understand that if I set &lt;SPAN class="sub_section_element_selectors" style="font-size: 13.3333px; font-family: 'Intel Clear', Verdana, Arial, sans-serif;"&gt;parm[39] = 1 , then the&amp;nbsp; matrix will be distributed across the nodes. However, I am confused on how to set iparm[40] and iparm[41] ( the beginning and end of the input domain ). Here's what I tried doing in the code block below, but my phase 11 and factorization time doubled and the solution vector was wrong.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="sub_section_element_selectors" style="font-size: 13.3333px; font-family: 'Intel Clear', Verdana, Arial, sans-serif;"&gt;My reason for wanting to try &lt;/SPAN&gt;iparm[1] = 10 ( The MPI version of the nested dissection and symbolic factorization algorithms.&amp;nbsp; ) is because my phase 11 is taking too long. It takes longer than my factorization times ( phase 22 ). So I am looking to try anything that can reduce phase 11 times. I already tried setting iparm[1] = 3 to use the the parallel version of the nested dissection algorithm. I got some speedup of phase 11 of around 10-20%.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;MKL_INT n = 1219161;
MKL_INT ndim = 46687911;

iparm[40] = 1;
int upper_bound = (n+1)/2;
printf ( "upper bound is %i", upper_bound );
iparm[41] = upper_bound;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Nov 2021 00:16:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1327827#M32271</guid>
      <dc:creator>segmentation_fault</dc:creator>
      <dc:date>2021-11-07T00:16:48Z</dc:date>
    </item>
    <item>
      <title>Re:How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1328386#M32285</link>
      <description>&lt;P&gt;iparm[40] and iparm[41&lt;/P&gt;&lt;P&gt;wrt to iparm[40] and iparm[41] ( when iparm[39]==2):&amp;nbsp;&lt;/P&gt;&lt;P&gt;might be looking at the&amp;nbsp;$MKLROOT\example\cluster_sparse_solversc\&amp;nbsp;&lt;/P&gt;&lt;P&gt;cl_solver_unsym_distr_c.c&amp;nbsp;will help to see how to properly distribute the inputs across nodes.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regarding the performance of the reordering stage:&lt;/P&gt;&lt;P&gt;in this case, if the inputs size feet with your one node RAM size, that the SMP version of&amp;nbsp;&lt;/P&gt;&lt;P&gt;reordering will always be faster compared with MPI (iparm[1]==10) mode,&lt;/P&gt;&lt;P&gt;otherwise, it looks like a real problem which we could investigate.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 09 Nov 2021 08:19:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1328386#M32285</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-11-09T08:19:39Z</dc:date>
    </item>
    <item>
      <title>Re: Re:How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1328554#M32287</link>
      <description>&lt;P&gt;Thanks. I guess I was under the impression the distributed reordering&amp;nbsp; (iparm[1]=10) would be faster than the SMP version&amp;nbsp; (iparm[1]=3) . Since it is not, I will pass on it.&amp;nbsp; Perhaps it's a throwback to the days when machines had limited RAM..&lt;/P&gt;</description>
      <pubDate>Tue, 09 Nov 2021 22:32:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1328554#M32287</guid>
      <dc:creator>segmentation_fault</dc:creator>
      <dc:date>2021-11-09T22:32:27Z</dc:date>
    </item>
    <item>
      <title>Re: Re:How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1328566#M32288</link>
      <description>&lt;P&gt;In fact,&lt;/P&gt;
&lt;P&gt;I slightly disagree with the statement about distributed reordering vs SMP version. These versions are implemented in quite different ways so I would not be confidently say that SMP version is always faster. In fact, I would suggest checking performance for both of them, if reordering performance is important.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, off the top of my head, I don't think that distributed reordering should require iparm[39] != 0. Are you sure it doesn't work with iparm[39] = 0?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;BR /&gt;Kirill&lt;/P&gt;</description>
      <pubDate>Tue, 09 Nov 2021 22:48:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1328566#M32288</guid>
      <dc:creator>Kirill_V_Intel</dc:creator>
      <dc:date>2021-11-09T22:48:23Z</dc:date>
    </item>
    <item>
      <title>Re:How to use MPI version of the reordering algorithm  ( phase 11 of cluster_sparse_solver )?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1338458#M32331</link>
      <description>&lt;P&gt;This issue has been resolved and we will no longer respond to this thread.&amp;nbsp;If you require additional assistance from Intel, please start a new thread.&amp;nbsp;Any further interaction in this thread will be considered community only.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 23 Nov 2021 03:32:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-MPI-version-of-the-reordering-algorithm-phase-11-of/m-p/1338458#M32331</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-11-23T03:32:00Z</dc:date>
    </item>
  </channel>
</rss>

