<?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 Hi, in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-dlasrt2-with-4byte-integer-keys-on-ILP64/m-p/1064804#M21867</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;The problem is, if you write these two functions into one source code,&amp;nbsp;even you redefine MKL_INT to size_t that use int for ?lasrt, and use long long for ?gemm, you must link&amp;nbsp;lp64 or&amp;nbsp;ilp64 translating&amp;nbsp;source code as binary to execute.&amp;nbsp;How could you set some part to use 32bits but the other part to use 64bits within one binary file? Once you compile with 64bits, the INT type will be actually translated into int64, and it could not support for 32bit compiling &amp;amp; translation.&lt;/P&gt;

&lt;P&gt;You could only&amp;nbsp;separate these two function into two source files, one is compiled with lp64 to&amp;nbsp;generate 32bit binary&amp;nbsp;&amp;amp; the other one is compiled with ilp64 to generate 64bit binary. And execute two binary files.&lt;/P&gt;

&lt;P&gt;Best regards,&lt;BR /&gt;
	Fiona&lt;/P&gt;</description>
    <pubDate>Wed, 26 Oct 2016 03:18:37 GMT</pubDate>
    <dc:creator>Zhen_Z_Intel</dc:creator>
    <dc:date>2016-10-26T03:18:37Z</dc:date>
    <item>
      <title>using dlasrt2 with (4byte) integer keys on ILP64</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-dlasrt2-with-4byte-integer-keys-on-ILP64/m-p/1064803#M21866</link>
      <description>&lt;P&gt;Hi, I've been using dlasrt2 with the API&lt;/P&gt;

&lt;P&gt;void dlasrt2 (char *id , MKL_INT *n , double *d , MKL_INT *key , MKL_INT *info );&lt;BR /&gt;
	&lt;BR /&gt;
	however i wonder if we can link directly to fortran counterpart to have int keys or if there is a way to feed (4byte) integer variables to this function as keys, the issue is that right now MKL_INT is a (long long) which takes huge amount of memory for the case i'm running where n=1e10. However i need MKL_INT to be ilp64 because of other calls (dgemm with huge matrix size).&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alireza&lt;/P&gt;</description>
      <pubDate>Tue, 25 Oct 2016 15:23:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-dlasrt2-with-4byte-integer-keys-on-ILP64/m-p/1064803#M21866</guid>
      <dc:creator>seyedalireza_y_</dc:creator>
      <dc:date>2016-10-25T15:23:34Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-dlasrt2-with-4byte-integer-keys-on-ILP64/m-p/1064804#M21867</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;The problem is, if you write these two functions into one source code,&amp;nbsp;even you redefine MKL_INT to size_t that use int for ?lasrt, and use long long for ?gemm, you must link&amp;nbsp;lp64 or&amp;nbsp;ilp64 translating&amp;nbsp;source code as binary to execute.&amp;nbsp;How could you set some part to use 32bits but the other part to use 64bits within one binary file? Once you compile with 64bits, the INT type will be actually translated into int64, and it could not support for 32bit compiling &amp;amp; translation.&lt;/P&gt;

&lt;P&gt;You could only&amp;nbsp;separate these two function into two source files, one is compiled with lp64 to&amp;nbsp;generate 32bit binary&amp;nbsp;&amp;amp; the other one is compiled with ilp64 to generate 64bit binary. And execute two binary files.&lt;/P&gt;

&lt;P&gt;Best regards,&lt;BR /&gt;
	Fiona&lt;/P&gt;</description>
      <pubDate>Wed, 26 Oct 2016 03:18:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-dlasrt2-with-4byte-integer-keys-on-ILP64/m-p/1064804#M21867</guid>
      <dc:creator>Zhen_Z_Intel</dc:creator>
      <dc:date>2016-10-26T03:18:37Z</dc:date>
    </item>
    <item>
      <title>Thanks for your thorough</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-dlasrt2-with-4byte-integer-keys-on-ILP64/m-p/1064805#M21868</link>
      <description>&lt;P&gt;Thanks for your thorough explanation. In the 64bit program I was hoping to just use regular int variable which is still 4bytes in the 64bit code and link to scalapack with lp64 for the ?lasrt2 , &amp;nbsp;and for ?gemm use long long and link to mkl_intel_ilp64, as i thought the difference would be just how the mkl (lp64) interprets integer argument it won't be an issue because those arguments would already be defined using 4byte integers.&lt;/P&gt;</description>
      <pubDate>Wed, 26 Oct 2016 05:20:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/using-dlasrt2-with-4byte-integer-keys-on-ILP64/m-p/1064805#M21868</guid>
      <dc:creator>seyedalireza_y_</dc:creator>
      <dc:date>2016-10-26T05:20:55Z</dc:date>
    </item>
  </channel>
</rss>

