<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Sun, 12 Feb 2012 06:48:45 -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-parallel-composer-kb/type/known-issues/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles Feed</title>
    <link>http://software.intel.com/en-us/articles/intel-parallel-composer-kb/type/known-issues/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>OpenMP loop does not parallelize with continue statement in the catch block</title>
      <description><![CDATA[ A "continue" statement inside the "catch" block of a try/catch construct inside a for loop within an OpenMP parallel region, inhibits the compiler's ability to parallelize the OpenMP loop as shown below:<br /><br />
<p> </p>
<p>#include &lt;iostream&gt;<br />#include "omp.h"<br />using namespace std;<br />const int MAX = 6000;</p>
<p>int main(){</p>
<p>#pragma omp parallel for  <br />    for(int i=0; i&lt; MAX; i++){<br />      try{<br />          cerr &lt;&lt; "testing ... " &lt;&lt;endl;<br />      }   catch (exception&amp; e){<br />            #ifdef CONTINUE<br />              continue;<br />            #endif<br />          }<br />    }<br />  return 0;<br />}</p>
<p>// Loop parallelizes without the "continue" statement<br /><strong>&gt;icl -c -Qopenmp -Qopenmp-report2 /EHsc test.cpp<br /></strong>Intel(R) C++ Compiler XE for applications running on IA-32, Version 12.1.2.278 Build 20111128<br />Copyright (C) 1985-2011 Intel Corporation.  All rights reserved.</p>
<p>test.cpp<br />test.cpp(9): (col. 1) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.</p>
<p>// Loop does not parallelize with the "continue" statement <br /><strong>&gt;icl -c /D CONTINUE -Qopenmp -Qopenmp-report2 /EHsc test.cpp<br /></strong>Intel(R) C++ Compiler XE for applications running on IA-32, Version 12.1.2.278 Build 20111128<br />Copyright (C) 1985-2011 Intel Corporation.  All rights reserved.</p>
<p>test.cpp</p>
<p><br />This is a known issue that is under investigation, and may be resolved in a future version of the compiler. </p> ]]></description>
      <link>http://software.intel.com/en-us/articles/openmp-loop-does-not-parallelize-with-continue-statement-in-the-catch-block/</link>
      <pubDate>Fri, 03 Feb 2012 00:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/openmp-loop-does-not-parallelize-with-continue-statement-in-the-catch-block/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/openmp-loop-does-not-parallelize-with-continue-statement-in-the-catch-block/</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® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>FileTracker : error FTK1011: could not create the new file tracking log file: ...icl-mcpcom.read.1.tlog</title>
      <description><![CDATA[ <div id="art_pre_template"><b>Problem : </b><br />FileTracker : error FTK1011: could not create the new file tracking log file: ...\icl-mcpcom.read.1.tlog<br /><br />The compilation error above is encountered when building your application with Intel(R) C++ Composer XE or 2011 for Windows. <br /><br />This issue is often seeing when using the Intel C++ Composer XE for Windows update 6 or update 7. <br /><br /><strong>Environment:  </strong>Windows; Visual Studio 2010* standard edition or above <br /><strong>Product: <br /></strong>
<ul>
<li>Intel(R) C++ Composer XE for Windows</li>
<li>Intel(R) C++ Composer 2011 for Windows</li>
</ul>
<p><strong>Root Cause : <br /></strong><br />The problem is related to parallel compilation, or simultaneous compilation. So the /MP option is one source of this issue, another source is the default multi source compilation feature in Intel C++ compiler.<br /><br />A bug in "tracker.exe" has been filed to Microsoft* at <a href="https://connect.microsoft.com/VisualStudio/feedback/details/698700/vsip-file-tracker-fails-on-tools-spawning-multiple-processes">https://connect.microsoft.com/VisualStudio/feedback/details/698700/vsip-file-tracker-fails-on-tools-spawning-multiple-processes</a> . <br />This issue will be monitored closely. If there is any new update, we will update you here. <br /><br /><strong>Resolution : </strong><br />There are two workarounds. We are still working on a better solution. We will update this article with a better solution when available. <br /><br /><span ><strong>Work around #1:</strong></span> Disable all parallel compilation<br />1. Disable /MP for the project(s) in the "Multi-processor Compilation" row under Configuration Properties &gt; C/C++ in the project property window. <br />2. Add "/Q_multisrc-" in the "Additional Options" Text field under Configuration Properties &gt; C/C++ &gt; Command Line in the project property window. <br /><br />The "/Q_multisrc-" is an option from Intel C++ compiler only. It disables the multi-source compilation feature in the Intel C++ compiler. <br /><br /><strong>*Note</strong>: this work around will slow down compilation, but the minimal build will work. <br /><br /><span ><strong>Work around #2:</strong></span>  Disable FileTracker for project(s)</p>
Edit the project's .vcxproj file that has this issue with a Notepad, set the element "TrackFileAccess" property to "false" like below:<br /><br />
<blockquote>&lt;PropertyGroup Label="Globals"&gt;<br />&lt;ProjectGuid&gt;{9592E668-4D58-4B32-8D5F-79CFB912CC41}&lt;/ProjectGuid&gt;<br />&lt;RootNamespace&gt;&lt;project_name&gt;&lt;/RootNamespace&gt;<br />&lt;Keyword&gt;Win32Proj&lt;/Keyword&gt;<br /><strong>&lt;ProjectName&gt;myproj&lt;/ProjectName&gt;<br />&lt;TrackFileAccess&gt;false&lt;/TrackFileAccess&gt;<br /></strong>&lt;/PropertyGroup&gt;<br /></blockquote>
If you do not see the "&lt;TrackFileAccess&gt;true&lt;/TrackFileAccess&gt;", add it inside the &lt;PropertyGroup&gt;.<br /><br />
<p><strong>*Note:</strong> Using this workaround causes your project to <strong>rebuild </strong>even when a single source file is changed.</p>
</div> ]]></description>
      <link>http://software.intel.com/en-us/articles/filetracker-error-ftk1011-could-not-create-the-new-file-tracking-log-file-icl-mcpcomread1tlog/</link>
      <pubDate>Thu, 03 Nov 2011 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/filetracker-error-ftk1011-could-not-create-the-new-file-tracking-log-file-icl-mcpcomread1tlog/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/filetracker-error-ftk1011-could-not-create-the-new-file-tracking-log-file-icl-mcpcomread1tlog/</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>&amp;#34;The system cannot find the path specified&amp;#34; when building samples using Intel® Threading Building Blocks</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number :</strong> DPD200172472<br /><br /><br /><strong>Version :</strong> 2011<br /><br /><br /><strong>Product :</strong> Intel® C++ Composer XE, Intel® Parallel Composer<br /><br /><br /><strong>Operating System : </strong>Windows*<br /><br /><br /><strong>Problem Description :</strong> In update 6, certain compiler samples that use Intel® Threading Building Blocks, for example cilk\qsort-mutex may fail when built in Microsoft Visual Studio 2010* during a post-build copy step.  The output you get will look like:<br /><br />
<pre name="code" class="shell:nogutter:nocontrols">1&gt;  Description: Copy TBB DLLs
1&gt;  The system cannot find the path specified.
1&gt;  The system cannot find the path specified.
1&gt;C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "copy /y "\redist\ia32\tbb\vc_mt\tbb_debug.dll" "C:\Cilk\RC3\Cilk\qsort-mutex\Debug\"
1&gt;C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: copy /y "\redist\ia32\tbb\vc_mt\tbbmalloc_debug.dll" "C:\Cilk\RC3\Cilk\qsort-mutex\Debug\"
1&gt;C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: 
1&gt;C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 1.
1&gt;
1&gt;Build FAILED.</pre>
<br /><strong>Resolution Status :</strong> We are working on resolving this in a future release.  In the meantime, go to the project properties for the sample in question, go to "Build Events-&gt;Post Build Event" and Edit the "Command Line" field, and replace any instance of "$(INTEL_DEF_IA32_INSTALL_DIR)" with the hardcoded path to the Intel Parallel Composer or C++ Composer XE root directory.<br /><br /><br /><br /><i>[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.]</i></div>
			 ]]></description>
      <link>http://software.intel.com/en-us/articles/the-system-cannot-find-the-path-specified-when-building-samples-using-intel-threading-building-blocks/</link>
      <pubDate>Tue, 06 Sep 2011 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/the-system-cannot-find-the-path-specified-when-building-samples-using-intel-threading-building-blocks/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/the-system-cannot-find-the-path-specified-when-building-samples-using-intel-threading-building-blocks/</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Parallel Studio 2011 SP1 Release Notes</title>
      <description><![CDATA[ <p>This page provides the current Installation Guide and Release Notes for the Intel® Parallel Studio 2011 SP1 product. All files are in PDF format - <a target="_blank" href="http://www.adobe.com/go/EN_US-H-GET-READER">Adobe Reader* </a>(or compatible) required.</p>
<p>To get product updates, log in to the <a href="https://registrationcenter.intel.com/">Intel® Software Development Products Registration Center</a></p>
<p>For questions or technical support, visit <a target="_blank" href="http://software.intel.com../../../../../sites/support/">Intel® Software Developer Support</a></p>
<hr />
<p><strong>Version 2011 SP1 Initial release</strong>, September 6, 2011: <a href="http://software.intel.com/file/38337">release_notes_studio.pdf</a></p>
<hr /> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-parallel-studio-2011-sp1-release-notes/</link>
      <pubDate>Wed, 31 Aug 2011 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-parallel-studio-2011-sp1-release-notes/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-parallel-studio-2011-sp1-release-notes/</guid>
      <category>Intel® Parallel Amplifier Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
      <category>Intel® Parallel Inspector Knowledge Base</category>
      <category>Intel® Parallel Advisor Knowledge Base</category>
    </item>
    <item>
      <title>Function maps in Array Notation are not converted to multi-threaded calls</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number : </strong>DPD200167322<br /><br /><br /><strong>Version :</strong> 12.0<br /><br /><br /><strong>Product :</strong> Intel® C++ Compiler XE<br /><br /><br /><strong>Operating System :</strong> Windows*, Linux* and Mac* OS<br /><br /><br /><b>Problem Description : </b><br />In "Intel® C++ Compiler XE 12.0 User and Reference Guides" -&gt; "Creating Parallel Applications" -&gt; "Using Intel(R) Cilk(TM) Plus" -&gt; "Extensions for Array Notation" -&gt; "C/C++ Extensions for Array Notations Programming Model", it says:<br /><br />"Function maps are powerful tools used to apply a set of operations in parallel to all elements of an array section. The compiler takes advantage of function maps to generate multi-threaded parallel calls."<br /><br />At this point, Intel C++ Compiler XE doesn't generate multi-threaded code for function maps. The last sentence needs to be removed.<br /><br /><br /><b>Resolution Status : </b><br />This documentation defect has been fixed. The fix will be available in a future product update.<br /><br /><br /><i>[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.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/function-maps-in-array-notation-are-not-converted-to-multi-threaded-calls/</link>
      <pubDate>Mon, 27 Jun 2011 08:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/function-maps-in-array-notation-are-not-converted-to-multi-threaded-calls/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/function-maps-in-array-notation-are-not-converted-to-multi-threaded-calls/</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® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Intel C++ Compiler XE 12.0.targets(206,5): error : backend signals </title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number : </strong>DPD200170608<br /><br /><br /><strong>Version : </strong>12.0 <br /><br /><strong>Product : </strong>Intel(R) C++ Compiler XE Version 12.0 <br /><br /><strong>Operating System : </strong>Windows*<br /><br /><br /><strong>Problem Description : </strong>When compiling some programs in the Visual Studio* 2008 or 2010 the compiler may issue the following error:<br /><br />
<p><strong>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets\Intel C++ Compiler XE 12.0\Microsoft.Cpp.Win32.Intel C++ Compiler XE 12.0.targets(206,5): error : 0_12307</strong></p>
<br /><br /><br /><strong>Resolution Status : </strong>This is a known issue that is under investigation.  The issue may be resolved in a future product update.  As a temporary workaround to avoid the error and be able to build the rest of the project with the Intel(R) C++ Compiler you could compile the affected file with the Microsoft* C++ Compiler in the IDE as follows:<br /><br />- Right click the file name and click "Properties==&gt;C/C++==&gt;General[Intel C++]==&gt;Use Visual C++ Compiler==&gt;Yes<br /><br /><br /><br /><i>[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.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-c-compiler-xe-120targets2065-error-backend-signals/</link>
      <pubDate>Wed, 15 Jun 2011 21:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-c-compiler-xe-120targets2065-error-backend-signals/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-c-compiler-xe-120targets2065-error-backend-signals/</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>mathimf.h is incompatible with system math.h</title>
      <description><![CDATA[ <strong>Reference number</strong>: DPD200166165 <br /><br /><strong>Problem</strong> : mathimf.h problem in VS2010<br /><br /><strong>Environment</strong> : VS2010 , Intel C++ compiler<br /><br /><strong>Affected compilers</strong>: 12.0 u/d (1 to 4)<br /><br /><strong>Sample code:</strong> <br /><br />
<pre name="code" class="cpp">#pragma once

#include &lt;string&gt;
using std::string;

#include &lt;mathimf.h&gt;

class bccb
{
bccb(void);
~bccb(void);
};


bccb::bccb(void)
{
}

bccb::~bccb(void)
{
}
</pre>
<br /><strong>Problem Description</strong>:--<br />When above is compiled with Intel compiler in VS2010 mode, following error:--<br /><br /># error "&lt;mathimf.h&gt; is incompatible with system &lt;math.h&gt;!"<br /><br />With VS2008, the code compiles fine.<br /><br />Solutions/workarounds:--<br /><br />1. Use math.h instead of mathimf.h, and in case of a needed Intel-specific functions, their definitions can be taken from mathimf.h and inserted into application code.<br /><br />2. Standard recommendation is to avoid usage of math.h and mathimf.h in the same compilation unit<br />by separating code that depends on math.h from the code that depends on mathimf.h into dirrerent files.<br />The above code though has the problem that the use is not avoided. This is an issue needed to be fixed.<br /><br />3. First, try to include &lt;mathimf.h&gt; before any other header. This will automatically prevent futher inclusions of &lt;math.h&gt;.<br />So, include &lt;mathimf.h before &lt;string&gt; . But still icl in VS2010 mode does not compile, and this will be fixed in later release. &lt;math.h&gt; should never be mistakenly used before &lt;mathimf.h&gt;, as this would definitely cause problems due to below reason:--<br /><br />In C language,<br />MS math.h deprecates usage of some c99-functions.<br />The issue here is that MS does not support ISO C99.<br />Also a number of float and long double functions are defined<br />through calls to corresponding double-precision functions,<br />giving performance or accuracy loss compared to float/long-double functions<br />existing in Intel math library.<br /><br />In C++ language,<br />MS redefines a number of c99-functions so that they are inlined.<br /><br /><strong>Resolution status</strong>: <br />This issue will be fixed in the later 12.0 release and next major release 12.1. <br />So, including &lt;mathimf.h&gt; before &lt;math.h&gt; explicitly or inadvertently as in sample code will build fine with VS2010 in later 12.x .<br /><br /><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.]<br /><br /><br /></em><br /> ]]></description>
      <link>http://software.intel.com/en-us/articles/mathimf-is-incompatible-with-system-math/</link>
      <pubDate>Mon, 30 May 2011 08:30:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/mathimf-is-incompatible-with-system-math/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/mathimf-is-incompatible-with-system-math/</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>PTXAS in CUDA* SDK stalls when MonteCarloMultiGPU is built with ICL</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><b>Reference Number : </b>DPD200168903<br /><br /><br /><b>Version : </b>12.0<br /><br /><br /><b>Product : </b>Intel(R) C++  Compiler for Windows*<br /><br /><br /><b>Operating System : </b>Windows*<br /><br /><br /><b>Problem Description : </b>When building the  "MonteCarlo" or "MonteCarloMultiGPU projects in NVIDIA* CUDA* SDK v3.2 with the Intel(R) C++ Compiler 12.0 in Microsoft*  Visual Studio 2008* the PTXAS program stalls and the build process never terminates in Visual Studio.<br /><br /><br /><br /><b>Resolution Status : </b>The cause of this problem is that under the Intel(R) C++ Compiler, the "-G0" option is passed to the NVIDIA* nvcc.exe compiler and stalls the build process.  This issue may be resolved in a future Intel(R) C++ Compiler update. <br /><br /></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/ptxas-in-cuda-sdk-stalls-when-montecarlomultigpu-is-built-with-icl/</link>
      <pubDate>Wed, 18 May 2011 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/ptxas-in-cuda-sdk-stalls-when-montecarlomultigpu-is-built-with-icl/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/ptxas-in-cuda-sdk-stalls-when-montecarlomultigpu-is-built-with-icl/</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Don&amp;#39;t optimize when using -ftrapuv for uninitialized variable detection</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number :</strong> dpd200139115,  dpd200138937  (documentation).<br /><br /><br /><strong>Version :</strong> 2011, (compiler version 12);  compiler pro versions 10 and 11 <br /><br /><br /><strong>Product : </strong>Intel(R) Composer XE; Intel(R) Compiler Pro<br /><br /><br /><strong>Operating System :</strong> Windows*, Linux*, Mac OS* X<br /><br /><b>Problem Description : </b><br />If the switch /Qftrapuv (-ftrapuv) for run-time detection of uninitialized local scalar variables is used in conjunction with optimization flags such as /O2 (-O2), it may lead to unexpected floating-point exceptions that are not related to uninitialized variables.<br /><br /><b>Explanation : </b><br />The switch /Qftrapuv (-ftrapuv)  sets local, scalar variables that are not otherwise initialized to an "unusual" initial value such as 0xCCCCCCCC. When the main program is compiled with this switch, it also unmasks the "INVALID" floating-point exception. so that exceptions may be raised when the "unusual" values are used in floating-point operations. The switch also changes the default optimization level from /O2 to /Od (from -O2 to -O0). This is so that exceptions will not be raised as a result of speculated floating-point operations or other optimizations. If the new default optimization level of /Od (-O0) is explicitly overridden, optimizations such as floating-point speculation associated with masked vector operations may result in INVALID exceptions that would not otherwise have been raised.<br /><br /><br /><strong>Solution</strong>:<br /><strong>Either</strong>:  Do not override the default /Od (-O0) optimization level when using /Qtrapuv (-ftrapuv).   (Sometimes, it may be sufficient to use /Qfp-speculation:safe (-fp-speculation safe) in conjunction with -O2).<br /><strong>or (Fortran only)</strong>:   Use the switch /check:uninit (-check uninit)  in preference to /Qtrapuv (-ftrapuv) for the run-time detection of uninitialized, local scalar variables. This uses a different mechanism for uninitialized variable detection that is less likely to produce unrelated floating-point exceptions.<br /><br />Intel(R) Inspector XE, a component of Intel(R) Parallel Studio XE,  may also be used for the detection of some instances of uninitialized variables.<br /><br /><br /><br /><i>[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.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/dont-optimize-when-using-ftrapuv-for-uninitialized-variable-detection/</link>
      <pubDate>Wed, 22 Dec 2010 21:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/dont-optimize-when-using-ftrapuv-for-uninitialized-variable-detection/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/dont-optimize-when-using-ftrapuv-for-uninitialized-variable-detection/</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>How to prevent source code full path location information from being visible in an executable</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><b>Problem : </b>When using the -openmp  or -parallel compiler options under linux* or Mac OS* X, or the /Qopenmp or /Qparallel options under Windows, the resulting executable files contain the full pathnames to the source files for each source file containing an OpenMP or Parallel region.   This was done to allow Intel profiling and correctness checking tools to be able to find and display source information in the analysis tools.<br /><br /><br /><b>Environment : </b>Windows*, Linux*, Mac OS* X, all compilers since 9.1 versions<br /><br /><b>Root Cause : </b><br />The Intel compilers by default included source file full path information so that Intel analysis tools could find source files during analysis for correctness or performance.<br /><br /><b>Resolution : </b><br />With the release of Intel Composer XE ( aka version 12.0 ) an option was included to allow removing this source path information from the executable header information:<br /><br />Linux and Mac OS X:   -no-parallel-source-info  compiler option should be used<br />Windows:     /Qparallel-source-info-   compiler option should be used<br /><br />These options are only available in the 12.0 aka Composer XE compiler products.  If you are using an older version, please upgrade to 12.0.<br /><br /></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/how-to-prevent-source-code-full-path-location-information-from-being-visible-in-an-executable/</link>
      <pubDate>Thu, 16 Dec 2010 20:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/how-to-prevent-source-code-full-path-location-information-from-being-visible-in-an-executable/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/how-to-prevent-source-code-full-path-location-information-from-being-visible-in-an-executable/</guid>
      <category>Intel® Parallel Composer</category>
      <category>Intel® Cluster Toolkit Compiler</category>
      <category>Intel® Compilers</category>
      <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® Cluster Toolkit for Linux* Knowledge Base</category>
      <category>Intel® Cluster Toolkit 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>
    </item>
  </channel></rss>
