<?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 Strange bus error in Pardiso in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Strange-bus-error-in-Pardiso/m-p/1156465#M27619</link>
    <description>&lt;P&gt;Hi, all !&lt;/P&gt;&lt;P&gt;I just met a strange bus error while using Pardiso. The following is the detailed information.&lt;/P&gt;&lt;P&gt;First, the purpose of my code:&amp;nbsp;As I study finite element method (FEM), I would like to use Pardiso to solve my equations. Since the right hand side changes at each time step but the matrix keeps the same, I want to factorize the matrix once and reuse it for many times. I wrote three subroutines, each of which contains different stages of Pardiso (1. Reordering&amp;amp;factorization; 2. back substitution; 3. release of memory), and linked them with the pointer array pt.&lt;/P&gt;&lt;P&gt;Second, the problem: I put the three subroutines (solver_pardiso_factor/bsubst/termin) in the module (Solver.f90) and call them in the main program (solvercheck.f90). Everything is ok unless the last step of the memory release. The second call of&amp;nbsp;solver_pardiso_termin of matrix 2 returns the bus error.&lt;/P&gt;&lt;P&gt;Third, what's strange: If I put&amp;nbsp;solver_pardiso_termin at the beginning of the module, followed by&amp;nbsp;solver_pardiso_factor and&amp;nbsp;solver_pardiso_bsubst , the code runs in a good condition.&lt;/P&gt;&lt;P&gt;I'm confused about the problem. If anyone can help me, I would be very rateful.&amp;nbsp;&lt;/P&gt;&lt;P&gt;My platform is CentOS 6.9, the version of the ifort is 13.1.1, the version of MKL is 11.0.5. Attached is my code.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 12 Nov 2018 08:00:52 GMT</pubDate>
    <dc:creator>Xudong_L_</dc:creator>
    <dc:date>2018-11-12T08:00:52Z</dc:date>
    <item>
      <title>Strange bus error in Pardiso</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Strange-bus-error-in-Pardiso/m-p/1156465#M27619</link>
      <description>&lt;P&gt;Hi, all !&lt;/P&gt;&lt;P&gt;I just met a strange bus error while using Pardiso. The following is the detailed information.&lt;/P&gt;&lt;P&gt;First, the purpose of my code:&amp;nbsp;As I study finite element method (FEM), I would like to use Pardiso to solve my equations. Since the right hand side changes at each time step but the matrix keeps the same, I want to factorize the matrix once and reuse it for many times. I wrote three subroutines, each of which contains different stages of Pardiso (1. Reordering&amp;amp;factorization; 2. back substitution; 3. release of memory), and linked them with the pointer array pt.&lt;/P&gt;&lt;P&gt;Second, the problem: I put the three subroutines (solver_pardiso_factor/bsubst/termin) in the module (Solver.f90) and call them in the main program (solvercheck.f90). Everything is ok unless the last step of the memory release. The second call of&amp;nbsp;solver_pardiso_termin of matrix 2 returns the bus error.&lt;/P&gt;&lt;P&gt;Third, what's strange: If I put&amp;nbsp;solver_pardiso_termin at the beginning of the module, followed by&amp;nbsp;solver_pardiso_factor and&amp;nbsp;solver_pardiso_bsubst , the code runs in a good condition.&lt;/P&gt;&lt;P&gt;I'm confused about the problem. If anyone can help me, I would be very rateful.&amp;nbsp;&lt;/P&gt;&lt;P&gt;My platform is CentOS 6.9, the version of the ifort is 13.1.1, the version of MKL is 11.0.5. Attached is my code.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Nov 2018 08:00:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Strange-bus-error-in-Pardiso/m-p/1156465#M27619</guid>
      <dc:creator>Xudong_L_</dc:creator>
      <dc:date>2018-11-12T08:00:52Z</dc:date>
    </item>
    <item>
      <title>If your a.out is 64-bit, you</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Strange-bus-error-in-Pardiso/m-p/1156466#M27620</link>
      <description>&lt;P&gt;If your a.out is 64-bit, you should declare the pt, pt_1 and pt1_2 array variables as INTEGER*8. Even for 32-bit, you can play it safe and use INTEGER*8 for just those arrays. The compiler would have caught this error in your code if you had declared the type of these arrays as MKL_PARDISO_HANDLE (and had provided an include file or module file with a definition of that type, see the MKL documentation).&lt;/P&gt;</description>
      <pubDate>Mon, 12 Nov 2018 11:00:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Strange-bus-error-in-Pardiso/m-p/1156466#M27620</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2018-11-12T11:00:00Z</dc:date>
    </item>
    <item>
      <title>Quote:mecej4 wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Strange-bus-error-in-Pardiso/m-p/1156467#M27621</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;mecej4 wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If your a.out is 64-bit, you should declare the pt, pt_1 and pt1_2 as INTEGER*8. Even for 32-bit, you can play it safe and use INTEGER*8 for just those arrays.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It really works! Thanks a lot :).&lt;/P&gt;</description>
      <pubDate>Mon, 12 Nov 2018 11:04:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Strange-bus-error-in-Pardiso/m-p/1156467#M27621</guid>
      <dc:creator>Xudong_L_</dc:creator>
      <dc:date>2018-11-12T11:04:05Z</dc:date>
    </item>
  </channel>
</rss>

