<?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 misunderstanding of pardiso_64 in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/misunderstanding-of-pardiso-64/m-p/928029#M13508</link>
    <description>&lt;P&gt;Dear sir or madam:&lt;/P&gt;

&lt;P&gt;Hi, I need to use mkl pardiso to help me solve problem in 64bit linux system. Because I use 64bit-integer (ILP64 interface layer), I need to make use the function, compile command and library to link is correct. However, I get a little confuse about pardiso_64 function.&lt;/P&gt;

&lt;P&gt;From the website &lt;A href="http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/GUID-61CBF1F8-E590-405A-A043-880016F83D72.htm#GUID-61CBF1F8-E590-405A-A043-880016F83D72" target="_blank"&gt;http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/GUID-61CBF1F8-E590-405A-A043-880016F83D72.htm#GUID-61CBF1F8-E590-405A-A043-880016F83D72&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;From the Description: You can use it together with the usual LP64 interfaces for the rest of Intel MKL functionality. In other words, if you use 64-bit integer version (&lt;SPAN class="option"&gt;pardiso_64&lt;/SPAN&gt;), you do not need to re-link your applications with ILP64 libraries. Take into account that &lt;SPAN class="option"&gt;pardiso_64&lt;/SPAN&gt; may perform slower than regular &lt;SPAN class="option"&gt;pardiso&lt;/SPAN&gt; on reordering and symbolic factorization phase.&lt;/P&gt;

&lt;P&gt;&lt;SPAN class="option"&gt;From the Note: pardiso_64&lt;/SPAN&gt; is supported only in the 64-bit libraries. If &lt;SPAN class="option"&gt;pardiso_64&lt;/SPAN&gt; is called from the 32-bit libraries, it returns &lt;SAMP class="codeph"&gt;&lt;SPAN class="parmname"&gt;error&lt;/SPAN&gt; =-12&lt;/SAMP&gt;.&lt;/P&gt;

&lt;P&gt;I know that I should compile my main.cpp program using the following command:&lt;/P&gt;

&lt;P&gt;g++ -std=c++11 -O2 -DMKL_ILP64 main.cpp -lmkl_intel_ilp64 -lmkl_core -lmkl_intel_thread -liomp5&lt;/P&gt;

&lt;P&gt;And in the main.cpp&lt;/P&gt;

&lt;P&gt;mkl_set_num_threads(std::thread::hardware_concurrency());&lt;/P&gt;

&lt;P&gt;void*pt[64];&lt;BR /&gt;
	MKL_INT mtype{6};&lt;BR /&gt;
	std::vector&amp;lt;MKL_INT&amp;gt;iparm(64);&lt;BR /&gt;
	pardisoinit(pt,&amp;amp;mtype,iparm.data());&lt;BR /&gt;
	iparm.at(34)=1;&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;But&lt;/STRONG&gt; which function I should call next, just pardiso or pardiso_64?&lt;/P&gt;

&lt;P&gt;Moreover, I use mkl11.1 and gcc4.8.2&lt;/P&gt;

&lt;P&gt;Thank you very much&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 26 Feb 2014 19:44:27 GMT</pubDate>
    <dc:creator>Chaowen_G_</dc:creator>
    <dc:date>2014-02-26T19:44:27Z</dc:date>
    <item>
      <title>misunderstanding of pardiso_64</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/misunderstanding-of-pardiso-64/m-p/928029#M13508</link>
      <description>&lt;P&gt;Dear sir or madam:&lt;/P&gt;

&lt;P&gt;Hi, I need to use mkl pardiso to help me solve problem in 64bit linux system. Because I use 64bit-integer (ILP64 interface layer), I need to make use the function, compile command and library to link is correct. However, I get a little confuse about pardiso_64 function.&lt;/P&gt;

&lt;P&gt;From the website &lt;A href="http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/GUID-61CBF1F8-E590-405A-A043-880016F83D72.htm#GUID-61CBF1F8-E590-405A-A043-880016F83D72" target="_blank"&gt;http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/GUID-61CBF1F8-E590-405A-A043-880016F83D72.htm#GUID-61CBF1F8-E590-405A-A043-880016F83D72&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;From the Description: You can use it together with the usual LP64 interfaces for the rest of Intel MKL functionality. In other words, if you use 64-bit integer version (&lt;SPAN class="option"&gt;pardiso_64&lt;/SPAN&gt;), you do not need to re-link your applications with ILP64 libraries. Take into account that &lt;SPAN class="option"&gt;pardiso_64&lt;/SPAN&gt; may perform slower than regular &lt;SPAN class="option"&gt;pardiso&lt;/SPAN&gt; on reordering and symbolic factorization phase.&lt;/P&gt;

&lt;P&gt;&lt;SPAN class="option"&gt;From the Note: pardiso_64&lt;/SPAN&gt; is supported only in the 64-bit libraries. If &lt;SPAN class="option"&gt;pardiso_64&lt;/SPAN&gt; is called from the 32-bit libraries, it returns &lt;SAMP class="codeph"&gt;&lt;SPAN class="parmname"&gt;error&lt;/SPAN&gt; =-12&lt;/SAMP&gt;.&lt;/P&gt;

&lt;P&gt;I know that I should compile my main.cpp program using the following command:&lt;/P&gt;

&lt;P&gt;g++ -std=c++11 -O2 -DMKL_ILP64 main.cpp -lmkl_intel_ilp64 -lmkl_core -lmkl_intel_thread -liomp5&lt;/P&gt;

&lt;P&gt;And in the main.cpp&lt;/P&gt;

&lt;P&gt;mkl_set_num_threads(std::thread::hardware_concurrency());&lt;/P&gt;

&lt;P&gt;void*pt[64];&lt;BR /&gt;
	MKL_INT mtype{6};&lt;BR /&gt;
	std::vector&amp;lt;MKL_INT&amp;gt;iparm(64);&lt;BR /&gt;
	pardisoinit(pt,&amp;amp;mtype,iparm.data());&lt;BR /&gt;
	iparm.at(34)=1;&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;But&lt;/STRONG&gt; which function I should call next, just pardiso or pardiso_64?&lt;/P&gt;

&lt;P&gt;Moreover, I use mkl11.1 and gcc4.8.2&lt;/P&gt;

&lt;P&gt;Thank you very much&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Feb 2014 19:44:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/misunderstanding-of-pardiso-64/m-p/928029#M13508</guid>
      <dc:creator>Chaowen_G_</dc:creator>
      <dc:date>2014-02-26T19:44:27Z</dc:date>
    </item>
    <item>
      <title>The pardiso_64 entry point is</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/misunderstanding-of-pardiso-64/m-p/928030#M13509</link>
      <description>&lt;P&gt;The &lt;STRONG&gt;pardiso_64&lt;/STRONG&gt; entry point is provided for use in situations where the LP64 libraries are being used (i.e., 32-bit integer arguments passed to other MKL routines), but 64-bit integer arguments are to be passed to Pardiso.&lt;/P&gt;

&lt;P&gt;If you are already using ILP64. the default integer size is 64 bits, and it should make no difference whether you call &lt;STRONG&gt;pardiso()&lt;/STRONG&gt; or &lt;STRONG&gt;pardiso_64()&lt;/STRONG&gt;.&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Feb 2014 21:42:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/misunderstanding-of-pardiso-64/m-p/928030#M13509</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2014-02-26T21:42:00Z</dc:date>
    </item>
  </channel>
</rss>

