<?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 PARDISO gives wrong answers when given too many rhs's in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-gives-wrong-answers-when-given-too-many-rhs-s/m-p/1047148#M21025</link>
    <description>&lt;P&gt;&lt;SPAN lang=""&gt;When I call PARDISO with too many rhs's I get wrong answers.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;I first call PARDISO for phase 11 and phase 22. I keep the factored matrix in memory, and, subsequently leave the subroutine that calls PARDISO.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;I later call PARDISO to perform only phase 33. I send in a fully populated, "stacked" rhs vector (i.e. total number of entries is neq*nrhs). &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Here's what I've found:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Case 1: When I call PARDISO for phase 33 only and all 9,850 rhs's, the PARDISO returns completely wrong answers. Many NaN's and all other completely wrong vales. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Also, after the call to PARDISO, I cannot successfully deallocate some arrays (these arrays are totally unrelated to the matrices used by PARDISO). The message is &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;"Invalid pointers" I suspect that PARDISO has overwritten some of the pointers (and/or values in these arrays that I cannot deallocate. Perhaps a memory leak????&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Case 2: When I call PARDISO for phase 33 only, sending in 3,000 rhs's at time (i.e I call PARDISO 4 times (1st 3000, 2nd 3000, 3rd 3000, 4th 3000, and, then the remaining 850 rhs) I get wrong answers,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;BUT, the answers are almost reasonable. There are no NaN's and without knowing I might guesss the answers are correct. In the Case 2, the deallocation problem, mentioned in case 1, does NOT occur.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Case 3: When I call PARDISO for phase 33 only, sending in 100 rhs's at a time (i.e. I call PARDISO 99 times) I get the correct answers for everything, and, there are no problems.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;===============&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;What is causing this problem? I am concerned that other models (let's say I've got 500,000 equations) may provide wrong answers, and, I won't know it (i.e. I have no way &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;of knowing the largest number of rhs's that I can send into PARDISO in a single chunk, for a general model.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;==============&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;I know that I'm not running out of central memory, and, I know that I'm not running out of swap space. Do I have a number of threads problem??&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;=====================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;MKL: Version 10.3 Update 4&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Operating System: Red Hat Enterprise Linux AS release 4 (Nahant Update 8)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Environment Variables set:&lt;BR /&gt;MKL_NUM_THREADS = 32&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Computer has 32 processors&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Computer has 198 Gb of memory&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Computer has 68 Gb of available swap space&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;==================================================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;I am using solution PARDISO mtype=6 (i.e. double precision complex, symmetric, in-core only)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Number of equations is 183,180&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Needed number of rhs's = 9,850&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;==================================================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Any help would be GREATLY appreciated.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Thanks, Bob&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 23 Jun 2014 20:10:48 GMT</pubDate>
    <dc:creator>stiner</dc:creator>
    <dc:date>2014-06-23T20:10:48Z</dc:date>
    <item>
      <title>PARDISO gives wrong answers when given too many rhs's</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-gives-wrong-answers-when-given-too-many-rhs-s/m-p/1047148#M21025</link>
      <description>&lt;P&gt;&lt;SPAN lang=""&gt;When I call PARDISO with too many rhs's I get wrong answers.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;I first call PARDISO for phase 11 and phase 22. I keep the factored matrix in memory, and, subsequently leave the subroutine that calls PARDISO.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;I later call PARDISO to perform only phase 33. I send in a fully populated, "stacked" rhs vector (i.e. total number of entries is neq*nrhs). &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Here's what I've found:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Case 1: When I call PARDISO for phase 33 only and all 9,850 rhs's, the PARDISO returns completely wrong answers. Many NaN's and all other completely wrong vales. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Also, after the call to PARDISO, I cannot successfully deallocate some arrays (these arrays are totally unrelated to the matrices used by PARDISO). The message is &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;"Invalid pointers" I suspect that PARDISO has overwritten some of the pointers (and/or values in these arrays that I cannot deallocate. Perhaps a memory leak????&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Case 2: When I call PARDISO for phase 33 only, sending in 3,000 rhs's at time (i.e I call PARDISO 4 times (1st 3000, 2nd 3000, 3rd 3000, 4th 3000, and, then the remaining 850 rhs) I get wrong answers,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;BUT, the answers are almost reasonable. There are no NaN's and without knowing I might guesss the answers are correct. In the Case 2, the deallocation problem, mentioned in case 1, does NOT occur.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Case 3: When I call PARDISO for phase 33 only, sending in 100 rhs's at a time (i.e. I call PARDISO 99 times) I get the correct answers for everything, and, there are no problems.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;===============&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;What is causing this problem? I am concerned that other models (let's say I've got 500,000 equations) may provide wrong answers, and, I won't know it (i.e. I have no way &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;of knowing the largest number of rhs's that I can send into PARDISO in a single chunk, for a general model.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;==============&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;I know that I'm not running out of central memory, and, I know that I'm not running out of swap space. Do I have a number of threads problem??&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;=====================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;MKL: Version 10.3 Update 4&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Operating System: Red Hat Enterprise Linux AS release 4 (Nahant Update 8)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Environment Variables set:&lt;BR /&gt;MKL_NUM_THREADS = 32&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Computer has 32 processors&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Computer has 198 Gb of memory&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Computer has 68 Gb of available swap space&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;==================================================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;I am using solution PARDISO mtype=6 (i.e. double precision complex, symmetric, in-core only)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Number of equations is 183,180&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Needed number of rhs's = 9,850&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;==================================================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Any help would be GREATLY appreciated.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=""&gt;Thanks, Bob&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jun 2014 20:10:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-gives-wrong-answers-when-given-too-many-rhs-s/m-p/1047148#M21025</guid>
      <dc:creator>stiner</dc:creator>
      <dc:date>2014-06-23T20:10:48Z</dc:date>
    </item>
    <item>
      <title>Bob,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-gives-wrong-answers-when-given-too-many-rhs-s/m-p/1047149#M21026</link>
      <description>&lt;P&gt;Bob,&lt;/P&gt;

&lt;P&gt;would you please give us the separate test for reproducing this issue?&lt;/P&gt;

&lt;P&gt;Gennady&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jun 2014 05:08:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-gives-wrong-answers-when-given-too-many-rhs-s/m-p/1047149#M21026</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2014-06-24T05:08:08Z</dc:date>
    </item>
    <item>
      <title>Gennady,I cannot create a</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-gives-wrong-answers-when-given-too-many-rhs-s/m-p/1047150#M21027</link>
      <description>&lt;P&gt;Gennady,&lt;/P&gt;
&lt;P&gt;I cannot create a separate test code.&amp;nbsp;&amp;nbsp; However, I belive that I know the problem.&amp;nbsp; I believe that PARDISO&amp;nbsp;needs to use&amp;nbsp;64-bit integer indexing for my matrix.&lt;/P&gt;
&lt;P&gt;I'm currently using MKL version 10.3 update 4.&amp;nbsp; I am compiling with:&amp;nbsp; $MKLPATH/libmkl_intel_lp64.a&amp;nbsp; and $MKLPATH/libmkl_solver_lp64.a&amp;nbsp; and have included&amp;nbsp;&amp;nbsp; $MKLINCLUDE/intel64/lp64, and am using -mcmodel=large&lt;/P&gt;
&lt;P&gt;I have printed out the integer value iparm(18) that is returned from PARDISO immediately after phase 11.&amp;nbsp; It is a negative number for my matrix.&amp;nbsp; So, I'm guessing that I have an integer*4 versus integer*8 problem.&amp;nbsp; My question is how can I solve this problem with my current version of MKL.&lt;/P&gt;
&lt;P&gt;I'm GUESSING that all I've got to do is change the $MKLPATH/libmkl_intel_lp64.a to $MKLPATH/libmkl_intel/ilp64.a&amp;nbsp; AND change the integer declarations in my PARDISO calling routine from integer*4 to integer*8.&amp;nbsp;&amp;nbsp;&amp;nbsp; Do you agee?&lt;/P&gt;
&lt;P&gt;Do you think that I also need to change the libmkl_solver_lp64.a to libmkl_solver_ilp64.a&amp;nbsp; and change the $MKLINCLUDE/intel64/lp64 to $MKLINCLUDE/intel64/ilp64&amp;nbsp; ??&lt;/P&gt;
&lt;P&gt;Thanks,&amp;nbsp; Bob&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Jul 2014 13:40:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-gives-wrong-answers-when-given-too-many-rhs-s/m-p/1047150#M21027</guid>
      <dc:creator>stiner</dc:creator>
      <dc:date>2014-07-02T13:40:36Z</dc:date>
    </item>
    <item>
      <title>Bob, </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-gives-wrong-answers-when-given-too-many-rhs-s/m-p/1047151#M21028</link>
      <description>&lt;P&gt;Bob,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;yes, you don't need to link explicitly with libmkl_solver_ilp64.a. it would be enough to link with libmkl_intel_lp64.a lib only. In the case if you will not prepare and give us the example,&amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;I would recommend you to try the latest 11.1 update 3. You can try the evaluation version for 30 days. We have fixed a number of similar issues since 10.3.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;--Gennady&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Jul 2014 13:49:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-gives-wrong-answers-when-given-too-many-rhs-s/m-p/1047151#M21028</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2014-07-02T13:49:54Z</dc:date>
    </item>
  </channel>
</rss>

