<?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 What is the problem size? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Solver-settings-in-pardiso/m-p/927121#M13452</link>
    <description>&lt;P&gt;What is the problem size?&lt;/P&gt;</description>
    <pubDate>Thu, 31 Jan 2013 03:47:19 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2013-01-31T03:47:19Z</dc:date>
    <item>
      <title>Solver settings in pardiso?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Solver-settings-in-pardiso/m-p/927120#M13451</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;My program have two solvers, solver A is based on Bi-CGSTAB acceleration that was developed by someone else before,&amp;nbsp; and another one (solver B) is pardiso. I found for Pardiso works fine as solver A for most of the time, but it run much slower than solver A if I use 1 or two threads.&lt;/P&gt;
&lt;P&gt;The following settings is used in solver A:&lt;/P&gt;
&lt;P&gt;maximum number of solver iterations: &amp;nbsp; 100&lt;/P&gt;
&lt;P&gt;solver residual tolerance: 1.0E-7&lt;/P&gt;
&lt;P&gt;solver update tolerance: 1.0E-7.&lt;/P&gt;
&lt;P&gt;I try to use this settings in pardiso as follows:&lt;/P&gt;
&lt;P&gt;iparm(8) = 100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !numbers of iterative refinement steps&lt;/P&gt;
&lt;P&gt;iparm(10) = 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !perturbe the pivot elements with 1E-7&lt;/P&gt;
&lt;P&gt;Is this correct? And how to set the residual tolerance?&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;
&lt;P&gt;PS: other parameters&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm= 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(1) = 1 ! no solver default&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(2) = 3 ! fill-in reordering from METIS ,0-MIN DEGREE, 2-METIS, 3-OPENMP VERSION&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(3) = 0 ! numbers of processors. Input the next call mkl_set_dynamic(0), mkl_set_num_threads(n);&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(4) = 0 ! 0-no iterative-direct algorithm; 10*L+1 - CGS; 10*L+2 - CG; 10^-L is the tolerance.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(5) = 0 ! no user fill-in reducing permutation&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(6) = 0 ! if == 0, the array of b is replaced with the solution x.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(7) = 0 ! not in use&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(9) = 0 ! not in use&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(11) = 1 ! use nonsymmetric permutation and scaling MPS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(12) = 0 ! not in use&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(13) = 1 ! maximum weighted matching algorithm is switched-on (default for non-symmetric)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(14) = 0 ! Output: number of perturbed pivots&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(15) = 0 ! not in use&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(16) = 0 ! not in use&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(17) = 0 ! not in use&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(18) = -1 ! Output: number of nonzeros in the factor LU&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(19) = -1 ! Output: Mflops for LU factorization&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(20) = 0&amp;nbsp; ! Output: Numbers of CG Iterations&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(27) = 0&amp;nbsp;&amp;nbsp; !check matrix error, 0-without check, 1-check&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxfct = 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mnum = 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nrhs = 1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error = 0 ! initialize error flag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msglvl = 0 ! print statistical information&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtype = 11 ! real unsymmetric&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Wed, 30 Jan 2013 00:27:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Solver-settings-in-pardiso/m-p/927120#M13451</guid>
      <dc:creator>danielsue</dc:creator>
      <dc:date>2013-01-30T00:27:37Z</dc:date>
    </item>
    <item>
      <title>What is the problem size?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Solver-settings-in-pardiso/m-p/927121#M13452</link>
      <description>&lt;P&gt;What is the problem size?&lt;/P&gt;</description>
      <pubDate>Thu, 31 Jan 2013 03:47:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Solver-settings-in-pardiso/m-p/927121#M13452</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2013-01-31T03:47:19Z</dc:date>
    </item>
    <item>
      <title>Dainiel,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Solver-settings-in-pardiso/m-p/927122#M13453</link>
      <description>&lt;P&gt;Dainiel,&lt;/P&gt;
&lt;P&gt;Would you please let us know how big the sparse system you're solving is?&lt;/P&gt;
&lt;P&gt;Bi-CGSTAB is an iterative method, while PARDISO is a direct sparse solver. An iterative solver could be faster than a direct solver sometimes, especially when there is a good understanding of the initial conditions and/or a good preconditioner. Please share more details about your problem and your Bi-CGSTAB solver such that we can provide more meaningful answer.&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 31 Jan 2013 20:03:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Solver-settings-in-pardiso/m-p/927122#M13453</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-01-31T20:03:27Z</dc:date>
    </item>
  </channel>
</rss>

