<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Wed, 25 Nov 2009 12:19:43 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/dpd-general/type/tips-and-techniques/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles feed</title>
    <link>http://software.intel.com/en-us/articles/dpd-general/tips-and-techniques/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Intel® Software Development Products – Events</title>
      <description><![CDATA[ 

<div class="ltBox"><img src="http://software.intel.com/file/23211" alt="Events" title="Events" /><br /><br />
<table width="690" border="0">
<tbody>
<tr valign="top">
<td>
<p class="sectionHeadingText">Upcoming Events</p>
<p>Come and see Intel® Software Development Products in action at events!</p>
<p>Participate in technology and product demonstrations, training talks and sessions, network with our team on the floor, and learn more about our latest and greatest products!</p>
<p><strong>Microsoft Professional Developers Conference </strong><br />November 17-19, 2009<br />Los Angeles, California<br /><a target="_blank" href="http://microsoftpdc.com/">http://microsoftpdc.com/</a></p>
<p><strong>Supercomputing '09</strong><br />November 14-20, 2009<br />Portland, Oregon<br /><a target="_blank" href="http://sc09.supercomputing.org/">http://sc09.supercomputing.org/</a></p>
</td>
<td><img src="http://software.intel.com/file/10709" alt="Events" /></td>
</tr>
</tbody>
</table>
</div> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-software-development-products-events</link>
      <pubDate>Wed, 21 Oct 2009 09:22:54 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-software-development-products-events#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-software-development-products-events</guid>
      <category>Software Products General</category>
    </item>
    <item>
      <title>What are the Intel Password Guidelines</title>
      <description><![CDATA[ The following password rules are for both the Registration Center and for Premier Support.<br /><br />The password must be at least eight characters long, and can contain<br />letters, numbers, and punctuation. <br />It must not exceed fourteen (14) characters. <br />It must contain at least one alpha character [a-z; A-Z], one numeric [0-9]<br />and one special character [`! @$%^&amp;*()-_=+[];:'",&lt;.&gt;/?]. <br />It cannot contain spaces. <br />The password cannot be the same as any of your previous eight (8) passwords.<br /><br />It cannot contain your login id. <br />It may not contain any of the following special characters: Asterisk (*)<br />Comma (,) Backslash ( /) Forward Slash (\). <br />It must not: <br /><br />Be a name (your own, family members, pets, or famous people) <br />Be your social security number, driver's license number, passport number or<br />some other identification number. <br />Be repeating numbers, letters or characters (111111, aaaaaa, !!!!!!) <br />Be a number or character combinations that are next to each other on the<br />keyboard (123456, asdfgh) <br />Be a dictionary word of any language <br />Begin with an exclamation point (!) or question mark (?) <br />Have the same first three characters.<br /> ]]></description>
      <link>http://software.intel.com/en-us/articles/what-are-the-intel-password-guidelines</link>
      <pubDate>Mon, 19 Oct 2009 14:10:55 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/what-are-the-intel-password-guidelines#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/what-are-the-intel-password-guidelines</guid>
      <category>Software Products General</category>
      <category>Intel Software Network communities</category>
      <category>Intel® Software Development Products Registration Center Knowledge Base</category>
      <category>Intel Software Network communities</category>
    </item>
    <item>
      <title>How to find Host ID for Floating licenses</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Identifying the Host Name and Host ID<br /></strong>The host name and host ID are system-level identifiers on supported platforms that<br />are used in the license file to identify the node on which you plan to install the Intel<br />License Manager for FLEXlm* and license file. To enable you to obtain a counted<br />license, these unique values must be available when you register your product. For<br />node-locked licenses, you will also need the host name and host id of the node from<br />which your applications will run, if different from the node for the Intel License<br />Manager for FLEXlm*. Follow these directions to obtain the host name and host id for<br />each supported platform:<br /><br /><strong>Microsoft Windows*<br /></strong>1. From the Start menu, click Run...<br />2. Type cmd in the Open: field, then click OK.<br />3. Type ipconfig /all at the command prompt, and press Enter.<br />In the resulting output, host name is the value that corresponds to Host Name, and<br />host id is the value that corresponds to Physical Address.<br /><br />For example, if the output of ipconfig /all included the following:<br />Host Name . . . . . . . : mycomputer<br /><strong>. . .<br /></strong>Physical Address . . . . : 00-06-29-CF-74-AA<br />then host name is mycomputer and the host ID is 00-06-29-CF-74-AA.<br /><br /><strong>Linux*<br /></strong>1. Run the hostname command to display the host name.<br />2. Run the command /sbin/ifconfig eth0 to display the hardware address.<br />For example, if the /sbin/ifconfig eth0 command returns<br />HWaddr 00:D0:B7:A8:80:AA, then the host ID is 00:D0:B7:A8:80:AA.<br />It is strongly recommended that users run the lmhostid utility to obtain the hostid<br />value required to generate the counted licenses. The lmhostid utility can be found in<br />the install location to which Intel License Manager for FLEXlm* is installed.<br /><br /><strong>Mac OS* X on Intel® Architecture<br /></strong>1. Run the hostname command to display the host name.<br />2. Run the command /sbin/ifconfig en0 ether to display the hardware address.<br />The following is an example of an address that could be returned by this command:<br />en0: flags=8863&lt;UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500<br />ether 00:13:20:60:23:4f<br />It is strongly recommended that users run the lmhostid utility to obtain the hostid<br />value required to generate the counted licenses. The lmhostid utility is installed to<br />the same location as the Intel License Manager for FLEXlm*.<br /><br /></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/how-to-find-host-id-for-floating-licenses</link>
      <pubDate>Thu, 13 Aug 2009 09:15:55 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/how-to-find-host-id-for-floating-licenses#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/how-to-find-host-id-for-floating-licenses</guid>
      <category>Software Products General</category>
      <category>Intel® Compilers</category>
      <category>Intel® License Manager for FLEXlm* Knowledge Base</category>
      <category>Intel® Software Development Products Registration Center Knowledge Base</category>
    </item>
    <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 for Linux* - Compiler settings for Linux* 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 Linux* 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 Linux* OpenMP* applications:</p>
<blockquote><span class="Code">icc file.c -openmp [-tcheck] -O0 -g</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">-openmp</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">-tcheck</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">-O0</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">-g</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><strong>Note:</strong> For binaries compiled without 
<span class="Code">-g</span> (no symbols), Intel® Thread Checker instruments using 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>
</table></td></tr></table>
<p><strong>Note:</strong> Intel® Thread Checker requires the dynamic versions of the following libraries:</p>
<ul>
<li>OpenMP* Runtime Library (libguide.so or libiomp5.so)</li>
<li>Posix* Thread Library (libpthread.so)</li>
<li>C Runtime Library (libc.so)</li>
</ul>
<p>Linking to any of the following static libraries causes problems with Intel® Thread Checker:</p>
<ul>
<li>OpenMP* Runtime Library (libguide.a or libiomp5.a)</li>
<li>Posix* Thread Libra
ry (libpthread.a)</li>
<li>C Runtime Library (libc.a)</li>
</ul>
<p>The switch -static is not compatible with Intel® Thread Checker, as it links the static version of these libraries.</p>
<p><strong>Related Documentation</strong></p>
<ul><li>Using Intel® Thread Checker on OpenMP* Applications Compiled with the GNU* GCC Compiler</li></ul>
<p><strong>Confirmed On:</strong></p>
<ul>
<li>Intel® C/C++ Compiler 10.1 for Linux*</li>
<li>Intel® Fortran Compiler 10.1 for Linux*</li>
<li>Intel® Thread Checker 3.1 for Linux*</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-compiler-settings-for-linux-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-linux-compiler-settings-for-linux-openmp-applications-when-using-thread-checker#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-thread-checker-for-linux-compiler-settings-for-linux-openmp-applications-when-using-thread-checker</guid>
      <category>Software Products General</category>
      <category>Intel® Thread Checker for Linux* 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>
  </channel></rss>