<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Sun, 22 Nov 2009 22:18:11 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/intel-visual-fortran-compiler-for-windows-kb/type/performance-and-optimization/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles feed</title>
    <link>http://software.intel.com/en-us/articles/intel-visual-fortran-compiler-for-windows-kb/performance-and-optimization/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>How to Compile for Intel® AVX</title>
      <description><![CDATA[ <div id="art_pre_template">Intel® AVX (Intel® Advanced Vector Extensions) is a 256 bit instruction set extension to Intel® SSE (Intel® Streaming SIMD Extensions) that was first announced in 2008. Further information about Intel AVX is available at <a href="http://software.intel.com/en-us/avx/">http://software.intel.com/en-us/avx/</a> .<br /><br />The Intel C/C++ and Fortran Compilers, version 11.1, support the building of applications for Intel AVX. On Windows*, use the command line switch /QxAVX. On Linux*, use –xavx. The switches /QaxAVX (Windows) and –axavx (Linux) may be used to build applications that will take advantage of AVX instructions on Intel systems that support these, but will use only SSE instructions on other systems.<br /><br />Both C/C++ and Fortran compilers support automatic vectorization of floating-point loops using AVX instructions. The C/C++ compiler also supports AVX-based intrinsics (via the header file immintrin.h) and inline assembly. Intel AVX allows the vectorization of a wider variety of floating point loops than Intel SSE, with a greater potential performance gain due to the greater width of the SIMD registers. The vectorizer is enabled automatically by the switches listed above. To see which loops have been vectorized, use the switch /Qvec-report1 (windows) or –vec-report1 (Linux).<br /><br />Pending availability of processors supporting Intel AVX, the Intel® Software Development Emulator (Intel® SDE) is available for testing programs built for Intel AVX. See <a href="http://software.intel.com/en-us/articles/intel-software-development-emulator/">http://software.intel.com/en-us/articles/intel-software-development-emulator/</a> .<br />Further general information about the Intel Compilers for C/C++ and Fortran is available at <a href="http://software.intel.com/en-us/intel-compilers/">http://software.intel.com/en-us/intel-compilers/</a> . Further information about compiler support for Intel AVX may be found in the Intel C++ Compiler User and Reference Guides, for example in the section 'Intrinsics for Advanced Vector Extensions', accessible online at <a href="http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/win/compiler_c/index.htm">http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/win/compiler_c/index.htm</a> .</div> ]]></description>
      <link>http://software.intel.com/en-us/articles/how-to-compile-for-intel-avx</link>
      <pubDate>Thu, 16 Jul 2009 16:34:04 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/how-to-compile-for-intel-avx#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/how-to-compile-for-intel-avx</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Visual Fortran Compiler for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Disable movbe to Test Intel® Atom™ Processor Targeted Code on non-Intel® Atom™ Processor Platforms</title>
      <description><![CDATA[ <p>The Intel® Compilers 11.0 allow you to target the Intel® Atom™ processor using the /QxSSE3_ATOM or -xSSE3_ATOM compiler options.  These options enable the generation of the movbe instruction which is unique to the Intel® Atom™ processor.  However, there is sometimes a need to run such codes on a different processor such as the Intel® Pentium® III processor (for example, for validation purposes where an Intel® Atom™ processor isn't available).  In these situations, the compiler provides the /Qinstruction:nomovbe (for Windows*) and -minstruction=nomovbe (for Linux*/Mac*) options to disable the generation of this instruction.</p> ]]></description>
      <link>http://software.intel.com/en-us/articles/disable-movbe-to-test-intel-atom-targeted-code-on-non-atom-platforms</link>
      <pubDate>Fri, 20 Feb 2009 16:41:09 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/disable-movbe-to-test-intel-atom-targeted-code-on-non-atom-platforms#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/disable-movbe-to-test-intel-atom-targeted-code-on-non-atom-platforms</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
      <category>Intel® Visual Fortran Compiler for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Fortran Compiler - Training courses</title>
      <description><![CDATA[ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
<table border="0" cellspacing="15" cellpadding="0"><tr><td class="bodycopy">
<p>Intel offers training courses designed to help software developers become productive and to improve application performance with the Intel&reg; C++ and Intel&reg; Fortran Compilers for Windows*, Linux*, and Mac* OS environments. Focus is given to software optimization on a specific processor architecture.</p>
<p>For course and registration information, visit the 
<a href="http://www.intel.com/software/college/">Intel&reg; Software College</a>.</p>
</td></tr></table>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td><img src="http://software.intel.com/file/6324" width="388" height="5"></td></tr>
<tr><td height="10"></td></tr>
</table>
</body></html>
 ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-fortran-compiler-training-courses</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-fortran-compiler-training-courses#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-fortran-compiler-training-courses</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Visual Fortran Compiler for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Performance Tools for Software Developers - Some Applications Built with -xP or /QxP Optimizations May Produce Runtime Error</title>
      <description><![CDATA[ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
<table border="0" cellspacing="15" cellpadding="0"><tr><td class="bodycopy">
<p><strong>Symptom(s):</strong><br></p>
<p>The following message may be displayed when a program built with the switches "-xP" (on Linux*) or "/QxP" (on Windows*) is run on a system with an Intel® Core&trade; 2 Duo processor or an Intel® Xeon&reg; processor 5100 series.</p>
<blockquote><strong>"Fatal Error: This program was not built to run on the processor in your system."</strong></blockquote>
<p>In addition, the program may not take the optimal execution path when it is built with the switches "-axP" (on Linux) or "/QaxP" (on Windows).</p>
<p><strong>Solution:</strong><br></p>
<p>This problem has been seen in cases where the application has been compiled with one of the following Intel® Compilers:</p>
<ul>
<li><strong>Intel Compilers for Intel® 64-based Applications</strong></li>
<li>Intel® C++ Compiler 9.0 for Linux* with Package ID l_cc_c_9.0.027 or older</li>
<li>Intel® C++ Compiler 8.1 for Linux* with Package ID l_cce_pc_8.1.032 or older</li>
<li>Intel® Fortran Compiler 9.0 for Linux* with Package ID l_fc_pc_9.0.028 or older</li>
<li>Intel® Fortran Compiler 8.1 for Linux* with Package ID l_fce_pc_8.1.034 or older</li>
<li>Intel® C++ Compiler 9.0 for Windows* with Package ID W_CC_C_9.0.025 or older</li>
<li>Intel® C++ Compiler 8.1 for Windows* with Package ID W_CCE_PC_8.1.026 or older</li>
<li>Intel® Fortran Compiler 9.0 for Windows* with Package ID W_FC_C_9.0.025 or older</li>
<li>Intel® Fortran Compiler 8.1 for Windows* with Package ID W_FCE_PC_8.1.023 or older</li>
</ul>
<ul><li><strong>Intel Compilers for IA32-based Applications</strong></li></ul>
<ul>
<li>Intel® C++ Compiler 8.1 for Linux* with Package ID l_cc_c_8.1.028 or older</li>
<li>Intel® Fortran Compiler 8.1 for Linux* with Package ID l_fc_c_8.1.024 or older</li>
</ul>
<ul>
<li>Intel® C++ Compiler 8.1 for Windows* with Package ID W_CC_PC_8.1.022 or older</li>
<li>Intel® Fortran Compiler 8.1 for Windows* with Package ID W_FC_PC_8.1.033 or older</li>
</ul>
<p>This is due to problems with runtime checks that the compiler generates to determine the type of processor on which the application is being run to ascertain what instruction set (such as SSE, SSE2, SSE3, and new instructions in Intel® Core&trade; 2 Duo processors) can be utilized.</p>
<p>To resolve the problem recompile the application with the newer Intel Compilers listed below:</p>
<ul><li><strong>Intel Compilers for Intel® 64-based Applications</strong></li></ul>
<ul>
<li>Intel C++ Compiler 9.1 for Linux with Package ID l_cc_p_9.1.038 or higher</li>
<li>Intel C++ Compiler 9.0, for Linux with Package ID l_cc_c_9.0.030 or higher</li>
<li>Intel C++ Compiler 8.1, for Linux with Package ID l_cce_pc_8.1.036 or higher</li>
</ul>
<ul>
<li>Intel Fortran Compiler 9.1, for Linux with Package ID l_fc_p_9.1.032 or higher</li>
<li>Intel Fortran Compiler 9.0, for Linux with Package ID l_fc_c_9.0.031 or higher</li>
<li>In
tel Fortran Compiler 8.1, for Linux with Package ID l_fce_pc_8.1.036 or higher</li>
</ul>
<ul>
<li>Intel C++ Compiler 9.1, for Windows with Package ID W_CC_P_9.1.022 or higher</li>
<li>Intel C++ Compiler 9.0, for Windows with Package ID W_CC_C_9.0.028 or higher</li>
<li>Intel C++ Compiler 8.1, for Windows with Package ID W_CCE_PC_8.1.028 or higher</li>
</ul>
<ul>
<li>Intel Fortran Compiler 9.1, for Windows with Package ID W_FC_C_9.1.024 or higher</li>
<li>Intel Fortran Compiler 9.0, for Windows with Package ID W_FC_C_9.0.028 or higher</li>
<li>Intel Fortran Compiler 8.1, for Windows with Package ID W_FCE_PC_8.1.025 or higher</li>
</ul>
<ul><li><strong>Intel Compilers for IA32-based Applications</strong></li></ul>
<ul>
<li>Intel C++ Compiler 9.1 for Linux with Package ID l_cc_p_9.1.038 or higher</li>
<li>Intel C++ Compiler 9.0 for Linux with Package ID l_cc_c_9.0.032 or higher</li>
<li>Intel C++ Compiler 8.1 for Linux with Package ID l_cc_pc_8.1.037 or higher</li>
</ul>
<ul>
<li>Intel Fortran Compiler 9.1 for Linux with Package ID l_fc_c_9.1.032 or higher</li>
<li>Intel Fortran Compiler 9.0 for Linux with Package ID l_fc_c_9.0.033 or higher</li>
<li>Intel Fortran Compiler 8.1 for Linux with Package ID l_fc_pc_8.1.033 or higher</li>
</ul>
<ul>
<li>Intel C++ Compiler 9.1 for Windows with Package ID W_CC_P_9.1.022 or higher</li>
<li>Intel C++ Compiler 9.0 for Windows with Package ID W_CC_C_9.0.030 or higher</li>
<li>Intel C++ Compiler 8.1 for Windows with Package ID W_CC_PC_8.1.036 or higher</li>
</ul>
<ul>
<li>Intel Fortran Compiler 9.1 for Windows with Package ID W_FC_C_9.1.024 or higher</li>
<li>Intel Fortran Compiler 9.0 for Windows with Package ID W_FC_C_9.0.030 or higher</li>
<li>Intel Fortran Compiler 8.1 for Windows with Package ID W_FC_PC_8.1.040 or higher</li>
</ul>
</td></tr></table>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td><img src="http://software.intel.com/file/6324" width="388" height="5"></td></tr>
<tr><td height="10"></td></tr>
</table>
</body></html>
 ]]></description>
      <link>http://software.intel.com/en-us/articles/performance-tools-for-software-developers-some-applications-built-with-xp-or-qxp-optimizations-may-produce-runtime-error</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/performance-tools-for-software-developers-some-applications-built-with-xp-or-qxp-optimizations-may-produce-runtime-error#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/performance-tools-for-software-developers-some-applications-built-with-xp-or-qxp-optimizations-may-produce-runtime-error</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Visual Fortran Compiler for Windows* Knowledge Base</category>
    </item>
  </channel></rss>