<?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 Ok, thank you. Glad it was in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056425#M52243</link>
    <description>&lt;P&gt;Ok, thank you. Glad it was resolved.&lt;/P&gt;</description>
    <pubDate>Thu, 22 Jan 2015 16:34:05 GMT</pubDate>
    <dc:creator>Kevin_D_Intel</dc:creator>
    <dc:date>2015-01-22T16:34:05Z</dc:date>
    <item>
      <title>MKL_Complex16 not bitwise copyable</title>
      <link>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056421#M52239</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I need to offload a ZGEMM call to the xeon phi. Unfortunately, the compiler is complaining that "variable 'A' used in this offload region is not bitwise copyable". However, A is just a MKL_Complex16 pointer. So far the MKL_Complex16 type never gave me any problems.&lt;/P&gt;

&lt;P&gt;Since MKL_Complex16 is just a plain struct with two doubles, the following explanation does not really apply:&amp;nbsp;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;&lt;A href="https://software.intel.com/en-us/articles/effective-use-of-the-intel-compilers-offload-features" target="_blank"&gt;https://software.intel.com/en-us/articles/effective-use-of-the-intel-compilers-offload-features&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;void foo(MKL_Complex16 *A, MKL_Complex16 *B, MKL_Complex16 *C, ... some more arguments...)
{  
  //... some initialization ...

  alpha = MKL_Complex16 (sigma_1 / e, 0.0);
  beta = MKL_Complex16 (0.0, 0.0);

  const int matrix_elements = n*n;

   #pragma offload target(mic:0) \
	in(A: length(matrix_elements) free_if(1)) \
	in(B: length(matrix_elements) free_if(1)) \
	in(C:length(matrix_elements)) \
	out(C:length(matrix_elements) free_if(1))
  zgemm("N", "N", &amp;amp;n, &amp;amp;n, &amp;amp;n, &amp;amp;alpha, (const MKL_Complex16*)(A), &amp;amp;n,
        (const MKL_Complex16*)B, &amp;amp;n, &amp;amp;beta, C, &amp;amp;n);
  
  //... something else ...
}&lt;/PRE&gt;

&lt;P&gt;What could be the problem here?&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Paul&lt;/P&gt;</description>
      <pubDate>Wed, 21 Jan 2015 13:16:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056421#M52239</guid>
      <dc:creator>Paul_S_</dc:creator>
      <dc:date>2015-01-21T13:16:07Z</dc:date>
    </item>
    <item>
      <title>The example I coded up does</title>
      <link>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056422#M52240</link>
      <description>&lt;P&gt;The example I coded up does not produce any such warning/error so I'm not sure what I'm doing (or not) to match your snippet and am checking w/Development. Stay tuned....&lt;/P&gt;</description>
      <pubDate>Wed, 21 Jan 2015 19:24:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056422#M52240</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2015-01-21T19:24:34Z</dc:date>
    </item>
    <item>
      <title>Development is also unable to</title>
      <link>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056423#M52241</link>
      <description>&lt;P&gt;Development is also unable to reproduce this and I also tried compilers back to 13.1 without success in producing any compilation warning/error.&lt;/P&gt;

&lt;P&gt;Can you please provide us with a reproducer that we can investigate further?&lt;/P&gt;

&lt;P&gt;Also, please let us know the version of your compiler (&lt;STRONG&gt;icc -V&lt;/STRONG&gt; -or- &lt;STRONG&gt;icpc -V&lt;/STRONG&gt;)?&lt;/P&gt;

&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Wed, 21 Jan 2015 20:04:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056423#M52241</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2015-01-21T20:04:20Z</dc:date>
    </item>
    <item>
      <title>Hi Kevin, thanks for your</title>
      <link>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056424#M52242</link>
      <description>&lt;P&gt;Hi Kevin, thanks for your help.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;sorry for the mess up. As it turns out someone defined MKL_Complex16 to be complex&amp;lt;double&amp;gt;.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;-- problem solved --&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jan 2015 10:22:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056424#M52242</guid>
      <dc:creator>Paul_S_</dc:creator>
      <dc:date>2015-01-22T10:22:09Z</dc:date>
    </item>
    <item>
      <title>Ok, thank you. Glad it was</title>
      <link>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056425#M52243</link>
      <description>&lt;P&gt;Ok, thank you. Glad it was resolved.&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jan 2015 16:34:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/MKL-Complex16-not-bitwise-copyable/m-p/1056425#M52243</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2015-01-22T16:34:05Z</dc:date>
    </item>
  </channel>
</rss>

