<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Tue, 24 Nov 2009 19:16:27 -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-threading-building-blocks-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-threading-building-blocks-kb/technical-notes/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Intel® Threading Building Blocks - Threading performance and correctness analysis</title>
      <description><![CDATA[ <p>Intel® Threading Building Blocks provides a rich library of generic constructs to help you write scalable parallel programs. This set of generic constructs includes parallel control flow structures (parallel_for, parallel_reduce, parallel_do, pipeline and others), concurrent containers (hash-maps, vectors, queues), and a basic set of low overhead synchronization primitives (read-write lock, queuing mutex, and spin-locks). Use Intel Threading Building Blocks to help you create high-performance scalable software that can run on many cores.</p>
<p>Threading introduces a variety of errors and performance issues that are not encountered in sequential software including data-races and dead-locks. Due to the inherent complexity of threading, isolating performance and correctness problems is difficult without the right software tools. The Intel® Threading Analysis Tools can detect errors and performance issues, helping you to simplify the process of debugging and tuning for multi-core processors. Intel Threading Building Blocks is designed to work well with the other Intel Threading Analysis Tools.</p>
<!--page break-->
<hr />
<div class="sectionHeading">Intel Threading Analysis Tools include:</div>
<ul>
<li><strong>Intel® Thread Checker </strong>- Detects thread-correctness issues including data-races, dead-locks, and threads stalls. Use it to verify the correctness of your multi-threaded code.</li>
<li><strong>Intel® Thread Profiler</strong> - Analyzes threading performance and lets you visualize thread interactions. Use it to identify threading performance bottlenecks and trace them down to the source code.</li>
</ul>
<p>Intel Threading Tools can track threading events for applications that use native operating system threads and synchronization primitives (Win32* API or POSIX* threads) and OpenMP* directives. Intel Threading Analysis Tools also provide a special API for marking user-defined synchronization objects. Intel TBB uses this custom API, so you can effectively analyze and correct your multi-threaded applications using Intel Threading Analysis Tools.</p>
<p>To set up your system for threading performance and correctness analysis, do the following:</p>
<ol>
<li>Install Intel Threading Tools version 3.0 or higher, and follow the links for complete installation information and system requirements: </li>
<li><a href="http://www.intel.com/cd/software/products/asmo-na/eng/340026.htm">Intel Thread Checker</a></li>
<li><a href="http://www.intel.com/cd/software/products/asmo-na/eng/340448.htm">Intel Thread Profiler</a></li>
<li>Create an Intel Thread Checker or Thread Profiler Activity within VTune™ Performance Environment that launches the application you developed using Intel Threading Building Blocks. <br /><br /><strong>Note:</strong> If this is your first time using Intel Threading Tools, read the Getting Started Guide for the tools: </li>
<li><a href="http://software.intel.com/en-us/articles/intel-thread-checker-getting-started-guide-pdf">Intel Thread Checker Getting Started Guide</a></li>
<li><a href="http://www.intel.com/cd/software/products/asmo-na/eng/340448.htm">Intel Thread Profiler Getting Started Guide</a></li>
<li>Run the activity. </li>
<li>Analyze results.</li>
</ol>
<p> </p>
<p><strong>Note:</strong> Intel Threading Tools Graphical User Interface (GUI) is available for Windows* only. Command line versions are available to collect data on Linux*. You can always view the results from the GUI on a Windows* system.</p>
<p><strong>Tip:</strong> The Intel Threading Building Blocks library initialization requires the creation of a task_scheduler_init object by each of the non-pool threads that might request Intel TBB work. If library components are used before this initialization occurs, your program will probably crash and burn very quickly.</p>
<p>For complete information about performance and correctness analysis with Intel Threading Tools please refer to the following documents:</p>
<ul>
<li><a href="http://software.intel.com/en-us/articles/intel-thread-checker-threading-methodology-pdf">Threading Methodology</a></li>
<li><a href="http://www.intel.com/support/performancetools/threadchecker/sb/cs-009623.htm">Developing Multi-Threaded Applications</a></li>
</ul>
<p> </p> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-threading-building-blocks-threading-performance-and-correctness-analysis</link>
      <pubDate>Mon, 01 Dec 2008 10:38:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-threading-building-blocks-threading-performance-and-correctness-analysis#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-threading-building-blocks-threading-performance-and-correctness-analysis</guid>
      <category>Intel® Threading Building Blocks Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Threading Building Blocks - Product Features</title>
      <description><![CDATA[ <!--CTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dt-->
<table border="0" cellspacing="15" cellpadding="0">
<tbody>
<tr>
<td class="bodycopy">
<p>Intel® Threading Building Blocks is a runtime library providing a parallel programming model for C++ code using threads. It comprises a template-based collection of components designed to simplify the process of multi-core programming. Use Intel Threading Building Blocks to write scalable applications that:</p>
<ul>
<li>focus on independent or semi-dependent tasks instead of thread management</li>
<li>emphasize generic data parallel programming</li>
<li>take advantage of concurrent collections and parallel algorithms</li>
</ul>
The major features of Intel® Threading Building Blocks include: 
<ul>
<li><strong>Task scheduler</strong> that interoperates with native threads and OpenMP.</li>
<li><strong>Generic parallel algorithms</strong>: parallel for, reduce, scan (prefix), do, pipeline, sort.</li>
<li><strong>Generic, concurrent, thread-safe containers</strong>: hash table, vector, queue.</li>
<li><strong>Type-Safe Atomic Operations</strong>: read, write, fetch-and-store, fetch-and-add, compare-and-swap</li>
<li><strong>Exception-Safe Locks</strong>: spin lock, reader-writer mutex, queuing mutex, OS-wrappers</li>
<li><strong>Cross-Thread Timers</strong></li>
<li>Supports <strong>Windows*, Linux*, and Mac OS*</strong> </li>
<li>Supports 32-bit applications on <strong>IA-32</strong> and <strong>Intel® 64 </strong>technology platforms, and 64-bit applications on <strong>Itanium® 2</strong> and <strong>Intel® 64</strong> platforms</li>
<li>Supports <strong>Intel, Microsoft* and GNU</strong> Compilers</li>
</ul>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><img src="http://software.intel.com/file/6324" alt="" width="388" height="5" /></td>
</tr>
<tr>
<td height="10"> </td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-threading-building-blocks-product-features</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-threading-building-blocks-product-features#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-threading-building-blocks-product-features</guid>
      <category>Parallel Programming</category>
      <category>Open Source</category>
      <category>Tools</category>
      <category>Intel Software Network communities</category>
      <category>Intel® Threading Building Blocks Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Threading Building Blocks - Setting up the environment</title>
      <description><![CDATA[ <!--CTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dt-->
<table border="0" cellspacing="15" cellpadding="0">
<tbody>
<tr>
<td class="bodycopy">
<p>Before using Intel® Threading Building Blocks for the first time, you must configure the environment variables that are used to locate necessary library and include files.</p>
<ul>
<li><a href="#1">Registering Environment Variables for Windows* Systems</a></li>
<li><a href="#2">Registering Environment Variables for Mac OS* Systems</a></li>
<li><a href="#3">Registering Environment Variables for Linux* Systems</a></li>
</ul>
<br />
<p><a name="1"></a><strong>Registering Environment Variables for Windows* Systems</strong></p>
<p>Locate the configuration scripts (tbbvars.bat) for your operating system. The scripts are located in the bin directory. The default location of the bin directory on Windows is the following:</p>
<blockquote>C:\Program Files\Intel\TBB\2.1\[ia32|em64t]&lt;vc-version&gt;</blockquote>
<p>where &lt;vc-version&gt; matches the Microsoft* Visual C/C++ version used.  In addition, the <a href="http://www.threadingbuildingblocks.org/file.php?fid=82">Intel TBB Extras download site</a> provides a plug-in for several Microsoft Visual Studio* versions that configures VS to compile and link with Intel TBB.</p>
<p><a name="2"></a><strong>Registering Environment Variables for MacOS* Systems</strong></p>
<p><a name="3"></a><strong>Registering Environment Variables for Linux* Systems</strong></p>
<p>Locate the configuration scripts (tbbvars.csh or tbbvars.sh) in the appropriate installation bin directory.  The default location of the bin directory on Linux systems is:</p>
<blockquote>/opt/intel/tbb/2.1/[ia32|em64t|itanium]/&lt;architecture-specific&gt;</blockquote>
<p> &lt;architecture-specific&gt; is a long name that encodes the gcc, libc and kernel versions used.</p>
</td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-threading-building-blocks-setting-up-the-environment</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-threading-building-blocks-setting-up-the-environment#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-threading-building-blocks-setting-up-the-environment</guid>
      <category>Intel® Threading Building Blocks Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Threading Building Blocks - Product liveness test</title>
      <description><![CDATA[ <!--CTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dt-->
<table border="0" cellspacing="15" cellpadding="0">
<tbody>
<tr>
<td class="bodycopy">
<p>After you installed Intel® Threading Building Blocks on your computer you may want to check if it got set up properly. Product liveness test fibonacci may be used for this purpose. This test program covers every major aspect of the library. Follow the instructions below to run liveness test.</p>
<p><strong>Note:</strong> Similar instructions will work for other product samples.</p>
<ul>
<li><a href="#1">How to Run Examples on Linux* or Mac OS* Systems</a></li>
<li><a href="#2">How to Run Examples on Windows* Systems when Using Visual Studio*</a></li>
<li><a href="#3">How to Run Examples on Windows* Systems when Using the Command Line</a></li>
</ul>
<br />
<p><a name="1"></a><strong>How to Run Examples on Linux* or Mac OS* Systems</strong></p>
<ol>
<li>Install the software (e.g., into &lt;installdir&gt;).</li>
<li>Set up the environment in your shell. <br />For sh/bash/ksh: &lt;installdir&gt;/bin/tbbvars.sh <br />For csh/tcsh: source &lt;installdir&gt;/bin/tbbvars.csh <strong>Note:</strong> Always source the tbbvars.* scripts by using one of the above commands; do not execute them directly. This step is only required once per shell window used.</li>
<li>Compile and run an example (e.g., &lt;installdir&gt;/examples/test_all/fibonacci).</li>
</ol>
<blockquote>cd &lt;installdir&gt;/examples/test_all/fibonacci <br />make</blockquote>
<br />
<p><a name="2"></a><strong>How to Run Examples on Windows* Systems when Using Visual Studio*</strong></p>
<p><strong>Note:</strong> This example uses Visual Studio* .NET 2003. However, Visual Studio 2005 is similarly supported (using the same vc7.1 examples).</p>
<ol>
<li>Install the software (e.g., into &lt;installdir&gt;). <br /><strong>Note:</strong> it is strongly recommended that you check the checkbox, during the install, to register environment variables.</li>
<li>Open a command-prompt (cmd.exe) window that has the right environment defined for using Visual Studio*. For example, click Start and then use Programs » Microsoft Visual Studio .NET 2003 » Visual Studio .NET Tools » Visual Studio .NET 2003 Command Prompt.</li>
<li>Exit Visual Studio, if it is currently running.</li>
<li>If you did not check the checkbox, during the install, to register environment variables, then set up the environment in your shell. <br />&lt;installdir&gt;{ia32,em64t}vc7.1</li>
</ol></td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-threading-building-blocks-product-liveness-test</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-threading-building-blocks-product-liveness-test#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-threading-building-blocks-product-liveness-test</guid>
      <category>Intel® Threading Building Blocks Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Threading Building Blocks - Tutorial [PDF]</title>
      <description><![CDATA[ <table border="0" cellspacing="15" cellpadding="0">
<tbody>
<tr>
<td class="bodycopy">
<p>A detailed tutorial covering the use of all the major features of Intel® Threading Building Blocks. The major sections include:</p>
<ul>
<li>Parallelizing Simple Loops</li>
<li>Parallelizing Complex Loops</li>
<li>Containers</li>
<li>Mutual Exclusion</li>
<li>Atomic Operations</li>
<li>Timing</li>
<li>Memory Allocation</li>
<li>Task Scheduling</li>
</ul>
<br /><br /> 
<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/6428">Tutorial for Intel® Threading Building Blocks [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> Tutorial.pdf <br /><em>Size:</em> 351,480 bytes <br /><em>Version:</em> 1.5 <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-threading-building-blocks-tutorial-pdf</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-threading-building-blocks-tutorial-pdf#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-threading-building-blocks-tutorial-pdf</guid>
      <category>Intel® Threading Building Blocks Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Threading Building Blocks - Release notes [PDF]</title>
      <description><![CDATA[ <table border="0" cellspacing="15" cellpadding="0">
<tbody>
<tr>
<td class="bodycopy">
<p>Key product information for this release:</p>
<ul>
<li>What's New</li>
<li>System Requirements</li>
<li>Known Issues</li>
<li>Technical Support</li>
<li>Related Products and Services</li>
</ul>
<br /> 
<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/6286">Release Notes [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> 312687.pdf <br /><em>Size:</em> 13,671 bytes <br /><span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><em>Date:</em> 7/22/2008</span><br /><em>Version:</em> 2.1 <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-threading-building-blocks-release-notes-pdf</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes-pdf#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes-pdf</guid>
      <category>Intel® Threading Building Blocks Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Threading Building Blocks - Reference [PDF]</title>
      <description><![CDATA[ <table border="0" cellspacing="15" cellpadding="0">
<tbody>
<tr>
<td class="bodycopy">
<p>A complete, detailed reference manual for all the functions and interfaces provided by Intel® Threading Building Blocks. The major sections include:</p>
<ul>
<li>Algorithms</li>
<li>Containers</li>
<li>Memory Allocation</li>
<li>Synchronization</li>
<li>Timing</li>
<li>Task Scheduling</li>
</ul>
<br /><br /> 
<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/6402">Reference for Intel® Threading Building Blocks [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> Reference.pdf <br /><em>Size:</em> 699,564 bytes <br /><em>Version:</em> 1.5 <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-threading-building-blocks-reference-pdf</link>
      <pubDate>Fri, 19 Sep 2008 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-threading-building-blocks-reference-pdf#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-threading-building-blocks-reference-pdf</guid>
      <category>Intel® Threading Building Blocks Knowledge Base</category>
    </item>
  </channel></rss>