<?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 Re:How to use Intel® MKL OOC PARDISO in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1513196#M34945</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We have not heard back from you. Could you please provide us with an update on your issue?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Varsha&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Fri, 11 Aug 2023 08:26:50 GMT</pubDate>
    <dc:creator>VarshaS_Intel</dc:creator>
    <dc:date>2023-08-11T08:26:50Z</dc:date>
    <item>
      <title>How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1509602#M34894</link>
      <description>&lt;P&gt;My current programming language is fortran, It is based on visual studio and Intel oneapi (&lt;A href="https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/toolkits.html#gs.3pslfc" target="_blank"&gt;https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/toolkits.html#gs.3pslfc&lt;/A&gt;), I now need to call the pardiso solver in the Intel® oneAPI Math Kernel Library in opeapi in my program to solve the large linear equations. Pardiso is a direct solver and solves large linear equations consumes a lot of memory. So I find the information in website&lt;/P&gt;&lt;P&gt;(&lt;A href="https://www.intel.cn/content/www/cn/zh/developer/articles/technical/pardiso-tips.html" target="_blank"&gt;https://www.intel.cn/content/www/cn/zh/developer/articles/technical/pardiso-tips.html&lt;/A&gt;).&lt;/P&gt;&lt;P&gt;in other words, by setting the parameter iparm(60), the default in-core mode (using memory to store information during equation solving process) can be switched to out-of-core mode (using hard disk to store information during equation solving process) to reduce memory consumption and hardware requirements.&lt;BR /&gt;By default, iparm(60)=0, that is, using in-core mode, according to the tips in the grave picture, I call pardiso(...) in the program. The command iparm(60)=2 was added before, but the memory consumption in the process of solving large equations was the same as in the in-core mode of iparm(60)=0, and the memory consumption did not decrease.&lt;BR /&gt;Then I click on the blue field of article in the picture above, Enter the&amp;nbsp; this page:&amp;nbsp;&lt;A href="https://www.intel.cn/content/www/cn/zh/developer/articles/training/how-to-use-ooc-pardiso.html" target="_blank"&gt;https://www.intel.cn/content/www/cn/zh/developer/articles/training/how-to-use-ooc-pardiso.html&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;According to the content in this page, I set iparm(59)=2 at this time, but the memory consumption in the process of solving large equations is the same as that in the in-core mode where iparm(60)=0, and the memory consumption is not reduced.&lt;BR /&gt;The content in the two levels of the page does not describe the parameters that need to be set to use out-of-core mode (using the hard disk to store information during the solving of the equation), and neither setting can enable out-of-core mode.&lt;/P&gt;&lt;P&gt;What parameters do I need to set to use out-of-core mode?&lt;/P&gt;&lt;P&gt;The last image with a dark background is the code I used to call pardiso.&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image1.png" style="width: 999px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/44170i572EAE670DBD9B3D/image-size/large/is-moderation-mode/true?v=v2&amp;amp;px=999&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="image1.png" alt="image1.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image2.png" style="width: 999px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/44171i64ADA067F161774D/image-size/large/is-moderation-mode/true?v=v2&amp;amp;px=999&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="image2.png" alt="image2.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="微信图片_20230731175023.png" style="width: 999px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/44172i64138B264B2939DA/image-size/large/is-moderation-mode/true?v=v2&amp;amp;px=999&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="微信图片_20230731175023.png" alt="微信图片_20230731175023.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Jul 2023 09:53:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1509602#M34894</guid>
      <dc:creator>smile</dc:creator>
      <dc:date>2023-07-31T09:53:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1510098#M34895</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for posting in Intel Communities.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you please let us know the Visual Studio version and Intel MKL version being used by you?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you please try changing the iparm[59] value to 2 and let iparm[60] value be 0 (as it is already reserved to 0) and let us know if the issue still persists?&amp;nbsp; Please refer to the below link for more details regarding the iparm parameters.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-0/pardiso-iparm-parameter.html" target="_blank" rel="noopener"&gt;https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-2/pardiso-iparm-parameter.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;gt;and the memory consumption is not reduced.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Could you please get back to us regarding the insights, based on which you have confirmed&amp;nbsp;the same memory consumption is used, as it helps us understand the issue better.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And also, could you please provide us with the complete sample reproducer code you are using to investigate at our end?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;
&lt;P&gt;Varsha&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2023 07:22:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1510098#M34895</guid>
      <dc:creator>VarshaS_Intel</dc:creator>
      <dc:date>2023-08-02T07:22:48Z</dc:date>
    </item>
    <item>
      <title>Re:How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1511691#M34916</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We have not heard back from you. Could you please provide us with an update on your issue?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Varsha&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 07 Aug 2023 13:28:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1511691#M34916</guid>
      <dc:creator>VarshaS_Intel</dc:creator>
      <dc:date>2023-08-07T13:28:58Z</dc:date>
    </item>
    <item>
      <title>Re:How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1513196#M34945</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We have not heard back from you. Could you please provide us with an update on your issue?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Varsha&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Aug 2023 08:26:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1513196#M34945</guid>
      <dc:creator>VarshaS_Intel</dc:creator>
      <dc:date>2023-08-11T08:26:50Z</dc:date>
    </item>
    <item>
      <title>Re: Re:How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520110#M35028</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;Thanks for your reply. Sorry, I was unable to reply to your message because of some problems with my Intel account.&amp;nbsp;Intel staff just repaired my account recently.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Yes, I have tried changing only the iparm[59] value to 2 and iparm[60] value to 0.&amp;nbsp;&lt;/SPAN&gt;However, memory consumption didn't change. T&lt;SPAN&gt;he Visual Studio version is 2017. The Intel MKL version is 2021.3&lt;/SPAN&gt;&lt;FONT face="intel-clear" color="#262626"&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Helvetica, Microsoft Yahei, verdana" color="#262626"&gt;&lt;SPAN&gt;After modifying the parameters mentioned, I'm pretty sure the memory consumption hasn't changed.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN&gt;Here's my code.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;subroutine solver_pardiso(mtype, n, length, a, ia, ja, nrhs, iparm, b, x)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;implicit none&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;maxfct, mnum, mtype, phase, n, length, nrhs, error, msglvl&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer(kind=8)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;:: pt(64)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;iparm(64),perm(n)!, solver&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;ia(n+1) !ia(9)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;ja(length) !ja(20)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer,external:: mkl_get_max_threads&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;real*8&amp;nbsp; dparm(64)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; a(length) !a(20)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; b(n) !b(8)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; x(n) !x(8)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer i, idum&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;real*8&amp;nbsp; ddum !waltime1, waltime2,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; x = 0.d0&amp;nbsp; &amp;nbsp;!解出的向量x存于这个数组&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; pt = 0&amp;nbsp; &amp;nbsp; &amp;nbsp;!// pointer initialization&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; maxfct = 1 !大多数情况设1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; mnum = 1&amp;nbsp; &amp;nbsp;!大多数情况设1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !// mtype = -2: symmetric nonpositive definite matrix, mtype = 2: symmetric positive definite matrix&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !结构有限元常用：2 实对称正定矩阵;-2 实对称不定矩阵;流体计算可能会用到 11实数不对称矩阵&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; perm = 0; !一般不用，给个虚参&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; nrhs = 1&amp;nbsp; !方程右边b的列数&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(1) = 0&amp;nbsp; !// iparm use default values&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(3) = 4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(59) = 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !iparm(60) = 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !// iparm(3): parallel threads are obtained by MKL. In general, the number of cpus is the same as the number of threads&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; msglvl =0 !设为1则在屏幕上显示计算统计信息&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; error = 0&amp;nbsp; !错误代码，有错则输出一个代码，以便查错。&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; phase = 13&amp;nbsp; !// LU decompose&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !一般设为13，analysis-&amp;gt;numericalfactorization-&amp;gt;solve-&amp;gt;iterativerefinement&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; call pardiso( pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !phase = 33&amp;nbsp; !// solve equations&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !call pardiso( pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !write ( *,'(a)' ) '&amp;gt;&amp;gt; The solution as follows ...... '&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; open(98,file='x.txt')&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; do i = 1, n&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; write( 98,* ) i,x(i)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; end do&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; write( *,* ) 'max memory:',max(iparm(15), iparm(16)+iparm(17))/1024.0/1024.0,'GB.'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; phase = -1 !释放内存&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; call pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end subroutine solver_pardiso&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 04 Sep 2023 01:12:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520110#M35028</guid>
      <dc:creator>smile</dc:creator>
      <dc:date>2023-09-04T01:12:00Z</dc:date>
    </item>
    <item>
      <title>Re: Re:How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520111#M35029</link>
      <description>&lt;P&gt;My English is not very good, if I have described it clearly?&lt;/P&gt;</description>
      <pubDate>Mon, 04 Sep 2023 01:14:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520111#M35029</guid>
      <dc:creator>smile</dc:creator>
      <dc:date>2023-09-04T01:14:15Z</dc:date>
    </item>
    <item>
      <title>Re: Re:How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520509#M35040</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;Thanks for your reply. There was a problem with my Intel account that prevented me from replying to your message.&amp;nbsp;It was recently repaired.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Yes, I have tried changing only the iparm[59] value to 2 and iparm[60] value to 0.&amp;nbsp;&lt;/SPAN&gt;However, memory consumption didn't change. T&lt;SPAN&gt;he Visual Studio version is 2017. The Intel MKL version is 2021.3&lt;/SPAN&gt;&lt;FONT face="intel-clear" color="#262626"&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Helvetica, Microsoft Yahei, verdana" color="#262626"&gt;&lt;SPAN&gt;After modifying the parameters mentioned, I'm pretty sure the memory consumption hasn't changed.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN&gt;Here's my code.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;subroutine solver_pardiso(mtype, n, length, a, ia, ja, nrhs, iparm, b, x)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;implicit none&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;maxfct, mnum, mtype, phase, n, length, nrhs, error, msglvl&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer(kind=8)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;:: pt(64)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;iparm(64),perm(n)!, solver&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;ia(n+1) !ia(9)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;ja(length) !ja(20)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer,external:: mkl_get_max_threads&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;real*8&amp;nbsp; dparm(64)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; a(length) !a(20)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; b(n) !b(8)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; x(n) !x(8)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer i, idum&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;real*8&amp;nbsp; ddum !waltime1, waltime2,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; x = 0.d0&amp;nbsp; &amp;nbsp;!解出的向量x存于这个数组&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; pt = 0&amp;nbsp; &amp;nbsp; &amp;nbsp;!// pointer initialization&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; maxfct = 1 !大多数情况设1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; mnum = 1&amp;nbsp; &amp;nbsp;!大多数情况设1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !// mtype = -2: symmetric nonpositive definite matrix, mtype = 2: symmetric positive definite matrix&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !结构有限元常用：2 实对称正定矩阵;-2 实对称不定矩阵;流体计算可能会用到 11实数不对称矩阵&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; perm = 0; !一般不用，给个虚参&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; nrhs = 1&amp;nbsp; !方程右边b的列数&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(1) = 0&amp;nbsp; !// iparm use default values&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(3) = 4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(59) = 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !iparm(60) = 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !// iparm(3): parallel threads are obtained by MKL. In general, the number of cpus is the same as the number of threads&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; msglvl =0 !设为1则在屏幕上显示计算统计信息&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; error = 0&amp;nbsp; !错误代码，有错则输出一个代码，以便查错。&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; phase = 13&amp;nbsp; !// LU decompose&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !一般设为13，analysis-&amp;gt;numericalfactorization-&amp;gt;solve-&amp;gt;iterativerefinement&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; call pardiso( pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !phase = 33&amp;nbsp; !// solve equations&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !call pardiso( pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !write ( *,'(a)' ) '&amp;gt;&amp;gt; The solution as follows ...... '&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; open(98,file='x.txt')&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; do i = 1, n&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; write( 98,* ) i,x(i)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; end do&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; write( *,* ) 'max memory:',max(iparm(15), iparm(16)+iparm(17))/1024.0/1024.0,'GB.'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; phase = -1 !释放内存&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; call pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end subroutine solver_pardiso&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 02:21:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520509#M35040</guid>
      <dc:creator>smile</dc:creator>
      <dc:date>2023-09-05T02:21:30Z</dc:date>
    </item>
    <item>
      <title>Re: Re:How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520510#M35041</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Thanks for your reply. There was a problem with my Intel account that prevented me from replying to your message.&amp;nbsp;It was recently repaired.&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;Yes, I have tried changing only the iparm[59] value to 2 and iparm[60] value to 0.&amp;nbsp;&lt;/SPAN&gt;However, memory consumption didn't change. T&lt;SPAN&gt;he Visual Studio version is 2017. The Intel MKL version is 2021.3&lt;/SPAN&gt;&lt;FONT face="intel-clear" color="#262626"&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Helvetica, Microsoft Yahei, verdana" color="#262626"&gt;&lt;SPAN&gt;After modifying the parameters mentioned, I'm pretty sure the memory consumption hasn't changed.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN&gt;Here's my code.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;subroutine solver_pardiso(mtype, n, length, a, ia, ja, nrhs, iparm, b, x)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;implicit none&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;maxfct, mnum, mtype, phase, n, length, nrhs, error, msglvl&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer(kind=8)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;:: pt(64)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;iparm(64),perm(n)!, solver&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;ia(n+1) !ia(9)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;ja(length) !ja(20)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer,external:: mkl_get_max_threads&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;real*8&amp;nbsp; dparm(64)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; a(length) !a(20)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; b(n) !b(8)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; x(n) !x(8)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer i, idum&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;real*8&amp;nbsp; ddum !waltime1, waltime2,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; x = 0.d0&amp;nbsp; &amp;nbsp;!解出的向量x存于这个数组&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; pt = 0&amp;nbsp; &amp;nbsp; &amp;nbsp;!// pointer initialization&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; maxfct = 1 !大多数情况设1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; mnum = 1&amp;nbsp; &amp;nbsp;!大多数情况设1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !// mtype = -2: symmetric nonpositive definite matrix, mtype = 2: symmetric positive definite matrix&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !结构有限元常用：2 实对称正定矩阵;-2 实对称不定矩阵;流体计算可能会用到 11实数不对称矩阵&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; perm = 0; !一般不用，给个虚参&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; nrhs = 1&amp;nbsp; !方程右边b的列数&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(1) = 0&amp;nbsp; !// iparm use default values&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(3) = 4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(59) = 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !iparm(60) = 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !// iparm(3): parallel threads are obtained by MKL. In general, the number of cpus is the same as the number of threads&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; msglvl =0 !设为1则在屏幕上显示计算统计信息&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; error = 0&amp;nbsp; !错误代码，有错则输出一个代码，以便查错。&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; phase = 13&amp;nbsp; !// LU decompose&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !一般设为13，analysis-&amp;gt;numericalfactorization-&amp;gt;solve-&amp;gt;iterativerefinement&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; call pardiso( pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !phase = 33&amp;nbsp; !// solve equations&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !call pardiso( pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !write ( *,'(a)' ) '&amp;gt;&amp;gt; The solution as follows ...... '&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; open(98,file='x.txt')&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; do i = 1, n&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; write( 98,* ) i,x(i)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; end do&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; write( *,* ) 'max memory:',max(iparm(15), iparm(16)+iparm(17))/1024.0/1024.0,'GB.'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; phase = -1 !释放内存&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; call pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end subroutine solver_pardiso&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 02:22:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520510#M35041</guid>
      <dc:creator>smile</dc:creator>
      <dc:date>2023-09-05T02:22:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520513#M35042</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;Thanks for your reply. There was a problem with my Intel account that prevented me from replying to your message.&amp;nbsp;It was recently repaired.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Yes, I have tried changing only the iparm[59] value to 2 and iparm[60] value to 0.&amp;nbsp;&lt;/SPAN&gt;However, memory consumption didn't change. T&lt;SPAN&gt;he Visual Studio version is 2017. The Intel MKL version is 2021.3&lt;/SPAN&gt;&lt;FONT face="intel-clear" color="#262626"&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Helvetica, Microsoft Yahei, verdana" color="#262626"&gt;&lt;SPAN&gt;After modifying the parameters mentioned, I'm pretty sure the memory consumption hasn't changed.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN&gt;Here's my code.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;subroutine solver_pardiso(mtype, n, length, a, ia, ja, nrhs, iparm, b, x)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;implicit none&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;maxfct, mnum, mtype, phase, n, length, nrhs, error, msglvl&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer(kind=8)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;:: pt(64)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;iparm(64),perm(n)!, solver&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;ia(n+1) !ia(9)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer&amp;nbsp; &amp;nbsp; &amp;nbsp;ja(length) !ja(20)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer,external:: mkl_get_max_threads&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;real*8&amp;nbsp; dparm(64)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; a(length) !a(20)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; b(n) !b(8)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;complex*16&amp;nbsp; x(n) !x(8)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;integer i, idum&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;real*8&amp;nbsp; ddum !waltime1, waltime2,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; x = 0.d0&amp;nbsp; &amp;nbsp;!解出的向量x存于这个数组&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; pt = 0&amp;nbsp; &amp;nbsp; &amp;nbsp;!// pointer initialization&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; maxfct = 1 !大多数情况设1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; mnum = 1&amp;nbsp; &amp;nbsp;!大多数情况设1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !// mtype = -2: symmetric nonpositive definite matrix, mtype = 2: symmetric positive definite matrix&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !结构有限元常用：2 实对称正定矩阵;-2 实对称不定矩阵;流体计算可能会用到 11实数不对称矩阵&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; perm = 0; !一般不用，给个虚参&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; nrhs = 1&amp;nbsp; !方程右边b的列数&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(1) = 0&amp;nbsp; !// iparm use default values&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(3) = 4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; iparm(59) = 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !iparm(60) = 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !// iparm(3): parallel threads are obtained by MKL. In general, the number of cpus is the same as the number of threads&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; msglvl =0 !设为1则在屏幕上显示计算统计信息&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; error = 0&amp;nbsp; !错误代码，有错则输出一个代码，以便查错。&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; phase = 13&amp;nbsp; !// LU decompose&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !一般设为13，analysis-&amp;gt;numericalfactorization-&amp;gt;solve-&amp;gt;iterativerefinement&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; call pardiso( pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !phase = 33&amp;nbsp; !// solve equations&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !call pardiso( pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; !write ( *,'(a)' ) '&amp;gt;&amp;gt; The solution as follows ...... '&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; open(98,file='x.txt')&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; do i = 1, n&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; write( 98,* ) i,x(i)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; end do&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; write( *,* ) 'max memory:',max(iparm(15), iparm(16)+iparm(17))/1024.0/1024.0,'GB.'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; phase = -1 !释放内存&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; call pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end subroutine solver_pardiso&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 02:31:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520513#M35042</guid>
      <dc:creator>smile</dc:creator>
      <dc:date>2023-09-05T02:31:31Z</dc:date>
    </item>
    <item>
      <title>Re: Re:How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520514#M35043</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;Thanks for your reply. There was a problem with my Intel account that prevented me from replying to your message.&amp;nbsp;It was recently repaired.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Yes, I have tried changing only the iparm[59] value to 2 and iparm[60] value to 0.&amp;nbsp;&lt;/SPAN&gt;However, memory consumption didn't change. T&lt;SPAN&gt;he Visual Studio version is 2017. The Intel MKL version is 2021.3&lt;/SPAN&gt;&lt;FONT face="intel-clear" color="#262626"&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Helvetica, Microsoft Yahei, verdana" color="#262626"&gt;&lt;SPAN&gt;After modifying the parameters mentioned, I'm pretty sure the memory consumption hasn't changed.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 02:31:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520514#M35043</guid>
      <dc:creator>smile</dc:creator>
      <dc:date>2023-09-05T02:31:55Z</dc:date>
    </item>
    <item>
      <title>Re: Re:How to use Intel® MKL OOC PARDISO</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520516#M35044</link>
      <description>&lt;DIV&gt;&lt;SPAN class=""&gt;Thanks for your reply. There was a problem with my Intel account that prevented me from replying to your message.&amp;nbsp;It was recently repaired.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class=""&gt;Yes, I have tried changing only the iparm[59] value to 2 and iparm[60] value to 0.&amp;nbsp;&lt;/SPAN&gt;However, memory consumption didn't change. T&lt;SPAN class=""&gt;he Visual Studio version is 2017. The Intel MKL version is 2021.3&lt;/SPAN&gt;&lt;FONT face="intel-clear" color="#262626"&gt;&lt;SPAN class=""&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Helvetica, Microsoft Yahei, verdana" color="#262626"&gt;&lt;SPAN class=""&gt;After modifying the parameters mentioned, I'm pretty sure the memory consumption hasn't changed.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 05 Sep 2023 02:33:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-use-Intel-MKL-OOC-PARDISO/m-p/1520516#M35044</guid>
      <dc:creator>smile</dc:creator>
      <dc:date>2023-09-05T02:33:37Z</dc:date>
    </item>
  </channel>
</rss>

