<?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: PARDISO- scalability &amp; CGS questions in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-scalability-CGS-questions/m-p/914813#M12471</link>
    <description>Thanks for the confirmation of the automatic restart. That simplifies the code considerably although it doesn't look like the CGS iteration is failing too often ...&lt;BR /&gt;&lt;BR /&gt;Still haven't gotten everything worked out as I want them but my next questions are about the performance. It turns out about 60% of the time spend on my calls to PARDISO involve rearranging the matrix beforehand to the CSR format: the rest of the code is in coordinate format.&lt;BR /&gt;&lt;BR /&gt;At the moment, we are using our own converter but I would like to see if mkl_dcsrcoo() can help speed things along. Unfortunately, it seems like the ja and acsr ouputs are not sorted by column number so it is not suitable for PARDISO use. Is there any way to fix that, short of a post-processing sort ?&lt;BR /&gt;&lt;BR /&gt;Also, the help documentation does not specify if we can re-arrange the matrix in-place. Our existing converter does allow for this and it would be a nice-to-have feature, especially for large matrices. Are we really forced to trade away speed for storage size in this kind of conversion ?&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Michel Lestrade&lt;BR /&gt;Crosslight Software&lt;BR /&gt;</description>
    <pubDate>Mon, 11 Jan 2010 19:23:15 GMT</pubDate>
    <dc:creator>michel_lestrade</dc:creator>
    <dc:date>2010-01-11T19:23:15Z</dc:date>
    <item>
      <title>PARDISO- scalability &amp; CGS questions</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-scalability-CGS-questions/m-p/914811#M12469</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I have 2 sets of questions on PARDISO.&lt;BR /&gt;&lt;BR /&gt;The first is that there is a claim of:&lt;BR /&gt;&lt;BR /&gt;&lt;QUOTE&gt;&lt;BR /&gt;For sufficiently large problem sizes, numerical experiments demonstrate that the scalability of the parallel algorithm is nearly independent of the shared-memory multiprocessing architecture and a speedup of up to seven using eight processors has been observed.&lt;BR /&gt;&lt;/QUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;Is there an example available that we can use to reproduce this ourselves ? Do we need a dual-socket machine to see it (since MKL does not benefit from hyperthreading) ? Is this speedup possible for unsymmetric matrices (mtype=11) or just for symmetric cases ?&lt;BR /&gt;&lt;BR /&gt;The second set of questions regards the use of CGS. I am not sure if we are doing the right thing and a complete example using this method would be appreciated.&lt;BR /&gt;&lt;BR /&gt;At the moment, our application code is set up so phase=11 is called only once. On subsequent calls, we would like to use CGS whenever possible and avoid numeric factorization.&lt;BR /&gt;&lt;BR /&gt;Does that mean that we should call phase=23 with CGS (iparm(4)=61) ? In that case, how should we deal with possible failures of the CGS iteration ? The manual says:&lt;BR /&gt;&lt;BR /&gt;&lt;QUOTE&gt;&lt;BR /&gt;If phase =23, then the factorization&lt;BR /&gt;for a given A is automatically recomputed in these cases&lt;BR /&gt;where the Krylow-Subspace iteration failed, and the&lt;BR /&gt;corresponding direct solution is returned.&lt;BR /&gt;&lt;/QUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;Does that mean that upon failure of the CGS, we have to restart with phase=23 with ipam(4)=0 or does PARDISO do that on its own ? I think it is the latter but some of my colleagues read this passage differently.&lt;BR /&gt;&lt;BR /&gt;If the restart is automatic, is the iterative refinement being done at the end or should we call phase=33 just to be sure ?&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;BR /&gt;&lt;BR /&gt;Michel Lestrade&lt;BR /&gt;Crosslight Software&lt;BR /&gt;</description>
      <pubDate>Tue, 05 Jan 2010 22:09:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-scalability-CGS-questions/m-p/914811#M12469</guid>
      <dc:creator>michel_lestrade</dc:creator>
      <dc:date>2010-01-05T22:09:09Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO- scalability &amp; CGS questions</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-scalability-CGS-questions/m-p/914812#M12470</link>
      <description>&lt;BR /&gt;Hi Michel,&lt;BR /&gt;I will try to answer all your questions.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;Is there an example available that we can use to reproduce this ourselves ?&lt;BR /&gt;There are a lot of publicy available matrices, e.g., here:
&lt;P&gt;&lt;A href="http://www.cise.ufl.edu/research/sparse/matrices/list_by_nnz.html" target="_blank"&gt;http://www.cise.ufl.edu/research/sparse/matrices/list_by_nnz.html&lt;/A&gt;&lt;/P&gt;
Just select some big enough.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;Do we need a dual-socket machine to see it (since MKL does not benefit from hyperthreading)?&lt;BR /&gt;Currently, yes.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;Is this speedup possible for unsymmetric matrices (mtype=11) or just for symmetric cases ?&lt;BR /&gt;For both.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;Does that mean that we should call phase=23 with CGS (iparm(4)=61) ? In that case, how should we deal with possible failures of the CGS iteration ?&lt;BR /&gt;Yes, it is.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;Does that mean that upon failure of the CGS, we have to restart with phase=23 with ipam(4)=0 or does PARDISO do that on its own ?&lt;BR /&gt;PARDISO must provide solution either via CGS or direct method automatically, no needto restart.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;If the restart is automatic, is the iterative refinement being done at the end or should we call phase=33 just to be sure ?&lt;BR /&gt;Additional calls do not needed.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I hope answered your questions!&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Konstantin&lt;BR /&gt;</description>
      <pubDate>Mon, 11 Jan 2010 09:46:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-scalability-CGS-questions/m-p/914812#M12470</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2010-01-11T09:46:55Z</dc:date>
    </item>
    <item>
      <title>Re: PARDISO- scalability &amp; CGS questions</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-scalability-CGS-questions/m-p/914813#M12471</link>
      <description>Thanks for the confirmation of the automatic restart. That simplifies the code considerably although it doesn't look like the CGS iteration is failing too often ...&lt;BR /&gt;&lt;BR /&gt;Still haven't gotten everything worked out as I want them but my next questions are about the performance. It turns out about 60% of the time spend on my calls to PARDISO involve rearranging the matrix beforehand to the CSR format: the rest of the code is in coordinate format.&lt;BR /&gt;&lt;BR /&gt;At the moment, we are using our own converter but I would like to see if mkl_dcsrcoo() can help speed things along. Unfortunately, it seems like the ja and acsr ouputs are not sorted by column number so it is not suitable for PARDISO use. Is there any way to fix that, short of a post-processing sort ?&lt;BR /&gt;&lt;BR /&gt;Also, the help documentation does not specify if we can re-arrange the matrix in-place. Our existing converter does allow for this and it would be a nice-to-have feature, especially for large matrices. Are we really forced to trade away speed for storage size in this kind of conversion ?&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Michel Lestrade&lt;BR /&gt;Crosslight Software&lt;BR /&gt;</description>
      <pubDate>Mon, 11 Jan 2010 19:23:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-scalability-CGS-questions/m-p/914813#M12471</guid>
      <dc:creator>michel_lestrade</dc:creator>
      <dc:date>2010-01-11T19:23:15Z</dc:date>
    </item>
  </channel>
</rss>

