<?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 How to work with AVX on windows in Intel® ISA Extensions</title>
    <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029661#M5150</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I am interested in AVX instructions set using in my application for speed up.But i am new to AVX.&lt;/P&gt;

&lt;P&gt;How can i know whether my system processor is able to support AVX or not?&lt;/P&gt;

&lt;P&gt;My System Configurations as&lt;/P&gt;

&lt;P&gt;OS; Windows 7 with 64-bit&lt;/P&gt;

&lt;P&gt;CPU: Inter(R) Xeon(R) CPU &amp;nbsp;W3505 @2.53GHz.&lt;/P&gt;

&lt;P&gt;Anybody can help me..&lt;/P&gt;

&lt;P&gt;Thanks in Advance.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 02 Mar 2015 06:32:41 GMT</pubDate>
    <dc:creator>siva_rama_k_</dc:creator>
    <dc:date>2015-03-02T06:32:41Z</dc:date>
    <item>
      <title>How to work with AVX on windows</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029661#M5150</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I am interested in AVX instructions set using in my application for speed up.But i am new to AVX.&lt;/P&gt;

&lt;P&gt;How can i know whether my system processor is able to support AVX or not?&lt;/P&gt;

&lt;P&gt;My System Configurations as&lt;/P&gt;

&lt;P&gt;OS; Windows 7 with 64-bit&lt;/P&gt;

&lt;P&gt;CPU: Inter(R) Xeon(R) CPU &amp;nbsp;W3505 @2.53GHz.&lt;/P&gt;

&lt;P&gt;Anybody can help me..&lt;/P&gt;

&lt;P&gt;Thanks in Advance.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Mar 2015 06:32:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029661#M5150</guid>
      <dc:creator>siva_rama_k_</dc:creator>
      <dc:date>2015-03-02T06:32:41Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;&gt;How can i know whether my</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029662#M5151</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 14.3999996185303px;"&gt;&amp;gt;&amp;gt;&amp;gt;How can i know whether my system processor is able to support AVX or not?&amp;gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 14.3999996185303px;"&gt;Maximum supported ISA is SSE 4.2 you can check your CPU spec here:&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;A href="http://ark.intel.com/products/40800/Intel-Xeon-Processor-W3505-4M-Cache-2_53-GHz-4_80-GTs-Intel-QPI" target="_blank"&gt;http://ark.intel.com/products/40800/Intel-Xeon-Processor-W3505-4M-Cache-2_53-GHz-4_80-GTs-Intel-QPI&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Mar 2015 10:22:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029662#M5151</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2015-03-02T10:22:33Z</dc:date>
    </item>
    <item>
      <title>As Iliya said, your CPU</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029663#M5152</link>
      <description>&lt;P&gt;As I&lt;A href="https://software.intel.com/en-us/user/542548" style="font-size: 11px; line-height: 13.2000026702881px; background-color: rgb(238, 238, 238);"&gt;liy&lt;/A&gt;a said, your CPU supports&amp;nbsp;&lt;SPAN style="font-size: 12px; line-height: 14.4000024795532px;"&gt;SSE 4.2 only.&lt;BR /&gt;
	&lt;BR /&gt;
	There's though a (limited) workaround:&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&lt;A href="http://codeforces.com/problemset/customtest" target="_blank"&gt;http://codeforces.com/problemset/customtest&lt;/A&gt;&lt;BR /&gt;
	(need to register)&lt;BR /&gt;
	On this site you are able to compile and run your C... code as if it's your machine.&lt;BR /&gt;
	&lt;BR /&gt;
	I'd appreciate if you or anybody else point me to some other similar resources with at least AVX ability.&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Mar 2015 14:58:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029663#M5152</guid>
      <dc:creator>Vladimir_Sedach</dc:creator>
      <dc:date>2015-03-02T14:58:13Z</dc:date>
    </item>
    <item>
      <title>Thanks iliyapolak and</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029664#M5153</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;A href="https://software.intel.com/en-us/user/542548" style="font-size: 11px; line-height: 16.5px; background-color: rgb(238, 238, 238);"&gt;iliyapolak&lt;/A&gt;&amp;nbsp;and&amp;nbsp;&lt;A href="https://software.intel.com/en-us/user/181965" style="font-size: 11px; line-height: 16.5px;"&gt;Vladimir Sedach&lt;/A&gt;&amp;nbsp;for your thoughts.&lt;/P&gt;

&lt;P&gt;Can u suggest any material to familiar with SSE4.2 instruction set ?&lt;/P&gt;

&lt;P&gt;Thanks in Advance&lt;/P&gt;

&lt;P&gt;.&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2015 04:59:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029664#M5153</guid>
      <dc:creator>siva_rama_k_</dc:creator>
      <dc:date>2015-03-03T04:59:29Z</dc:date>
    </item>
    <item>
      <title>All Intel SSE..AVX2 C</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029665#M5154</link>
      <description>&lt;P&gt;All Intel SSE..AVX2 C intrinsics are here:&lt;/P&gt;

&lt;P&gt;&lt;A href="http://software.intel.com/sites/products/documentation/doclib/iss/2013/compiler/cpp-lin/index.htm#GUID-27EA00B6-F15F-4EC5-80EA-AFA553204C41.htm" target="_blank"&gt;http://software.intel.com/sites/products/documentation/doclib/iss/2013/compiler/cpp-lin/index.htm#GUID-27EA00B6-F15F-4EC5-80EA-AFA553204C41.htm&lt;/A&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2015 11:01:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029665#M5154</guid>
      <dc:creator>Vladimir_Sedach</dc:creator>
      <dc:date>2015-03-03T11:01:50Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029666#M5155</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;How to compile SSE4.2 instructions on my Windows 7 OS which supporting SSE4.2 instruction set?&lt;/P&gt;

&lt;P&gt;Is it possible compilation of code through IDEs like Microsoft Visual Studio,Code::Blocks using compiles like GNU.&lt;/P&gt;

&lt;P&gt;I red flags has to be updated but where can i updated these flags?&lt;/P&gt;

&lt;P&gt;Anyone guide me.&lt;/P&gt;

&lt;P&gt;Thanks for Advance.&lt;/P&gt;

&lt;P&gt;Regards&lt;/P&gt;

&lt;P&gt;Siva Rama Krishna&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Mar 2015 09:46:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029666#M5155</guid>
      <dc:creator>siva_rama_k_</dc:creator>
      <dc:date>2015-03-30T09:46:38Z</dc:date>
    </item>
    <item>
      <title>With msvc you could use sse4</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029667#M5156</link>
      <description>&lt;P&gt;With msvc you could use sse4 instructions only by intrinsics. Intel c++ works in visual studio. &amp;nbsp;Arch=sse4.1 often performs better than 4.2.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;GCC comes in several versions and does support march=sse4.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Mar 2015 10:48:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029667#M5156</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2015-03-30T10:48:45Z</dc:date>
    </item>
    <item>
      <title>You can also use SSE4</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029668#M5157</link>
      <description>&lt;P&gt;You can also use SSE4 instruction in inline assembly, but you will be restricted only to 32-bit code when compiling with MSVC compiler.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Mar 2015 08:26:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029668#M5157</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2015-03-31T08:26:23Z</dc:date>
    </item>
    <item>
      <title>Thanks Tim Prince and</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029669#M5158</link>
      <description>&lt;P&gt;Thanks &lt;A href="https://software.intel.com/en-us/user/336903" style="font-size: 11px; line-height: 16.5px; background-color: rgb(238, 238, 238);"&gt;Tim Prince&lt;/A&gt;&amp;nbsp;and&amp;nbsp;&lt;A href="https://software.intel.com/en-us/user/542548" style="font-size: 11px; line-height: 16.5px;"&gt;iliyapolak&lt;/A&gt;&amp;nbsp;for your inputs.&lt;/P&gt;

&lt;P&gt;Can you please provide the document contains step wise instructions to compile code(basic example) using SSE4.2 in MS VS.&lt;/P&gt;

&lt;P&gt;OS;Windows 7 64bit&lt;/P&gt;

&lt;P&gt;Microsoft Visual Studio (MS VS):12&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="color: rgb(96, 96, 96); font-size: 11px; line-height: 16.5px; background-color: rgb(238, 238, 238);"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Mar 2015 11:27:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029669#M5158</guid>
      <dc:creator>siva_rama_k_</dc:creator>
      <dc:date>2015-03-31T11:27:17Z</dc:date>
    </item>
    <item>
      <title> </title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029670#M5159</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;You need to create project in VS next include relevant to SSE4 header file you also need to choose proper CPU architecture in the project properties.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Mar 2015 12:01:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029670#M5159</guid>
      <dc:creator>Bernard</dc:creator>
      <dc:date>2015-03-31T12:01:40Z</dc:date>
    </item>
    <item>
      <title>Here's my example which works</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029671#M5160</link>
      <description>&lt;P&gt;Here's my example which works with msvc and gcc, where the flavor of intrinsics extension is chosen according to pre-definitions of various compilers.&amp;nbsp;&amp;nbsp; Note that MSVC doesn't have a pre-defined macro for the purpose of allowing choice of SSE4.&amp;nbsp; Although the intrinsics in the SSE4 section are available on earlier CPUs, they didn't work well enough to use in this context until SSE4 CPUs became available. &amp;nbsp; Likewise, the AVX code would need more work to run well on the early AVX platforms.&amp;nbsp; GL- is set to permit mixing with Intel compiled objects.&amp;nbsp; The plain C code at the end optimizes well with current gcc, so one may wonder why go to all this trouble to get optimization with the other compilers:&lt;/P&gt;

&lt;P&gt;$ make -nf Makefile.windows loopstlm.obj&lt;BR /&gt;
	cl /Ox /EHsc /GL- /openmp /fp:fast -Zi /arch:SSE2&amp;nbsp; /Qvec-report:1 -c loopstl.cpp &amp;gt; loopstlm.txt 2&amp;gt;&amp;amp;1&lt;/P&gt;

&lt;P&gt;&amp;nbsp; for (nl = 1; nl &amp;lt;= i__1; ++nl) {&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // loop must vectorize backwards on account of data overlap&lt;BR /&gt;
	#if defined __AVX2__ // 256-bit unaligned is slow until corei7-4&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // scalar loop to adjust to aligned destination&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i__ = *n - 1; (((size_t)&amp;amp;a[i__+1] &amp;amp; 31) &amp;lt; 24); --i__)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; a[i__ + 1] = a[i__] + b[i__];&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // loop on parallel instructions while blocks of 8 remain&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (; i__ &amp;gt;= 9; i__ -= 8){&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; __m256 tmp1 = _mm256_loadu_ps(&amp;amp;a[i__ - 7]),&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; tmp2 = _mm256_loadu_ps(&amp;amp;b[i__ - 7]);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; _mm256_store_ps(&amp;amp;a[i__ - 6],_mm256_add_ps(tmp1,tmp2));&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // scalar loop to finish up remainder&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (; i__ &amp;gt;= 1; --i__)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; a[i__ + 1] = a[i__] + b[i__];&lt;BR /&gt;
	#else&lt;BR /&gt;
	#if defined __SSE4_1__&amp;nbsp; || defined _M_IX86_FP // early loadu_ps was inefficient&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // scalar loop to adjust to aligned destination&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i__ = *n - 1; (((size_t)&amp;amp;a[i__+1] &amp;amp;15) &amp;lt; 12); --i__)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; a[i__ + 1] = a[i__] + b[i__];&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // loop on parallel instructions while blocks of 4 remain&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (; i__ &amp;gt;= 5; i__ -= 4){&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; __m128 tmp1 = _mm_loadu_ps(&amp;amp;a[i__ - 3]),&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; tmp2 = _mm_loadu_ps(&amp;amp;b[i__ - 3]);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; _mm_store_ps(&amp;amp;a[i__ - 2],_mm_add_ps(tmp1,tmp2));&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // scalar loop to finish up 3 trip remainder&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // even if there were repeats, this would be superior to loop with&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // optimization for larger trip counts&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i__ = 3; i__ &amp;gt;= 1; --i__)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; a[i__ + 1] = a[i__] + b[i__];&lt;BR /&gt;
	#else&lt;BR /&gt;
	#ifdef __INTEL_COMPILER&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; a[*n:*n-1:-1]= a[*n-1:*n-1:-1] + b[*n-1:*n-1:-1];&lt;BR /&gt;
	#else&lt;BR /&gt;
	#ifndef __SUNPRO_CC&lt;BR /&gt;
	#warning "SSE4 unseen, dropping to C source"&lt;BR /&gt;
	#endif&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i__ = *n - 1; i__ &amp;gt;= 1; --i__)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; a[i__ + 1] = a[i__] + b[i__];&lt;BR /&gt;
	#endif&lt;BR /&gt;
	#endif&lt;BR /&gt;
	#endif&lt;/P&gt;</description>
      <pubDate>Tue, 31 Mar 2015 12:32:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/How-to-work-with-AVX-on-windows/m-p/1029671#M5160</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2015-03-31T12:32:00Z</dc:date>
    </item>
  </channel>
</rss>

