<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Tue, 24 Nov 2009 15:48:58 -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-thread-checker-for-windows-kb/type/technical-notes/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles feed</title>
    <link>http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-kb/technical-notes/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Intel® Thread Checker for Linux* - General Installation Information</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>Page Contents:</strong></p>
<ul>
<li><a href="#1">What software must already be installed?</a></li>
<li><a href="#2">Installing a New Version Over an Already Installed Version</a></li>
<li><a href="#3">General Installation Tips for Linux*</a></li>
</ul>
<p><br><a name="1"></a><strong>What software must already be installed?</strong><br>Before installing Intel® Thread Checker onto Microsoft Windows*, you must have the 
<a href="http://www.intel.com/software/products/vtune/">VTune&trade; Performance Analyzer v7.2</a> already installed, as Intel® Thread Checker is a plug-in to the VTune&trade; environment. Visit the 
<a href="http://www.intel.com/software/products/threading/">Intel® Threading Tools</a> Web site to obtain VTune Performance Analyzer and/or Intel Thread Checker.
<br><br>On Microsoft Windows systems, you must also have the following already installed:</p>
<ul>
<li>Microsoft Visual* C++ v6.0, or higher</li>
<li>
<a href="http://www.intel.com/software/products/compilers/">Intel® Compilers</a> are required for source 
<a href="/en-us/articles/intel-thread-checker-for-windows-instrumentation">instrumentation</a> or OpenMP* analysis.</li>
<li>Microsoft* Internet Explorer v6.0, or higher</li>
<li>Adobe* Reader*</li>
</ul>
<p>To use the Linux* Remote Data Collector (Remote Agent), you must also install Intel Thread Checker on a Microsoft Windows system.</p>
<br><p><a name="2"></a><strong>Installing a New Version Over an Already Installed Version</strong><br>To install a new version of Intel Thread Checker, you must first uninstall the currently installed version.
<br><br><strong>Note:</strong> Before removing the current version from Windows, you might want to save your projects using 
<strong>File &raquo; Pack and Go</strong> menu in the VTune environment.
<br><br>To remove the currently installed version from Windows*, go to 
<strong>Start &raquo; Control Panel &raquo; Add or Remove Programs &raquo; Intel® Thread Checker</strong>.
<br><br>To remove the currently installed version from Linux, run 
<strong>uninstall32.sh</strong> or 
<strong>uninstall64.sh</strong>, which is typically found in the 
<strong>/opt/intel/itt</strong> directory.</p>
<p><br><a name="3"></a><strong>General Installation Tips for Linux*</strong></p>
<ul>
<li>To use the Linux Remote Data Collector (Remote Agent), you must also install Intel Thread Checker on a Microsoft Windows system.</li>
<li>The Remote Data Collector (RDC) .tar file for Linux is included with the Windows* installation package.</li>
<li>If you use ftp* to transfer the RDC .tar file to a Linux system, be sure to use a binary transfer.</li>
<li>If you are also using the Intel Compilers on your Linux system, you should install Intel Compilers 
<strong>before</strong> installing Intel Thread Checker.
<ul type="circle"></ul>
</li>
<li>If you update your Intel Compilers after installing Thread Checker, re-run the Thread 
Checker install script after updating the Intel Compilers.</li>
</ul>
<ul>
<li>Installation includes a script 
<strong>tcvars.sh</strong> (and 
<strong>tcvars.csh</strong>), typically in the 
<strong>/opt/intel/itt/tcheck/bin/32</strong> or 
<strong>/opt/intel/itt/tcheck/bin/64</strong> directory. Use the 
<strong>source tcvars.sh</strong> command to setup the shell environment for source instrumentation with the Intel® Compiler.</li>
<li>After installation, see the file 
<strong>tcheckFAQ.htm</strong>, typically found in the 
<strong>/opt/intel/itt</strong> directory, for important overview and usage information.</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/intel-thread-checker-for-linux-general-installation-information</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-for-linux-general-installation-information#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-for-linux-general-installation-information</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Thread Checker for Linux* - Tips and Techniques</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>Page Contents:</strong><br></p>
<ul>
<li><a href="#1">I don't have source code. Can I use Intel® Thread Checker?</a></li>
<li><a href="#2">Collecting Thread Checker Diagnostics Outside of the VTune&trade; Environment</a></li>
<li><a href="#3">Analyze Multiple Processes or Executables</a></li>
<li><a href="/en-us/articles/intel-thread-checker-tips-for-analyzing-long-diagnostic-lists">Tips for Analyzing Long Diagnostic Lists</a></li>
<li><a href="/en-us/articles/performance-tools-for-software-developers-catastrophic-error-tcheck10ini-not-found">Catastrophic error: tcheck10.ini not found</a></li>
</ul>
<br><a name="1"></a><strong>I don't have source code. Can I use Intel® Thread Checker?</strong><br>Yes. For example: You are using an executable file from another vendor, so you don't have source code to it. But you are interested in diagnostics about a library (.dll or .so file) that is loaded by the vendor's executable file. You may not even have source code for the library that gets loaded. You can still use Thread Checker to see if any threading diagnostics are detected.Of course, if you really want to correct threading issues, you'll need source code.
<br><br><br><a name="2"></a><strong>Collecting Thread Checker Diagnostics Outside of the VTune&trade; Environment</strong><br>To collect diagnostics outside of the VTune&trade; environment, follow this process:
<ol>
<li>Compile your software using an Intel® Compiler and the /Qtcheck (on Microsoft Windows*) or -tcheck (on Linux*) switch. This option enables source 
<a href="/en-us/articles/intel-thread-checker-for-windows-instrumentation">instrumentation</a>.
<br><br>
</li>
<li>Start your software as usual from the Windows*, DOS* or Linux* environment. For example, use Windows Explorer* to browse to your executable file and double-click on that file name.
<br><br>
</li>
<li>Run your software until it terminates normally. Don't forget to reduce your 
<a href="/en-us/articles/intel-thread-checker-for-windows-execution-speed-and-memory-usage">workload</a>. Also because your software is instrumented, expect that it will run slower than usual.
<br><br>
</li>
<li>Exit (quit) your software, and a Thread Checker results ("*.thr") file is written to the working folder. If you are running on a Linux* system, transfer the .thr results file back to a Microsoft Windows* system (with Thread Checker installed) for viewing.
<br><br>
</li>
<li>To view the results file with Windows* Explorer, simply double-click the file. Alternatively you can start the VTune environment and open it with the 
<strong>File &raquo; Open File ...</strong> (NOT 
<strong>Open Project...</strong>) dialog. 
<strong>Important:</strong> Don't forget to set the file type to 
<strong>*.thr</strong> when using this dialog.</li>
</ol>Keep in mind that when collecting data outside of the VTune environment, only software that has been source instrumented will be analyzed by Thread Checker. Therefore, threading errors in the not instrumented softwa
re may be missed. To ensure that all run-time code is instrumented, you must run from within the VTune environment or Microsoft .NET* Developer Environment.
<br><br><strong>Note:</strong> Many third-party libraries, such as MFC* (Microsoft Foundation Class*) libraries, create and use threads. Therefore, software that uses MFC should always be run from within the VTune environment or Microsoft .NET* Developer Environment
<br><br><br><a name="3"></a><strong>Analyze Multiple Processes or Executables</strong><br>Intel® Thread Checker only supports one process (executable) when run from within either the VTune&trade; environment or Microsoft .NET* Developer Environment. Furthermore, Thread Checker only supports finding diagnostics within one process; that is it will not produce diagnostics for synchronization objects shared between processes. However if your software launches another process, Thread Checker can still be used to find threading diagnostics within either process. To use Thread Checker for either process, use source 
<a href="/en-us/articles/intel-thread-checker-for-windows-instrumentation">instrumentation</a> and run your software outside of the VTune&trade; environment.
</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-thread-checker-for-linux-tips-and-techniques</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-for-linux-tips-and-techniques#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-for-linux-tips-and-techniques</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Thread Checker - Tips for Analyzing Long Diagnostic Lists</title>
      <description><![CDATA[ <table border="0" cellspacing="15" cellpadding="0">
<tbody>
<tr>
<td class="bodycopy">
<p>This document provides the best known method for dealing with long diagnostic lists in Intel® Thread Checker. <br /><br /><img src="http://software.intel.com/file/6398" border="0" alt="icon" width="16" height="16" align="bottom" /><a href="javascript:ShowNew(&quot;http://download.intel.com//support/performancetools/threadchecker/bkm.pdf&quot;)" target="_top">Tips for Analyzing Long Diagnostic Lists [BKM.PDF]</a><br /><img src="http://software.intel.com/file/6408" alt="" width="15" height="3" /><em>Size:</em> 2586113 bytes <br /><img src="http://software.intel.com/file/6408" alt="" width="15" height="3" /><em>Date:</em> 03/14/03 02:38 PM <br />

<img src="http://software.intel.com/file/6408" alt="" width="1" height="10" /></p>
<p class="bodycopy"><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;"><strong>Note:</strong> PDF Files require  <a href="javascript:ShowNewPdf(&quot;http://www.adobe.com/products/acrobat/readstep2.html&quot;)" target="_top">Adobe Acrobat* Reader</a><sup>†</sup></span></p>
<br /><img src="http://software.intel.com/file/6408" alt="" width="1" height="10" /><br />
<p class="xs"><span style="font-family: Arial,Helvetica,sans-serif; font-size: xx-small;"> <sup>†</sup> This link will take you off of the Intel Web site. Intel does not control the content of the destination Web Site.</span></p>
</td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-thread-checker-tips-for-analyzing-long-diagnostic-lists</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-tips-for-analyzing-long-diagnostic-lists#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-tips-for-analyzing-long-diagnostic-lists</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Thread Checker - Threading Methodology [PDF]</title>
      <description><![CDATA[ <table border="0" cellspacing="15" cellpadding="0">
<tbody>
<tr>
<td class="bodycopy">
<p>This document introduces threading concepts and provides a methodology for threading serial applications and for tuning threaded applications for performance using the Intel® Threading Tools.</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><img src="http://software.intel.com/file/6398" border="0" alt="icon" width="16" height="16" align="bottom" /></td>
<td class="bodycopy"><a href="http://software.intel.com/file/6393">Threading Methodology: Practices &amp; Principles [PDF]</a></td>
</tr>
<tr>
<td><img src="http://software.intel.com/file/6408" alt="" width="15" height="3" /></td>
<td class="bodycopy"><em>File Name:</em> methodology.pdf <br /><em>Size:</em> 1,684,645 bytes <br /><em>Date:</em> 10/30/04 <br /></td>
</tr>
</tbody>
</table>

<img src="http://software.intel.com/file/6408" alt="" width="1" height="10" /><br />
<p class="bodycopy"><span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;"><strong>Note:</strong> PDF Files require  <a href="javascript:ShowNewPdf(&quot;http://www.adobe.com/products/acrobat/readstep2.html&quot;)" target="_top">Adobe Acrobat* Reader</a><sup>†</sup></span></p>
<br /><img src="http://software.intel.com/file/6408" alt="" width="1" height="10" /><br />
<p class="xs"><span style="font-family: Arial,Helvetica,sans-serif; font-size: xx-small;"> <sup>†</sup> This link will take you off of the Intel Web site. Intel does not control the content of the destination Web Site.</span></p>
</td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-thread-checker-threading-methodology-pdf</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-threading-methodology-pdf#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-threading-methodology-pdf</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Thread Checker for Windows* - Product Overview</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® Thread Checker is a tool that locates software threading bugs, such as data races, stalls, and deadlocks. Thread Checker monitors your software's execution to detect hard-to-find and impossible-to-find intermittent errors whether or not they actually occurred during execution.
<br><br>Thread Checker uses 
<a href="/en-us/articles/intel-thread-checker-for-windows-instrumentation">instrumentation</a>, which occurs automatically at run-time within the VTune environment or Microsoft .NET* Developer Environment, or can be performed beforehand with the Intel® C++ or Fortran Compilers.
<br><br>When your software has finished executing, a diagnostic list of potential threading errors will be displayed. You can drill down to the line of source code where each diagnostics occurred, look at the call stack, and review variable definitions and context.
<br><br>For more information on this product, including how to purchase or get a free evaluation copy, please visit the 
<a href="http://www.intel.com/software/products/threading/">Intel® Threading Tools</a> web site.</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-thread-checker-for-windows-product-overview</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-product-overview#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-product-overview</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Thread Checker for Windows* - Preparing Your Software: Building or Making Source Code</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>Page Contents:</strong><br></p>
<ul>
<li><a href="#1">Tips on Preparing Microsoft Windows* Code</a></li>
<li><a href="#2">Intel® Thread Checker Run-Time Warnings for Microsoft Windows* Applications</a></li>
<li><a href="#3">I don't have source code. Can I use Intel® Thread Checker?</a></li>
</ul>
<br><p><strong><a name="1"></a>Tips on Preparing Microsoft Windows* Code for Intel® Thread Checker</strong><br>The following are general tips for preparing Windows* source code for Intel® Thread Checker. Build (make) your source with the following switches:</p>
<ul>
<li>Be sure to build thread-safe by compiling with the /MD, /MDd, /MT or /MTd switch. This will use the thread-safe run-time libraries.
<br><br><strong>Note:</strong> The default for Microsoft* and Intel® Compilers is the /ML or /MLd switch and this does not use thread-safe libraries.
<br><br>
</li>
<li>Generate symbols by compiling with the /Zi, /ZI or /Z7 switches and link with the /DEBUG switch. This will enable Thread Checker to specify source code information (file name and line number) with its diagnostics.
<br><br>
</li>
<li>Compile without optimization using the /Od switch. Just like when using a debugger, this will enable Thread Checker source code information (especially line numbers) to be accurate. Moreover, turning on compiler optimizations is usually not beneficial for code run under Intel Thread Checker.
<br><br>
</li>
<li>Executable software must be built so that it contains a relocation section that allows for relocation in memory. Relocation is required for 
<a href="/en-us/articles/intel-thread-checker-for-windows-instrumentation">instrumentation</a>. Most dynamic-link library (.dll) files can be relocated by default; however by default, most executable (.exe) files cannot be relocated. So always link with the /FIXED:NO switch to allow for relocation.
<br><br><strong>Tip:</strong> Instead of changing your project's settings, set the (system) environment variable 
<strong>LINK</strong> to the value 
<strong>/FIXED:NO</strong> and re-link your code to add a relocation section.
<br><br>
</li>
<li>To reduce executable (.dll or .exe) code size, link with the /INCREMENTAL:NO switch.</li>
</ul>
<p><strong><a name="2"></a>Intel® Thread Checker Run-Time Warnings for Microsoft Windows* Applications</strong><br>If you get the warning "modules were created without base relocations" when you run Intel® Thread Checker activity in the VTune&trade; environment or Microsoft .NET* Development Environment, your code probably doesn't contain a relocation section. Link with the /FIXED:NO switch to add a relocation section.</p>
<p><a name="3"></a><strong>I don't have source code. Can I use Intel® Thread Checker?</strong><br>Yes -- But on Microsoft Windows*, do not expect to get any threading diagnostics for the application (.exe) file itself b
ecause typically on Windows the executable does not have a relocation section.</p>
<p>An example of using Thread Checker without source code might be if you are using an application file from another vendor, so you don't have source code for the for the application. But you are interested in diagnostics about a dynamic or shared library file that is loaded by the vendor's .application. You may not even have source code for the library that gets loaded. You can still use Thread Checker to see if any threading diagnostics are detected. Of course, if you really want to correct threading issues, you'll need source code.</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-thread-checker-for-windows-preparing-your-software-building-or-making-source-code</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-preparing-your-software-building-or-making-source-code#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-preparing-your-software-building-or-making-source-code</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Thread Checker for Windows* - Execution Speed and Memory Usage</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>Page Contents:</strong></p>
<ul>
<li><a href="#1">Why does my software run so slow and/or use so much memory when run with Intel® Thread Checker?</a></li>
<li><a href="#2">About Workload Reduction: What does workload reduction mean?</a></li>
<li><a href="#3">About Workload Reduction: What kind of workload reduction should I use?</a></li>
<li><a href="#4">Reducing Memory Usage</a></li>
</ul>
<br><p><a name="1"></a><strong>Why does my software run so slow and/or use so much memory when run with Intel® Thread Checker?</strong><br>Intel® Thread Checker uses dynamic analysis as your threading software executes. As your software runs, Thread Checker uses 
<a href="/en-us/articles/intel-thread-checker-for-windows-instrumentation">instrumentation</a> to monitor each thread, including the threading APIs used and memory accesses. Therefore Thread Checker uses more memory due to the instrumentation and significantly slows down the execution of any software.</p>
<p>For this reason, it is critical to reduce the workload of your software before running it under Thread Checker. Reducing the workload may speed up analysis of the software and may reduce the memory used.
<br></p>
<p><a name="2"></a><strong>About Workload Reduction: What does workload reduction mean?</strong><br>This is a reduction in the amount of work your program performs. It might include reducing the amount of data your program processes and/or reducing the amount of processing your program performs on each piece of data.</p>
<p>Some examples of work-load reduction include:</p>
<ul>
<li>Processing a 32x24 pixel image instead of a 1920x1440 pixel image. If there is a threading error within the loops that process the image, it does not provide you with any more information to find the same error thousands or millions of times. Finding a threading error a few (tens or hundreds) times is sufficient and makes you more productive.
<br><br>
</li>
<li>Minimize the number of times you process each piece of data by reducing the loop iterations. Your software does not need a lot of accuracy when run under Intel® Thread Checker. After all, the goal is to find threading errors and not to get accurate results.
<br><br>
</li>
<li>Minimize the update rates and/or length. Try using only one second of video, or reduce the update rate of the display to once per second instead of thirty or more updates a second.</li>
</ul>
<br><p><a name="3"></a><strong>About Workload Reduction: What kind of workload reduction should I use?</strong><br>You should use as much workload reduction as possible while still being sure that you're executing the code that you want checked. Intel® Thread Checker uses dynamic analysis when executing your software. If section of your code is not executed, Thread Checker cannot give you diagnostics about the not-executed code. Where possible, you should try using multip
le short runs over different code paths.</p>
<br><p><a name="4"></a><strong>Reducing Memory Usage</strong><br>Some general tips for reducing memory usage:</p>
<ul>
<li>Reduce the size of the data-set that your software reads or writes, so that Intel® Thread Checker doesn't need to track as many memory accesses.
<br><br>
</li>
<li>Disable 
<strong>Allocated memory guard padding</strong> by setting it to 0 (zero). In the VTune&trade; environment, this can be set via the 
<strong>Configure &raquo; Modify Intel® Thread Checker Collector</strong> menu item and the 
<strong>Analysis</strong> tab.
<br><br>
</li>
<li>Make sure you are using the 
<a href="/en-us/articles/intel-thread-checker-for-windows-instrumentation">instrumentation</a> level of All Functions instead of Full Image. In the VTune environment, this can be set via the 
<strong>Configure &raquo; Modify Intel® Thread Checker Collector</strong> menu item and the 
<strong>Module Instrumentation</strong> tab.
<br><br>
</li>
<li>On Microsoft Windows*, link your software with the 
<strong>/INCREMENTAL:NO</strong> switch.</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/intel-thread-checker-for-windows-execution-speed-and-memory-usage</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-execution-speed-and-memory-usage#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-execution-speed-and-memory-usage</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Thread Checker for Windows* - Features List</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">
<ul>
<li><a href="#1">Features</a></li>
<li><a href="#2">Product Brief</a></li>
<li><a href="#3">Compatibility</a></li>
</ul>
<p><a name="1"></a><strong>Features</strong></p>Patented advanced error detection engine:
<ul>
<li>Detects hidden potential errors, mapping them to the source-code line, call stack, and memory reference</li>
<li>Displays warnings for effective diagnosis, highlighting the most potentially severe errors</li>
<li>Tracks the error down to the specific variable in your source code using source instrumentation</li>
<li>Mitigates the risk of adding threads and enables hands-on learning about threading principles</li>
</ul>
<p>Patented advanced error detection engine:</p>
<ul>
<li>Detects hidden potential errors, mapping them to the source-code line, call stack, and memory reference</li>
<li>Displays warnings for effective diagnosis, highlighting the most potentially severe errors</li>
<li>Tracks the error down to the specific variable in your source code using source instrumentation</li>
<li>Mitigates the risk of adding threads and enables hands-on learning about threading principles</li>
</ul>
<p>Works on standard debug builds:</p>
<ul><li>Does not require your application to be recompiled</li></ul>
<p>Calibration run:</p>
<ul><li>Recommends which modules to instrument based on usage, decreasing instrumentation time</li></ul>
<p>Patented OpenMP* analysis:</p>
<ul><li>Enables rapid prototyping by determining the impact that threading will have atspecific points in your application</li></ul>
<p>Real-time verbose output and status query:</p>
<ul><li>Start viewing detailed diagnostic information as soon as a potential error is uncovered, while Intel® Thread Checker continues to check the rest of the application.</li></ul>
<p>Improved existing features in the 3.1 release include the following:</p>
<ul>
<li>32-bit and 64-bit support for Windows Vista*</li>
<li>Support for Intel® VTune&trade; Performance Analyzer 9.0 for Windows*</li>
<li>Support for the latest Intel® multi-core processors, including</li>
<li>Intel® Core&trade; 2 Duo, and</li>
<li>Intel® Core&trade; 2 Quad processors</li>
</ul>
<ul><li>Performance optimizations by descriptor-based static binary instrumentation which, reduces the instrumented image size and decreases runtime overhead.</li></ul>
<br><p><a name="2"></a><strong>Product Brief</strong></p>
<p>Intel® Thread Checker 3.1 for Windows* is instrumental at every phase of the application development cycle.</p>
<ul>
<li>In the design phase, it helps you decide where and how to add threading in your application.</li>
<li>As you implement threading into your application, it can detect hard-to-find threading bugs like data races and deadlocks.</li>
<li>You can also ensure code quality by integrating it into your automated Quality Assurance/ test process.</li>
</ul>
<p><a name="3"></a><strong>Compatibility</strong></p>
<p>Intel Thread Checker 3.1 for Windows is compatible with today's in
dustry-standard development tools:</p>
<ul>
<li>Microsoft Visual Studio* .NET</li>
<li>Microsoft Visual C++* .NET development environment Compiler 2005, 2003, 2002 Editions or Visual C++ 6.0</li>
<li>Intel® Fortran and C++ Compilers</li>
<li>Windows threads and POSIX* threads</li>
<li>Support for OpenMP*</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/intel-thread-checker-for-windows-features-list</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-features-list#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-features-list</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Thread Checker for Windows* - Compiler settings for Windows* OpenMP* applications when using Thread Checker</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>Recommended Intel® Compiler Settings for Windows* OpenMP* Applications When Using the Intel® Thread Checker</strong></p>
<p>Get the best results from Intel® Thread Checker by using the following command to compile your Windows* OpenMP* applications:</p>
<blockquote><span class="Code">icl file.c /Qopenmp /MD [/Qtcheck] /Od /Zi /link /fixed:no</span></blockquote>
<table cellspacing="15" cellpadding="0" border="0"><tr><td bgcolor="#A6A6A6"><table cellspacing="1" cellpadding="5" border="0">
<tr>
<td class="bodycopy" bgcolor="#EFEFEF"><strong>Switch</strong></td>
<td class="bodycopy" bgcolor="#EFEFEF"><strong>Purpose</strong></td>
</tr>
<tr>
<td class="bodycopy" valign="top" bgcolor="#FFFFFF">
<span class="Code">/Qopenmp</span><br>(required)</td>
<td class="bodycopy" bgcolor="#FFFFFF">Tells the compiler to process the OpenMP* pragmas.</td>
</tr>
<tr>
<td class="bodycopy" valign="top" bgcolor="#FFFFFF">
<span class="Code">/MD</span><br>(highly recommended)</td>
<td class="bodycopy" bgcolor="#FFFFFF">
<p>Specifies to use the dynamic multi-threaded version of the C runtime library (
<span class="Code">msvcrt80.dll</span>).</p>
<p>Specifies to use the dynamic version of the OpenMP* runtime library. (
<span class="Code">libguide40.dll or libiomp5md.dll)</span></p>
<p><strong>Note:</strong></p>
<ul>
<li>
<span class="Code">/MT</span> uses the static version of the Intel runtime libraries for OpenMP* applications (
<span class="Code">libguide.lib</span> or 
<span class="Code">libiomp5mt.lib</span>). Intel® Thread Checker reports false positives if you use the static version of the OpenMP* runtime libraries.</li>
<li>
<span class="Code">/MT</span> specifies to use the static multi-threaded C runtime library (
<span class="Code">libcmt.lib</span>) that reduces the information available for the analysis engine. This may cause Intel® Thread Checker to miss statically linked 
<span class="Code">libc</span> calls of standard libraries. However, Intel® Thread Checker should still catch the underlying system APIs used to implement the 
<span class="Code">libc</span> capabilities.</li>
</ul>
</td>
</tr>
<tr>
<td class="bodycopy" valign="top" bgcolor="#FFFFFF">
<span class="Code">/Qtcheck</span><br>(optional)</td>
<td class="bodycopy" bgcolor="#FFFFFF">Enables thread count independent (TCI) analysis mode instead of thread count dependent (TCD) analysis mode on OpenMP* applications.</td>
</tr>
<tr>
<td class="bodycopy" valign="top" bgcolor="#FFFFFF">
<span class="Code">/Od</span><br>(recommended)</td>
<td class="bodycopy" bgcolor="#FFFFFF">
<p>Allows Intel® Thread Checker to more easily associate errors to source lines.</p>
<p>Intel® Thread Checker can also analyze optimized binaries, but it is difficult for Intel® Thread Checker to pinpoint the source code location causing a problem in optimized assembly that does not have specific 
source lines.</p>
</td>
</tr>
<tr>
<td class="bodycopy" valign="top" bgcolor="#FFFFFF">
<span class="Code">/Zi</span><br>(highly recommended)</td>
<td class="bodycopy" bgcolor="#FFFFFF">
<p>Creates symbols for the binary. Intel® Thread Checker uses the symbols to associate addresses to source lines.</p>
<p>Note: 
<strong>For binaries compiled without 
<span class="Code">/Zi</span> (no symbols), Intel® Thread Checker instruments us</strong>ing API Imports. Intel® Thread Checker cannot find all threading errors within a binary that is instrumented with API Imports. The Default of API Imports instrumentation on a particular file can be changed to Full Image via advanced settings in Intel® Thread Checker, but the result is that you will not see the source code that caused the problem, only the assembly.</p>
</td>
</tr>
<tr>
<td class="bodycopy" valign="top" bgcolor="#FFFFFF">
<span class="Code">/link /fixed:no</span><br>(required)</td>
<td class="bodycopy" bgcolor="#FFFFFF"><p>Required to allow Intel® Thread Checker to relocate functions within your binary.</p></td>
</tr>
</table></td></tr></table>
<p><strong>Related Documentation</strong></p>
<ul>
<li>Intel® Thread Checker Help &raquo; About OpenMP*</li>
<li>Using Intel® Thread Checker on OpenMP* Applications Compiled with the Microsoft* Compiler at [url…]</li>
</ul>
<p><strong>Confirmed On:</strong></p>
<ul>
<li>Microsoft* Visual Studio* 2005 development system</li>
<li>Intel® C/C++ Compiler 10.1 for Windows*</li>
<li>Intel® Fortran Compiler 10.1 for Windows*</li>
<li>Intel® Thread Checker 3.1 for Windows*</li>
</ul>
<p><strong>Operating System:</strong><br></p>
<table border="0" cellspacing="0" cellpadding="0"><tr><td class="xs">Windows* XP Professional x64 Edition, Windows Server* 2003 Standard x64 Edition, Windows Server* 2003 Enterprise x64 Edition, Longhorn Beta 1, Windows Vista* Beta 1, Windows* Storage Server, Windows Vista* 64, Windows Vista* Starter, 32-bit version, Windows Vista* Home Basic, 32-bit version, Windows Vista* Home Premium, 32-bit version, Windows Vista* Business, 32-bit version, Windows Vista* Enterprise, 32-bit version, Windows Vista* Ultimate, 32-bit version, Windows Vista* RC2, Windows Vista* Home Basic, 64-bit version, Windows Vista* Home Premium, 64-bit version, Windows Vista* Business, 64-bit version, Windows Vista* Enterprise, 64-bit version, Windows Vista* Ultimate, 64-bit version, Windows Vista*, Windows Vista* 32, Windows Server* 2003 for Itanium-based Systems, Windows* XP Starter Edition, Windows* Compute Cluster Server 2003, Windows* 2000, Windows* XP 64-Bit Edition, Windows* XP Professional, Windows* XP Home Edition, Windows* XP Tablet PC Edition, Windows Server* 2003, Windows* XP Media Center Edition, Windows* 2000 Server, Windows* 2000 Advanced Server, Windows Server* 2003 Standard Edition, Windows* XP 64-Bit Edition Version 2003</td></tr></table>
</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-thread-checker-for-windows-compiler-settings-for-windows-openmp-applications-when-using-thread-checker</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-compiler-settings-for-windows-openmp-applications-when-using-thread-checker#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-compiler-settings-for-windows-openmp-applications-when-using-thread-checker</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Thread Checker for Windows* - False positives generated in crtdll.c</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>This is a known technical limitation in the current version of Intel® Thread Checker for Windows*.</p>
<p>These are related to DllMain and loader lock. DllMain is serialized internally by Microsoft Windows* using the loader lock. However, Intel® Thread Checker is not able to model the loader lock because it is invisible to the application</p>
<p>Whenever a thread is created or terminated, the DllMain is called and these errors are generated. These errors are not generated at startup phase.</p>
<p>We recommend using the filtering functionality to suppress these diagnostics.</p>
<p><strong>Operating System:</strong><br></p>
<table border="0" cellspacing="0" cellpadding="0"><tr><td class="xs">Windows* XP Professional x64 Edition, Windows Server* 2003 Standard x64 Edition, Windows Server* 2003 Enterprise x64 Edition, Longhorn Beta 1, Windows Vista* Beta 1, Windows* Storage Server, Windows Vista* 64, Windows Vista* Starter, 32-bit version, Windows Vista* Home Basic, 32-bit version, Windows Vista* Home Premium, 32-bit version, Windows Vista* Business, 32-bit version, Windows Vista* Enterprise, 32-bit version, Windows Vista* Ultimate, 32-bit version, Windows Vista* RC2, Windows Vista* Home Basic, 64-bit version, Windows Vista* Home Premium, 64-bit version, Windows Vista* Business, 64-bit version, Windows Vista* Enterprise, 64-bit version, Windows Vista* Ultimate, 64-bit version, Windows Vista*, Windows Vista* 32, Windows Server* 2003 for Itanium-based Systems, Windows* XP Starter Edition, Windows* Compute Cluster Server 2003, Windows* XP 64-Bit Edition, Windows* XP Professional, Windows* XP Home Edition, Windows* XP Tablet PC Edition, Windows Server* 2003, Windows* XP Media Center Edition, Windows Server* 2003 Standard Edition, Windows* XP 64-Bit Edition Version 2003</td></tr></table>
</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-thread-checker-for-windows-false-positives-generated-in-crtdllc</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-false-positives-generated-in-crtdllc#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-for-windows-false-positives-generated-in-crtdllc</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Windows* Knowledge Base</category>
    </item>
  </channel></rss>