<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Wed, 25 Nov 2009 13:24:01 -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-fortran-compiler-for-linux-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-fortran-compiler-for-linux-kb/performance-and-optimization/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Putting -lm Before User Objects/Libraries on Link Line Can Impact Performance</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number : </strong>DPD200121218<br /><br /><br /><strong>Version :</strong> 11.0<br /><br /><br /><strong>Operating System :</strong> Linux*<br /><br /><br /><strong>Problem Description : </strong>Starting with 11.0.081, a fix was made to the compiler driver to link the Intel Math Library libimf statically by default (the intended and documented behavior) instead of dynamically.  If -lm is used with the compiler driver (icc/icpc/ifort), the driver automatically inserts libimf before libm in the link line.  Linking in libimf.a when this is done causes a problem if -lm precedes any user-created objects or libraries.  For example:<br /><br />
<pre name="code" class="plain:nogutter:nocontrols">icc -lm user1.o user2.o -luser3</pre>
Gets converted by the driver to:<br /><br />
<pre name="code" class="plain:nogutter:nocontrols">ld ... -Bstatic -limf -Bdynamic -lm ... user1.o user2.o -luser3 ...</pre>
On Linux, static libraries must come after the object/library files that use them in the link line in order for the symbols to resolve.  Since libimf.a comes before the objects/libraries that use standard math functions, these math functions won't resolve to the static Intel math library.  However, the dynamic libm doesn't have an order dependency because it is a dynamic library, so the math functions will resolve to the GNU math library.  This can have a significant performance impact.<br /><br /><br /><strong>Resolution Status : </strong>Starting with 11.1.056, the compiler now emits a warning if -lm precedes other user objects or libraries on the linker command line.  If you run into a performance regression between compilers prior to 11.0.081 and compilers from 11.0.081 on, please verify that you don't have -lm being used prior to your objects/libraries in your link lines if you use icc/icpc/ifort to link. Using the above example, make the following change:<br /><br />
<pre name="code" class="plain:nogutter:nocontrols">icc user1.o user2.o -luser3 -lm</pre>
<em>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</em></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/putting-lm-before-user-objectslibraries-on-link-line-can-impact-performance</link>
      <pubDate>Wed, 14 Oct 2009 11:45:33 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/putting-lm-before-user-objectslibraries-on-link-line-can-impact-performance#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/putting-lm-before-user-objectslibraries-on-link-line-can-impact-performance</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
    </item>
    <item>
      <title>Building the GAMESS with Intel® Compilers, Intel® MKL and Intel® MPI on Linux</title>
      <description><![CDATA[ <br /><b>Introduction :</b><br />This document explains how to build GAMESS using the Intel Software products:<br />Intel® C++ Compiler for Linux,<br />Intel® Fortran Compiler for LINUX,<br />Intel® MKL,<br />Intel® MPI for Linux.<br /><br /><br /><b>Version :</b><br />GAMESS version January 12, 2009 R3 for 64 bit IA64/x86_64.<br /><br /><b>Obtaining Source Code :</b><br />The GAMESS sources can be downloaded <a href="http://www.msg.chem.iastate.edu/gamess/download.html">here</a>.<br /><br /><b>Prerequisites :</b><br />Should be installed Intel® Compilers with Intel® MKL and Intel® MPI for Linux.<br /><br /><b>Environment Set Up :</b><br />Environment variables for the Intel(R) C++ Compiler Professional Edition for Linux, Intel(R) Fortran  Compiler Professional Edition for Linux and Intel(R) MPI should be set.<br />E.g.<br />$export INTEL_COMPILER_TOPDIR="/opt/intel/Compiler/11.1/046"<br />$. $INTEL_COMPILER_TOPDIR/bin/intel64/ifortvars_intel64.sh<br />$. $INTEL_COMPILER_TOPDIR/bin/intel64/iccvars_intel64.sh<br />$. /opt/intel/impi/3.2.1.009/bin64/mpivars.sh<br /><br /><b>Building the Application :</b><br />1)Copy/move tar file gamess-current.tar.gz to the directory /opt.<br /><br />2)Decompress source files<br />$ tar -zxvf gamess-current.tar.gz<br />.<br />3)<br />$cd ./gamess<br />.<br />4) Creating actvte.x file:<br />$cd ./tools<br />$cp actvte.code actvte.f<br />Replace all "*UNX" by " "(4 spaces with out " ") in the file actvte.f. Can be used any text editor.<br />$ifort -o actvte.x actvte.f<br />$rm actvte.f<br />$cd ..<br />.<br />5)Building the Distributed Data Interface(DDI) with Intel(R) MPI:<br />$cd ./ddi<br />a) Editing file ./compddi.<br />Set machine type (approximately line 18):<br />set TARGET=linux-ia64<br />Set MPI communication layer (approximately line 48):<br />set COMM = mpi<br />Set include directory for Intel® MPI (approximately line 105):<br />set MPI_INCLUDE_PATH = '-I/net/spdr62/opt/spdtools/impi/intel64/3.2.011/include64'<br />b)Build DDI with Intel(R) MPI<br />$ ./compddi &gt;&amp;compddi.log<br />c) If building completed successfully then library libddi.a will appear. Otherwise check compddi.log for errors.<br />d) $cd ..<br />.<br />6) Compiling the GAMESS:<br />a) Editing file ./comp<br />Set machine type (approximately line 15):<br />set TARGET=linux-ia64<br />Set the GAMESS root directory (approximately line 16):<br />chdir /opt/gamess<br />Uncomment line 1461:<br />setenv MKL_SERIAL YES<br />.<br />b) Editing file ./compall:<br />Set machine type (approximately line 16):<br />set TARGET=linux-ia64<br />Set the GAMESS root directory (approximately line 17):<br />chdir /opt/gamess<br />Set to use Intel® C++ Compiler (approximately line 70):<br />if  ($TARGET == linux-ia64) set CCOMP='icc'<br />c) Compiling the GAMESS:<br />$compall &gt;&amp;compall.log<br />Check file compall.log for errors.<br />d)<br />$cd ..<br />.<br />7)Liniking the GAMESS with Intel® Software products:<br />a) Editing file ./lked<br />Set machine type (approximately line 18):<br />set TARGET=linux-ia64<br />Set the GAMESS root directory (approximately line 19):<br />chdir /opt/games<br />Set MKL environment (approximately line 509):<br />setenv MKLPATH /net/spdr62/opt/spdtools/compiler/cpro/Compiler/11.1/046/mkl/lib/em64t<br />setenv MKL_SERIAL YES<br />set mklver=10<br />Set the message passing libraries in a single line (approximately line 714):<br />set MSG_LIBRARIES='../ddi/libddi.a -L/net/spdr62/opt/spdtools/impi/intel64/3.2.011/lib64 -lmpi -lmpigf -lmpigi -lrt -lpthread'<br />b) Link the GAMESS<br />$./lked &gt;&amp;lked.log<br />If linking completed successfully then executable file gamess.00.x will appear. Otherwise check lked.log for errors.<br /><br /><b>Running the Application :</b><br />This section below describes how to execute GAMESS with Intel® MPI. For further information check file ./ddi/readme.ddi.<br />For the testing GAMESS will be used script rungms as the base.<br />1)<br />Only few amends are needed.<br />Set the target for execution to mpi (line 59):<br />set TARGET=mpi<br />.<br />Set a directory SCR where large temporary files can reside(line 60):<br />E.g.<br />set SCR=/opt/gamess/tests<br />.<br />Correct the setting environment variables ERICFMT and MCPPATH (lines 127and 128):<br />E.g.<br />setenv ERICFMT /opt/gamess/ericfmt.dat<br />setenv MCPPATH /opt/gamess/mcpdata<br />.<br />Replace all “~$USER” by “/opt/gamess/tests”. Or by other directory.<br />NOTE: Directory /opt/gamess/tests/scr should exist. If no then create it.<br />Replace all “/home/mike/gamess” by “/opt/gamess”.<br />Correct the setting environment variables for Intel® MKL and MPI (lines 948 and 953):<br />E.g.<br />setenv LD_LIBRARY_PATH /opt/Compiler/11.1/046/mkl/lib/em64t<br />setenv LD_LIBRARY_PATH /opt/intel/impi/intel64/3.2.011/lib64:$LD_LIBRARY_PATH<br />.<br />Correct setting environment variables to execution Intel® MPI path (line 954):<br />E.g. set path=(/opt/intel/impi/intel64/3.2.011/bin64 $path)<br />.<br />Done.<br />2)<br />Now choose the testcase from directory ./tests and run GAMESS.<br />E.g.<br />$./rungms exam08<br />The output data will be stored in the directory /opt/gamess/scr.<br /><br />3) To execute GAMESS on 2 or more processes on 1 node:<br />$ ./rungms exam08 00 2<br /> ]]></description>
      <link>http://software.intel.com/en-us/articles/building-gamess-with-intel-compilers-intel-mkl-and-intel-mpi-on-linux</link>
      <pubDate>Wed, 26 Aug 2009 07:02:09 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/building-gamess-with-intel-compilers-intel-mkl-and-intel-mpi-on-linux#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/building-gamess-with-intel-compilers-intel-mkl-and-intel-mpi-on-linux</guid>
      <category>Intel Software Network communities</category>
      <category>Intel® MKL</category>
      <category>Intel® MPI Library</category>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® MPI Library for Linux* Knowledge Base</category>
    </item>
    <item>
      <title>WPS V3.1.1 installation best known method for Linux with Intel® Fortran Compiler v. 11.1</title>
      <description><![CDATA[ <br /><b>Introduction :</b><br />This document explains how to build the WRF Preprocessing System(WPS) v3.1.1 using the Intel® Fortran Compiler for Linux, for example, version 11.1.046.<br /><br /><b>Version </b>: v3.1.1<br /><br /><b>Obtaining Source Code :</b><br />The source codes can be downloaded <a href="http://www.mmm.ucar.edu/wrf/users/download/get_sources.html">here</a>. The input data for geogrid.exe can be downloaded <a href="http://www.mmm.ucar.edu/wrf/src/wps_files/">here</a>. The input data for ungrid.exe you can download <a href="http://www.mmm.ucar.edu/wrf_tmp/WRF_OnLineTutorial/SOURCE_DATA/JAN00.tar.gz">here</a>.<br /><br /><b>Prerequisites :</b><br />You should have installed:<br />1)The Weather Research &amp; Forecasting(WRF) v3. WRF V3.1.1 installation BKM for Linux with Intel C++ and Fortran COMPILER v. 11.1 you can find <a href="http://software.intel.com/en-us/articles/wrf-installation-bkm-for-linux-with-intel-c-and-fortran-compiler-v-111/">here</a>.<br />2)The Jasper library. Installation best know method with the Intel® Compilers you can find <a href="http://software.intel.com/en-us/articles/jasper-installation-bkm/">here</a>.<br />3)The JPEG library. Installation best know method with the Intel® Compilers you can find <a href="http://software.intel.com/en-us/articles/jpeg-7-installation-bkm/">here</a>.<br />4)The Zlib  library. Installation best know method with the Intel® Compilers you can find <a href="http://software.intel.com/en-us/articles/zlib-library-installation-bkm-with-intelr-c-compiler-111046-for-linux/">here</a>.<br />5)The NCAR Graphics* library. How to build with Intel(R) Compilers you can find <a href="http://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-ncar-graphics-with-the-intel-compilers/">here</a>.<br /><br /><b>Environment Set Up :</b><br />You should set up environment variables for Intel(r) Fortran Compiler and netCDF. If you want to build distributed version of WPS then you should set up environment variables for Inte MPI.<br />E.g.<br />$export INTEL_COMPILER_TOPDIR="/opt/spdtools/compiler/cpro/Compiler/11.1/046"<br />$. $INTEL_COMPILER_TOPDIR/bin/intel64/ifortvars_intel64.sh<br />$export NETCDF=/opt/netcdf<br />$. /opt/intel/impi/3.2.1.009/bin64/mpivars.sh<br /><br /><br /><b>Source Code Changes : </b>none<br /><br /><b>Building the Application :</b><br />1)Copy/move tar file WPSV3.1.1.TAR.gz to the directory /opt.<br />2)Decompress source files<br />$tar -zxvf WPSV3.1.1.TAR.gz<br />.<br />3)Set up environment variables which are mentioned in section "Configuration Set Up"<span lang="EN-US" style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;"></span>.<br />4)Configure WPS<br />$./configure<br />NOTE from WPS README:<br />"<br />If the user is on a recognized architecture, the<br />configure script will display a list of available<br />compile options (usually serial vs parallel, Grib 2<br />enabled vs a "NO GRIB2" option).  For some OS options,<br />there are multiple compilers that are supported.<br />".<br />Before compile you should check variables<br />NCARG_ROOT<br />and <br />WRF_DIR<br />in the post-configure file “configure.wps”.<br />5)Compile WPS<br />$./compile<br />.<br /><b>Running the Application :<br /></b>1)<br />To test geogrid.exe in serial mode you should download workloads <a href="http://www.mmm.ucar.edu/wrf/src/wps_files/geog_v3.1.tar.gz">geog_v3.1.tar.gz </a>(e.g. /opt/WPS/WPS_DATA). Then to decompress this tar file<br />$tar -zxvf geog_v3.1.tar.gz<br />. <br />Edit  namelist.wps file (which should be in the root WPS directory /opt/WPS):<br />In the section &amp;geogrid you should change parameter  geog_data_path to path where geog_v3.1.tar.gz was decompressed(e.g. geog_data_path=/opt/WPS/WPS_DATA/geog_v3.1/geog). <br />Execute $ ./geogrid.exe. <br />When geogrid.exe has finished running, the message: <br />!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br />! Successful completion of geogrid. !<br />!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br /><br />2) <br />To test ungrid.exe in serial mode you should download workloads <a href="http://www.mmm.ucar.edu/wrf_tmp/WRF_OnLineTutorial/SOURCE_DATA/JAN00.tar.gz">JAN00.tar.gz</a>. Then decompress it(/opt/WPS/WPS_DATA):<br />$tar -zxvf JAN00.tar.gz<br />.<br />Run g1print utility:<br />$./util/g1print.exe ../WPS_DATA/JAN00/2000012412.AWIPSF<br />.<br />Link in the AWIP Vtable:<br />$ln -sf ungrib/Variable_Tables/Vtable.AWIP<b></b> Vtabl<br />.<br />Link in the GRIB data by making use of the script link_grib.csh:<br />$./link_grib.csh ../WPS_DATA/JAN00/2000012<br />.<br />Edit namelist.wps, and set the following:<br />start_date = '2000-01-24_12:00:00',<br />end_date = '2000-01-25_12:00:00',<br />interval_seconds = 21600,<br /><b></b>Run ungrib to create the intermediate files:<br />$./ungrib.exe<br />After finishing you should get message:<br />!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br />! Successful completion of geogrid.!<br />!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br /><br />3)<br />To test metgrid.exe you should run it:<br />$./metgrid.exe<br />After finishing you should get message:<br />!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br />! Successful completion of geogrid.!<br />!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br /><br /><b>Known Issues or Limitations :</b><br />1)<br />If WPS should be built by Intel MPI then change variables FC and CC by <br />CC=mpiicc<br />FC=mpiifort<br />in the post-configure file “configure.wps”.<br />2)<br />In file namelist.wps variable max_dom =2 (by default). But for provided workload it should be equal 1:<br />max_dom =1. <br /><br /><br /><b></b> ]]></description>
      <link>http://software.intel.com/en-us/articles/wps-v311-installation-bkm-for-linux-with-intel-fortran-compiler-v-111</link>
      <pubDate>Wed, 19 Aug 2009 05:33:56 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/wps-v311-installation-bkm-for-linux-with-intel-fortran-compiler-v-111#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/wps-v311-installation-bkm-for-linux-with-intel-fortran-compiler-v-111</guid>
      <category>Parallel Programming</category>
      <category>ISN General</category>
      <category>Intel® MPI Library</category>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® MPI Library for Linux* Knowledge Base</category>
    </item>
    <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>