<?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 Possible MKL Pardiso bug in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-MKL-Pardiso-bug/m-p/803129#M3226</link>
    <description>&lt;META http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /&gt;
	&lt;TITLE&gt;&lt;/TITLE&gt;
	&lt;META name="GENERATOR" content="OpenOffice.org 3.2  (Unix)" /&gt;
	&lt;STYLE type="text/css"&gt;&amp;lt;!--
		@page { margin: 0.79in }
		P { margin-bottom: 0.08in }
--&amp;gt;&lt;/STYLE&gt;

&lt;P&gt;In our application we are using the
Pardiso solver inside of a nonlinear solver that uses  a Newton
solver. The primary computation involves repeated factorizations of
the Jacobian matrix and repeated solves using the factored matrix.
Additionally, the application solves a series of these problems, each
one independent of the other. The dimensions of these Jacobians are
modest  well under 100k  but the benefit of the Pardiso speedup
is substantial and increase as the problem size increases.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;However, we have observed some failures
in the solution process that are random in nature. Occasionally the
errors do not occur at all. The result of the failure is that the
Newton solver halts with failure messages that point to the
factorization. A clue to the problem is to note that whenever these
failure occur there is a spike in the memory use reported in the
iparms array. Three numbers are reported, iparms[15], 16 and 17. It
is the last number that spikes. For example, from a recent run that
failed..&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329157  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237 381 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso fbsolve BDS
Jacobian: icalls=570727  n= 1372 RHS  memuse= 682 237 381 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso fbsolve BDS
Jacobian: icalls=570728  n= 1372 RHS  memuse= 682 237 381 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329159 Circalls=1170 n= 1372 LUnz= 33900 Mflops= 1 memused =
682 237 645 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso fbsolve BDS
Jacobian: icalls=570730  n= 1372 RHS  memuse= 682 237 645 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso fbsolve BDS
Jacobian: icalls=570731  n= 1372 RHS  memuse= 682 237 645 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329163 n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329164  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329165  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329166  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329167  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: x-small;"&gt;I&lt;SPAN style="font-size: small;"&gt;n this case
the run almost finished, typically the error occurs much sooner.
Icalls is the number of times the factor or solve routine has been
called, yes that is 329,167 calls and 570,731 solves..&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;The memuse numbers are
Kbytes and this problem has only 1372 equations and 33,900 nonzeros
in the factor. The input matrices are good and the structure is
always the same. So the question is, why does the memory use spike to
15926505?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;This exact problem can be
solver repetitively with a dense solver with no errors leading us to
suspect that there is some issue inside Pardiso..&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;In this application the
Pardiso solver starts over many times. That is, the Jacobian
structure is always the same but independent problems are solved at
several hundred time steps.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 17 Jun 2011 19:39:44 GMT</pubDate>
    <dc:creator>xian-zhong_guous_cd-</dc:creator>
    <dc:date>2011-06-17T19:39:44Z</dc:date>
    <item>
      <title>Possible MKL Pardiso bug</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-MKL-Pardiso-bug/m-p/803129#M3226</link>
      <description>&lt;META http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /&gt;
	&lt;TITLE&gt;&lt;/TITLE&gt;
	&lt;META name="GENERATOR" content="OpenOffice.org 3.2  (Unix)" /&gt;
	&lt;STYLE type="text/css"&gt;&amp;lt;!--
		@page { margin: 0.79in }
		P { margin-bottom: 0.08in }
--&amp;gt;&lt;/STYLE&gt;

&lt;P&gt;In our application we are using the
Pardiso solver inside of a nonlinear solver that uses  a Newton
solver. The primary computation involves repeated factorizations of
the Jacobian matrix and repeated solves using the factored matrix.
Additionally, the application solves a series of these problems, each
one independent of the other. The dimensions of these Jacobians are
modest  well under 100k  but the benefit of the Pardiso speedup
is substantial and increase as the problem size increases.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;However, we have observed some failures
in the solution process that are random in nature. Occasionally the
errors do not occur at all. The result of the failure is that the
Newton solver halts with failure messages that point to the
factorization. A clue to the problem is to note that whenever these
failure occur there is a spike in the memory use reported in the
iparms array. Three numbers are reported, iparms[15], 16 and 17. It
is the last number that spikes. For example, from a recent run that
failed..&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329157  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237 381 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso fbsolve BDS
Jacobian: icalls=570727  n= 1372 RHS  memuse= 682 237 381 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso fbsolve BDS
Jacobian: icalls=570728  n= 1372 RHS  memuse= 682 237 381 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329159 Circalls=1170 n= 1372 LUnz= 33900 Mflops= 1 memused =
682 237 645 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso fbsolve BDS
Jacobian: icalls=570730  n= 1372 RHS  memuse= 682 237 645 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso fbsolve BDS
Jacobian: icalls=570731  n= 1372 RHS  memuse= 682 237 645 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329163 n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329164  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329165  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329166  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt; &lt;SPAN style="font-size: x-small;"&gt;Pardiso Factor Jacobian:
icalls=329167  n= 1372 LUnz= 33900 Mflops= 1 memused = 682 237
15926505 &lt;/SPAN&gt;
&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: x-small;"&gt;I&lt;SPAN style="font-size: small;"&gt;n this case
the run almost finished, typically the error occurs much sooner.
Icalls is the number of times the factor or solve routine has been
called, yes that is 329,167 calls and 570,731 solves..&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;The memuse numbers are
Kbytes and this problem has only 1372 equations and 33,900 nonzeros
in the factor. The input matrices are good and the structure is
always the same. So the question is, why does the memory use spike to
15926505?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;This exact problem can be
solver repetitively with a dense solver with no errors leading us to
suspect that there is some issue inside Pardiso..&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;In this application the
Pardiso solver starts over many times. That is, the Jacobian
structure is always the same but independent problems are solved at
several hundred time steps.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jun 2011 19:39:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-MKL-Pardiso-bug/m-p/803129#M3226</guid>
      <dc:creator>xian-zhong_guous_cd-</dc:creator>
      <dc:date>2011-06-17T19:39:44Z</dc:date>
    </item>
    <item>
      <title>Possible MKL Pardiso bug</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-MKL-Pardiso-bug/m-p/803130#M3227</link>
      <description>&lt;P&gt;Could you provide us with iparm() array (both before and after reordering step) and output statistic (msglvl=1) after reordering, factorization and solving steps? It would be useful to reproduce your problem. &lt;/P&gt;&lt;P&gt;And what version of MKL do you use? &lt;/P&gt;</description>
      <pubDate>Wed, 22 Jun 2011 06:25:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Possible-MKL-Pardiso-bug/m-p/803130#M3227</guid>
      <dc:creator>Sergey_Solovev__Inte</dc:creator>
      <dc:date>2011-06-22T06:25:33Z</dc:date>
    </item>
  </channel>
</rss>

