<?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: Running IPP in AVX2 mode on 4th-generation Intel Core i7 processors in Embedded Intel® Core™ Processors</title>
    <link>https://community.intel.com/t5/Embedded-Intel-Core-Processors/Running-IPP-in-AVX2-mode-on-4th-generation-Intel-Core-i7/m-p/258168#M2665</link>
    <description>&lt;P&gt;Beni,&lt;/P&gt;&lt;P&gt; You indicated that a pre-release HSW CPU was used; is AVX2 enabled for the processor?&lt;/P&gt;&lt;P&gt; I'm not sure how AVX will behave on pre-launch HSW CPU; use CPUID to check if AVX2 is enabled.&lt;/P&gt;&lt;P&gt; Hardware support for AVX2 is indicated by CPUID.(EAX=07H, ECX=0H):EBX.AVX2[bit 5]=1. &lt;/P&gt;&lt;P&gt;Also refer to this &lt;A href="http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf"&gt;http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf&lt;/A&gt; guide for more info: &lt;/P&gt;&lt;P&gt;&lt;A href="http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf"&gt;http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf&lt;/A&gt; &lt;A href="http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf"&gt;http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the routine to do so:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INT supports_avx2()&lt;/P&gt;&lt;P&gt;{ ; result in eax &lt;/P&gt;&lt;P&gt;mov eax, 1 &lt;/P&gt;&lt;P&gt;cpuid &lt;/P&gt;&lt;P&gt;and ecx, 018000000H &lt;/P&gt;&lt;P&gt;cmp ecx, 018000000H; check both OSXSAVE and AVX feature flags&lt;/P&gt;&lt;P&gt;jne not_supported &lt;/P&gt;&lt;P&gt;; processor supports AVX instructions and XGETBV is enabled by OS &lt;/P&gt;&lt;P&gt;mov eax, 7 &lt;/P&gt;&lt;P&gt;mov ecx, 0 &lt;/P&gt;&lt;P&gt;cpuid &lt;/P&gt;&lt;P&gt;and ebx, 20H &lt;/P&gt;&lt;P&gt;cmp ebx, 20H; check AVX2 feature flags &lt;/P&gt;&lt;P&gt;jne not_supported &lt;/P&gt;&lt;P&gt;mov ecx, 0; specify 0 for XFEATURE_ENABLED_MASK register &lt;/P&gt;&lt;P&gt;XGETBV; result in EDX:EAX &lt;/P&gt;&lt;P&gt;and eax, 06H &lt;/P&gt;&lt;P&gt;cmp eax, 06H; check OS has enabled both XMM and YMM state support &lt;/P&gt;&lt;P&gt;jne not_supported &lt;/P&gt;&lt;P&gt;mov eax, 1 &lt;/P&gt;&lt;P&gt;jmp done &lt;/P&gt;&lt;P&gt;NOT_SUPPORTED: &lt;/P&gt;&lt;P&gt;mov eax, 0 &lt;/P&gt;&lt;P&gt;done: &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;</description>
    <pubDate>Fri, 30 Aug 2013 21:00:27 GMT</pubDate>
    <dc:creator>Natalie_Z_Intel</dc:creator>
    <dc:date>2013-08-30T21:00:27Z</dc:date>
    <item>
      <title>Running IPP in AVX2 mode on 4th-generation Intel Core i7 processors</title>
      <link>https://community.intel.com/t5/Embedded-Intel-Core-Processors/Running-IPP-in-AVX2-mode-on-4th-generation-Intel-Core-i7/m-p/258167#M2664</link>
      <description>&lt;P&gt;I am currently using a (purportedly) Core i7-4700EQ Mobile processor (comprised by a SOM-5894 COM-Express board from Advantech). It is possible that I am using an engineering sample processor since its type is reported as "0000" by the BIOS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My application uses IPP (7.1). Specifically, I am trying to use the library in AVX2 mode. I am using static linkage (# include  before # incluie ). My code runs in 32-bit mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It turns out that a call to ippsFFTInitAlloc_C_32fc crashes upon hitting on an SHLX opcode belonging to the BMI2 instruction set extension.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was originally under the impression that BMI2 is part of the 4th generation (a.k.a. Haswell) architecture, however the particular that I am using reports that it does not support BMI2 (nor BMI1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the following questions:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Are there other 4th generation Core i7 processors that do support these instructions?&lt;/P&gt;&lt;P&gt;2. Does IPP specifically mandate support of BMI2 (in addition to support of AVX2) when trying to use it in AVX2 mode?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Beni Falk&lt;/P&gt;</description>
      <pubDate>Tue, 02 Jul 2013 16:32:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Embedded-Intel-Core-Processors/Running-IPP-in-AVX2-mode-on-4th-generation-Intel-Core-i7/m-p/258167#M2664</guid>
      <dc:creator>BFalk</dc:creator>
      <dc:date>2013-07-02T16:32:26Z</dc:date>
    </item>
    <item>
      <title>Re: Running IPP in AVX2 mode on 4th-generation Intel Core i7 processors</title>
      <link>https://community.intel.com/t5/Embedded-Intel-Core-Processors/Running-IPP-in-AVX2-mode-on-4th-generation-Intel-Core-i7/m-p/258168#M2665</link>
      <description>&lt;P&gt;Beni,&lt;/P&gt;&lt;P&gt; You indicated that a pre-release HSW CPU was used; is AVX2 enabled for the processor?&lt;/P&gt;&lt;P&gt; I'm not sure how AVX will behave on pre-launch HSW CPU; use CPUID to check if AVX2 is enabled.&lt;/P&gt;&lt;P&gt; Hardware support for AVX2 is indicated by CPUID.(EAX=07H, ECX=0H):EBX.AVX2[bit 5]=1. &lt;/P&gt;&lt;P&gt;Also refer to this &lt;A href="http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf"&gt;http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf&lt;/A&gt; guide for more info: &lt;/P&gt;&lt;P&gt;&lt;A href="http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf"&gt;http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf&lt;/A&gt; &lt;A href="http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf"&gt;http://download-software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the routine to do so:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INT supports_avx2()&lt;/P&gt;&lt;P&gt;{ ; result in eax &lt;/P&gt;&lt;P&gt;mov eax, 1 &lt;/P&gt;&lt;P&gt;cpuid &lt;/P&gt;&lt;P&gt;and ecx, 018000000H &lt;/P&gt;&lt;P&gt;cmp ecx, 018000000H; check both OSXSAVE and AVX feature flags&lt;/P&gt;&lt;P&gt;jne not_supported &lt;/P&gt;&lt;P&gt;; processor supports AVX instructions and XGETBV is enabled by OS &lt;/P&gt;&lt;P&gt;mov eax, 7 &lt;/P&gt;&lt;P&gt;mov ecx, 0 &lt;/P&gt;&lt;P&gt;cpuid &lt;/P&gt;&lt;P&gt;and ebx, 20H &lt;/P&gt;&lt;P&gt;cmp ebx, 20H; check AVX2 feature flags &lt;/P&gt;&lt;P&gt;jne not_supported &lt;/P&gt;&lt;P&gt;mov ecx, 0; specify 0 for XFEATURE_ENABLED_MASK register &lt;/P&gt;&lt;P&gt;XGETBV; result in EDX:EAX &lt;/P&gt;&lt;P&gt;and eax, 06H &lt;/P&gt;&lt;P&gt;cmp eax, 06H; check OS has enabled both XMM and YMM state support &lt;/P&gt;&lt;P&gt;jne not_supported &lt;/P&gt;&lt;P&gt;mov eax, 1 &lt;/P&gt;&lt;P&gt;jmp done &lt;/P&gt;&lt;P&gt;NOT_SUPPORTED: &lt;/P&gt;&lt;P&gt;mov eax, 0 &lt;/P&gt;&lt;P&gt;done: &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;</description>
      <pubDate>Fri, 30 Aug 2013 21:00:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Embedded-Intel-Core-Processors/Running-IPP-in-AVX2-mode-on-4th-generation-Intel-Core-i7/m-p/258168#M2665</guid>
      <dc:creator>Natalie_Z_Intel</dc:creator>
      <dc:date>2013-08-30T21:00:27Z</dc:date>
    </item>
  </channel>
</rss>

