<?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 it should be iparm[30]=1 on in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067820#M22027</link>
    <description>&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;it should be&amp;nbsp;iparm[30]=1 on the tittle, I was not able to change it.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.008px; line-height: 19.512px;"&gt;My output is&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;!--StartFragment--&gt;&lt;SPAN style=" color:#000000;"&gt;iparm30 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;SPAN style=" color:#000000;"&gt;x[0] = 0.312500, 0.000000, 0.000000, 0.312500&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;SPAN style=" color:#000000;"&gt;x[1] = -0.062500, 0.000000, -0.062500, -0.062500&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;SPAN style=" color:#000000;"&gt;x[2] = 0.000000, -0.187500, 0.000000, 0.000000&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;SPAN style=" color:#000000;"&gt;x[3] = 0.343750, 0.531250, 0.343750, 0.343750&lt;/SPAN&gt;&lt;!--EndFragment--&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;running under Linux Mint 18 64bit version (parallel_studio_xe_2016_composer_edition_for_cpp_update1 is the name of the installer package downloaded from intel). I linked the program with option&amp;nbsp;-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5&lt;/P&gt;

&lt;PRE style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;!--EndFragment--&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 21 Jul 2016 04:18:00 GMT</pubDate>
    <dc:creator>Xiaofeng_W_</dc:creator>
    <dc:date>2016-07-21T04:18:00Z</dc:date>
    <item>
      <title>Pardiso 11.3 does not work for iparm[30]=2 for partial solve</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067818#M22025</link>
      <description>&lt;P&gt;I recently tested the partial solve option with iparm[30]=1. I found setting only one element of perm to be 1 works, but when I set more than one element of perm of be 1 does not work. I also tried to link the same code with the pardiso from&amp;nbsp;http://www.pardiso-project.org/, it works properly. Here the my test code of a small 4x4 matrix.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;math.h&amp;gt;
#include &amp;lt;mkl.h&amp;gt;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;

const MKL_INT size = 4;
MKL_INT n = size;
MKL_INT ia[5] = {1, 3, 5, 6, 7};
MKL_INT ja[6] = {1, 2, 2, 4, 3, 4};
double a[6] = {1, 5, 42, 6, 3, 4};
double rhs[size] = {0, 1, 0, 1};
MKL_INT perm[size] = {0, 1, 0, 1};
MKL_INT mtype = 2;  // positive definite
MKL_INT nrhs = 1;   /* Number of right hand sides. */
MKL_INT maxfct = 1; /* Maximum number of numerical factorizations. */
MKL_INT mnum = 1;   /* Which factorization to use. */
MKL_INT msglvl = 2; // verbose &amp;gt;= 1 ? verbose - 1
MKL_INT error = 0;  /* Initialize error flag */
MKL_INT iparm[64];
void *pt[64];

void Solve(const int iparm_30, double *x) {
  iparm[30] = iparm_30;
  MKL_INT phase = 11;
  PARDISO(pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase, &amp;amp;n, &amp;amp;a[0], &amp;amp;ia[0], &amp;amp;ja[0],
          &amp;amp;perm[0], &amp;amp;nrhs, &amp;amp;iparm[0], &amp;amp;msglvl, NULL, NULL, &amp;amp;error);
  phase = 22;
  PARDISO(pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase, &amp;amp;n, &amp;amp;a[0], &amp;amp;ia[0], &amp;amp;ja[0],
          &amp;amp;perm[0], &amp;amp;nrhs, iparm, &amp;amp;msglvl, NULL, NULL, &amp;amp;error);
  phase = 33;
  PARDISO(pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase, &amp;amp;n, &amp;amp;a[0], &amp;amp;ia[0], &amp;amp;ja[0],
          &amp;amp;perm[0], &amp;amp;nrhs, iparm, &amp;amp;msglvl, &amp;amp;rhs[0], &amp;amp;x[0], &amp;amp;error);
  phase = -1;
  PARDISO(pt, &amp;amp;maxfct, &amp;amp;mnum, &amp;amp;mtype, &amp;amp;phase, &amp;amp;n, &amp;amp;a[0], &amp;amp;ia[0], &amp;amp;ja[0],
          &amp;amp;perm[0], &amp;amp;nrhs, iparm, &amp;amp;msglvl, NULL, NULL, &amp;amp;error);

}

MKL_INT main(void) {
  double x[4][size];
  memset(&amp;amp;x[0][0], 0, sizeof(double) * 4 * size);

  for (int i = 0; i &amp;lt; 64; i++)
    pt&lt;I&gt; = nullptr;

  for (int i = 0; i &amp;lt; 64; i++)
    iparm&lt;I&gt; = 0;

  iparm[0] = 1;  // No solver default
  iparm[1] = 2;  // 0=minimum degree ordering, 2=Fill-in reordering from METIS
  iparm[2] = 1;  // Numbers of processors, value of OMP_NUM_THREADS
  iparm[3] = 0;  // 62; // No iterative-direct algorithm
  iparm[4] = 0;  // No user fill-in reducing permutation
  iparm[5] = 0;  // Write solution into x
  iparm[6] = 0;  // Not in use
  iparm[7] = 0;  // Max numbers of iterative refinement steps
  iparm[8] = 0;  // Not in use
  iparm[9] = 8;  // 13; // Perturb the pivot elements with 1E-13
  iparm[10] = 0; // 1; // Use nonsymmetric permutation and scaling MPS
  iparm[11] = 0; // Not in use
  iparm[12] = 0; // matchings for highly indefinite symmetric matrices
  iparm[13] = 0; // Output: Number of perturbed pivots
  iparm[14] = 0; // Not in use
  iparm[15] = 0; // Not in use
  iparm[16] = 0; // Not in use
  iparm[17] = 1; // Output: Number of nonzeros in the factor LU
  iparm[18] = 0; // no Output: Mflops for LU factorization
  iparm[19] = 0; // Output: Numbers of CG Iterations
  iparm[20] = 1; // pivoting method


  for (int iparm_30 = 0; iparm_30 &amp;lt;= 3; ++iparm_30) {
    Solve(iparm_30, &amp;amp;x[iparm_30][0]);
  }


  printf("iparm30 %9d %10d %10d %10d\n", 0, 1, 2, 3);
  for (int i = 0; i &amp;lt; size; ++i) {
    printf("x[%d] = %10lf,  %10lf,  %10lf,  %10lf\n", i,  x[0]&lt;I&gt;, x[1]&lt;I&gt;, x[2]&lt;I&gt;, x[3]&lt;I&gt;);
  }
}
&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2016 02:24:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067818#M22025</guid>
      <dc:creator>Xiaofeng_W_</dc:creator>
      <dc:date>2016-07-21T02:24:33Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067819#M22026</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Could you confirm that you same output?&lt;/P&gt;

&lt;P&gt;iparm30 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;BR /&gt;
	x[0] = &amp;nbsp; 0.312500, &amp;nbsp; &amp;nbsp;0.000000, &amp;nbsp; &amp;nbsp;0.000000, &amp;nbsp; &amp;nbsp;0.312500&lt;BR /&gt;
	x[1] = &amp;nbsp;-0.062500, &amp;nbsp; -0.062500, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-inf, &amp;nbsp; &amp;nbsp; &amp;nbsp; -0.062500&lt;BR /&gt;
	x[2] = &amp;nbsp; 0.000000, &amp;nbsp; -0.062500, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-nan, &amp;nbsp; &amp;nbsp; &amp;nbsp;0.000000&lt;BR /&gt;
	x[3] = &amp;nbsp; 0.343750, &amp;nbsp; &amp;nbsp;0.343750, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; inf, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.343750&lt;/P&gt;

&lt;P&gt;Look's like the problem in iparm[30]=2&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alex&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2016 04:14:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067819#M22026</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2016-07-21T04:14:45Z</dc:date>
    </item>
    <item>
      <title>it should be iparm[30]=1 on</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067820#M22027</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;it should be&amp;nbsp;iparm[30]=1 on the tittle, I was not able to change it.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.008px; line-height: 19.512px;"&gt;My output is&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;!--StartFragment--&gt;&lt;SPAN style=" color:#000000;"&gt;iparm30 &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;SPAN style=" color:#000000;"&gt;x[0] = 0.312500, 0.000000, 0.000000, 0.312500&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;SPAN style=" color:#000000;"&gt;x[1] = -0.062500, 0.000000, -0.062500, -0.062500&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;SPAN style=" color:#000000;"&gt;x[2] = 0.000000, -0.187500, 0.000000, 0.000000&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&lt;SPAN style=" color:#000000;"&gt;x[3] = 0.343750, 0.531250, 0.343750, 0.343750&lt;/SPAN&gt;&lt;!--EndFragment--&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px;"&gt;running under Linux Mint 18 64bit version (parallel_studio_xe_2016_composer_edition_for_cpp_update1 is the name of the installer package downloaded from intel). I linked the program with option&amp;nbsp;-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5&lt;/P&gt;

&lt;PRE style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;!--EndFragment--&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 21 Jul 2016 04:18:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067820#M22027</guid>
      <dc:creator>Xiaofeng_W_</dc:creator>
      <dc:date>2016-07-21T04:18:00Z</dc:date>
    </item>
    <item>
      <title>the issue is escalated and</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067821#M22028</link>
      <description>&lt;P&gt;the issue is escalated and you will be inform then the fix will be available into a official build of MKL.&lt;/P&gt;</description>
      <pubDate>Sun, 24 Jul 2016 06:51:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067821#M22028</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2016-07-24T06:51:22Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067822#M22029</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;We found the issue in code that provided incorrect result. Based on Intel MKL documentation:&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;EM&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px; line-height: 18.2px; background-color: rgb(242, 242, 242);"&gt;The permutation vector&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="parmname" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-style: italic; color: rgb(102, 102, 102); font-size: 13px; line-height: 18.2px; background-color: rgb(242, 242, 242);"&gt;perm&lt;/SPAN&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px; line-height: 18.2px; background-color: rgb(242, 242, 242);"&gt;&amp;nbsp;must be present in all phases of Intel MKL PARDISO software. At the reordering step, the software overwrites the input vector&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="parmname" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-style: italic; color: rgb(102, 102, 102); font-size: 13px; line-height: 18.2px; background-color: rgb(242, 242, 242);"&gt;perm&lt;/SPAN&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px; line-height: 18.2px; background-color: rgb(242, 242, 242);"&gt;&amp;nbsp;by a permutation vector used by the software at the factorization and solver step.&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;&lt;FONT color="#666666" face="Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;SPAN style="font-size: 13px; line-height: 18.2px; background-color: rgb(242, 242, 242);"&gt;The perm array changes after first call of pardiso so it's better to initialize it's before each new pardiso loop. If you reorginize code in such manner results will provide correctly.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#666666" face="Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;SPAN style="font-size: 13px; line-height: 18.2px; background-color: rgb(242, 242, 242);"&gt;Thanks,&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#666666" face="Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;SPAN style="font-size: 13px; line-height: 18.2px; background-color: rgb(242, 242, 242);"&gt;Alex&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Jul 2016 05:16:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Pardiso-11-3-does-not-work-for-iparm-30-2-for-partial-solve/m-p/1067822#M22029</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2016-07-29T05:16:01Z</dc:date>
    </item>
  </channel>
</rss>

