<?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 copy for integer array in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121390#M24971</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I have a naive question about that why there is only float array copy .&lt;/P&gt;

&lt;P&gt;Is the time cost of integer array copy much smaller than float number copy?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Jiajun&lt;/P&gt;</description>
    <pubDate>Wed, 23 Mar 2016 11:46:38 GMT</pubDate>
    <dc:creator>Ren_J_</dc:creator>
    <dc:date>2016-03-23T11:46:38Z</dc:date>
    <item>
      <title>copy for integer array</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121390#M24971</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I have a naive question about that why there is only float array copy .&lt;/P&gt;

&lt;P&gt;Is the time cost of integer array copy much smaller than float number copy?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Jiajun&lt;/P&gt;</description>
      <pubDate>Wed, 23 Mar 2016 11:46:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121390#M24971</guid>
      <dc:creator>Ren_J_</dc:creator>
      <dc:date>2016-03-23T11:46:38Z</dc:date>
    </item>
    <item>
      <title>If we are just copying (no</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121391#M24972</link>
      <description>&lt;P&gt;If we are just copying (no scaling), there is no difference between integer vs. float. We copy bits from one memory location to another and it does not mater what those bits represent (integer/float/string/etc..). memcpy can be used for this operation. If you really want to use MKL, you can typecast your 32bit integer pointers to float* and call scopy. Similarly, you can typecast your 64bit integer pointers to doubles* and call dcopy.&lt;/P&gt;</description>
      <pubDate>Wed, 23 Mar 2016 19:55:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121391#M24972</guid>
      <dc:creator>Murat_G_Intel</dc:creator>
      <dc:date>2016-03-23T19:55:02Z</dc:date>
    </item>
    <item>
      <title>Intel Fortran and C++</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121392#M24973</link>
      <description>&lt;P&gt;Intel Fortran and C++ compilers would likely substitute intel_fast_memcpy when optimizing a single isolated loop. MKL ?copy have a potential higher bandwidth when parallelizing internally across multiple CPUs, if the source and destination have suitable NUMA locality.&lt;/P&gt;

&lt;P&gt;Either an optimized memcpy or MKL ?copy should look for the case where non-temporal streaming store is preferred.&lt;/P&gt;

&lt;P&gt;The short answer is that compilers can usually make as good or better choice when the programmer leaves the details to the compilers.&lt;/P&gt;</description>
      <pubDate>Wed, 23 Mar 2016 21:21:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121392#M24973</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2016-03-23T21:21:35Z</dc:date>
    </item>
    <item>
      <title>Quote:Murat Efe Guney (Intel)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121393#M24974</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Murat Efe Guney (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;If we are just copying (no scaling), there is no difference between integer vs. float. We copy bits from one memory location to another and it does not mater what those bits represent (integer/float/string/etc..). memcpy can be used for this operation. If you really want to use MKL, you can typecast your 32bit integer pointers to float* and call scopy. Similarly, you can typecast your 64bit integer pointers to doubles* and call dcopy.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I use fortran. It seems that Fortran 95 interface do not support integer copy.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;for example&amp;nbsp;&lt;/P&gt;

&lt;P&gt;==============&lt;/P&gt;

&lt;P&gt;integer a(10),b(10)&lt;/P&gt;

&lt;P&gt;call copy(a,b)&amp;nbsp;&lt;/P&gt;

&lt;P&gt;==============&lt;/P&gt;

&lt;P&gt;It doesn't work.&lt;/P&gt;

&lt;P&gt;But f77 interface works.&amp;nbsp;&lt;/P&gt;

&lt;P style="font-size: 14.634px; line-height: 17.5608px;"&gt;==============&lt;/P&gt;

&lt;P style="font-size: 14.634px; line-height: 17.5608px;"&gt;call scopy(10,a,1,b,1)&amp;nbsp;&lt;/P&gt;

&lt;P style="font-size: 14.634px; line-height: 17.5608px;"&gt;==============&lt;/P&gt;</description>
      <pubDate>Mon, 28 Mar 2016 13:09:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121393#M24974</guid>
      <dc:creator>Ren_J_</dc:creator>
      <dc:date>2016-03-28T13:09:22Z</dc:date>
    </item>
    <item>
      <title>Yes, you would have to add</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121394#M24975</link>
      <description>&lt;P&gt;Yes, you would have to add the corresponding interface block to blas.f90 (and disable warn_interfaces) to persuade the compiler to use the scopy or dcopy for integer types.&lt;/P&gt;</description>
      <pubDate>Mon, 28 Mar 2016 13:55:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/copy-for-integer-array/m-p/1121394#M24975</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2016-03-28T13:55:59Z</dc:date>
    </item>
  </channel>
</rss>

