<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Fri, 25 May 2012 08:24:14 -0700 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/parallel/type/tutorials/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles Feed</title>
    <link>http://software.intel.com/en-us/articles/parallel/type/tutorials/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>How to build GCC* cilkplus branch in 64bit Ubuntu* 12.04</title>
      <description><![CDATA[ <div id="art_pre_template"><b>Introduction</b>:</div>
<div id="art_pre_template">Intel® Cilk™ Plus is an open source project now. It is supported in GCC* 4.7 but still not merged into the released GCC* 4.7.0 version. We can build the 'cilkplus' branch of GCC* to make it support the Intel® Cilk™ Plus extensions. The steps are exact same with building GCC* upstream code, so this article is targeted for those who are not familiar with building GCC and want to use Cilk Plus with GCC.<br /></div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template">(1) <b>Preparation</b></div>
<div id="art_pre_template">OS: Ubuntu* 12.04 LTS beta2 64bit.</div>
<div id="art_pre_template">Install following packages before building GCC Cilk Plus:</div>
<div id="art_pre_template">sudo apt-get install binutils<br />sudo apt-get install build-essential<br />sudo apt-get install m4<br />sudo apt-get install autogen<br />sudo apt-get install bison</div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template">(2) <b>Install gmp</b></div>
<div id="art_pre_template">1. download gmp (gmp-4.3.2.tar.bz2) from: <a href="ftp://gcc.gnu.org/pub/gcc/infrastructure/">ftp://gcc.gnu.org/pub/gcc/infrastructure/</a></div>
<div id="art_pre_template">2. compile and install gmp:</div>
<div id="art_pre_template">
<pre name="code" class="shell">sudo mkdir -p /opt/gmp-4.3.2
tar -jxvf gmp-4.3.2.tar.bz2
cd gmp-4.3.2
./configure --prefix=/opt/gmp-4.3.2
make &amp;&amp; make check &amp;&amp; sudo make install</pre>
Notes: It is recommended to run 'make check'.</div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template">(3) <b>Install mpfr</b></div>
<div id="art_pre_template">1. download mpfr (mpfr-2.4.2.tar.bz2) from same link as above.</div>
<div id="art_pre_template">2. compile and install mpfr:</div>
<div id="art_pre_template">
<pre name="code" class="shell">sudo mkdir -p /opt/mpfr-2.4.2
tar -jxvf mpfr-2.4.2.tar.bz2
cd mpfr-2.4.2
./configure --prefix=/opt/mpfr-2.4.2 --with-gmp=/opt/gmp-4.3.2
make &amp;&amp; make check &amp;&amp; sudo make install</pre>
Notes: You must install gmp before installing 'mpfr' as 'mpfr' depends on 'gmp'.</div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template">(4) <b>install mpc</b></div>
<div id="art_pre_template">1. download mpc (mpc-0.8.1.tar.gz) from same link as above.</div>
<div id="art_pre_template">2. compile and install mpc:</div>
<div id="art_pre_template">
<pre name="code" class="shell">sudo mkdir -p /opt/mpc-0.8.1
tar -zxvf mpc-0.8.1.tar.gz
cd mpc-0.8.1
./configure --prefix=/opt/mpc-0.8.1 --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2
make &amp;&amp; make check &amp;&amp; sudo make install</pre>
Notes: 'mpc' depends on 'gmp' and 'mpfr'.</div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template">(5) <b>build and install GCC with Cilk Plus</b></div>
<div id="art_pre_template">1. download the source code of 'cilkplus' branch. There are various ways to download it.</div>
<div id="art_pre_template">SVN:</div>
<div id="art_pre_template">The cilkplus-4_7-branch: <a href="http://gcc.gnu.org/svn/gcc/branches/cilkplus-4_7-branch/">http://gcc.gnu.org/svn/gcc/branches/cilkplus-4_7-branch/</a><br /></div>
<div id="art_pre_template">The cilkplus branch: <a href="http://gcc.gnu.org/svn/gcc/branches/cilkplus/">http://gcc.gnu.org/svn/gcc/branches/cilkplus/</a></div>
<div id="art_pre_template">GIT:</div>
<div id="art_pre_template">The GIT mirror: <a href="http://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/cilkplus">http://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/cilkplus</a></div>
<div id="art_pre_template">Here, I download the git mirror for cilkplus branch through browser directly. (The snapshot is 'gcc-0dfa790.tar.gz')</div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template">2. compile and install gcc cilkplus branch:</div>
<div id="art_pre_template">
<pre name="code" class="shell">export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gmp-4.3.2/lib:/opt/mpfr-2.4.2/lib:/opt/mpc-0.8.1/lib
export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu &amp;&amp; export CPLUS_INCLUDE_PATH=$C_INCLUDE_PATH &amp;&amp; export OBJC_INCLUDE_PATH=$C_INCLUDE_PATH
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu

tar -zxvf gcc-0dfa790.tar.gz
sudo mkdir -p /opt/gcc-4.7-cilkplus
mkdir gcc_cilkplu_build &amp;&amp; cd gcc_cilkplu_build
../gcc-0dfa790/configure --prefix=/opt/gcc-4.7-cilkplus --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2 --with-mpc=/opt/mpc-0.8.1 --disable-multilib --enable-languages=c,c++
make -j8
sudo make install</pre>
Notes:</div>
<div id="art_pre_template">(1) It is suggested to run 'configure' in a standalone foler instead of running it in the source tree of gcc cilkplus.</div>
<div id="art_pre_template">(2) 'make -j8', this step will build the source code, it will take quite a long time, you may change the argument of '-j' according to your system.</div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template">(6) <b>Create the 'gccvars.sh' script</b></div>
<div id="art_pre_template">This is optional, you may create a script to help to set the environment of the built gcc. Following is a reference for 'gccvars.sh':</div>
<div id="art_pre_template">
<pre name="code" class="shell"># filename: gccvars.sh
# 'source gccvars.sh' to set the environment of gcc
export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$C_INCLUDE_PATH
export OBJC_INCLUDE_PATH=$C_INCLUDE_PATH
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH

export GCCDIR=/opt/gcc-4.7-cilkplus
export PATH=$GCCDIR/bin:$PATH
export LD_LIBRARY_PATH=$GCCDIR/lib:$GCCDIR/lib64:/opt/gmp-4.3.2/lib:/opt/mpfr-2.4.2/lib:/opt/mpc-0.8.1/lib:$LD_LIBRARY_PATH
export MANPATH=$GCCDIR/share/man:$MANPATH</pre>
Notes: GCCDIR is the installed path of the built gcc.</div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template"><br /></div>
<div id="art_pre_template">(7) <b>Test Cilk Plus with GCC</b></div>
<div id="art_pre_template">To use cilk plus with gcc, you need to add '-lcilkrts' flag to the command line. See below test case for more details (it contains how to compile and the results):</div>
<div id="art_pre_template">
<pre name="code" class="cpp">// filename: test_cilkplus.cpp
// compile: g++ test_cilkplus.cpp -lcilkrts

#include &lt;stdio.h&gt;
#include &lt;unistd.h&gt;

#include &lt;cilk/cilk.h&gt;
#include &lt;cilk/cilk_api.h&gt;

void task(int i) {
    printf("task: %d, workder id: %d\n", i, __cilkrts_get_worker_number());
    sleep(1);
}

int main() {
    for(int i=0;i&lt;10;i++)
	    cilk_spawn task(i);
    cilk_spawn task(-1);
    cilk_sync;
    return 0;
}

/* compile and result:
#g++ test_cilkplus.cpp -lcilkrts
#./a.out 
task: 0, workder id: 0
task: 1, workder id: 1
task: 2, workder id: 2
task: 3, workder id: 0
task: 4, workder id: 1
task: 5, workder id: 2
task: 6, workder id: 0
task: 7, workder id: 1
task: 8, workder id: 2
task: 9, workder id: 0
task: -1, workder id: 1
#
notes: you can use 'export CILK_NWORKERS=N' to set the max workders of cilk plus runtime.
*/</pre>
</div>
<div id="art_pre_template">(8) <b>Resources for the Cilk Plus Open Source Project</b></div>
<div id="art_pre_template"><a href="http://software.intel.com/en-us/articles/intel-cilk-plus/">http://software.intel.com/en-us/articles/intel-cilk-plus/</a><br /><a href="http://software.intel.com/en-us/articles/intel-cilk-plus-open-source/">http://software.intel.com/en-us/articles/intel-cilk-plus-open-source/</a><br /></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/how-to-build-gcc-cilkplus-brance-in-64bit-ubuntu-1204/</link>
      <pubDate>Sat, 14 Apr 2012 09:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/how-to-build-gcc-cilkplus-brance-in-64bit-ubuntu-1204/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/how-to-build-gcc-cilkplus-brance-in-64bit-ubuntu-1204/</guid>
      <category>Parallel Programming</category>
      <category>Open Source</category>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
    </item>
    <item>
      <title>Two-part Webinar and Two Videos Posted - All Covering Sandy Bridge Performance Tuning.</title>
      <description><![CDATA[ To View the 2-part Webinar you must register. Links to the two videos are below. <br /><br />Using Intel(R) VTune(TM) Amplifier XE to Tune Software on Intel(R) Microarchitecture Codename Sandy Bridge, <br /><br />Part 1: Methodology - <a href="https://www1.gotomeeting.com/register/934042048">Register Here<br /></a>- the VTune Amplifier XE special analysis and results interface for Sandy Bridge!<br />- our "pipeline slots" - based performance analysis methodology for Sandy Bridge! <br />- the hotspots performance tuning method<br /><br />Part 2: Common Issues - <a href="https://www1.gotomeeting.com/register/133712545">Register Here<br /></a>- list of common software performance issues on Sandy Bridge &amp;<br />- how to detect whether each one is occurring in your app &amp;<br />- tuning suggestions for each!<br /><br /><br />Videos<br /><a href="http://software.intel.com/en-us/videos/channel/parallel-programming/performance-analysis-methodology-for-intel-microarchitecture-codename-sandy-bridge/1265132823001">Performance Analysis Methodology for Intel® Microarchitecture Codename Sandy Bridge</a> – 9:35 mins<br />-explains the pipeline_slots methodology used to classify software performance on Sandy Bridge<br />-some overlap with part of the first webinar, but the video has more background and details<br /><br /><a href="http://software.intel.com/en-us/videos/channel/parallel-programming/the-intel-vtune-amplifier-xe-analysis-and-results-interface-for-intel-microarchitecture-codename-sandy-bridge/1265162566001">The Intel® VTune™ Amplifier XE Analysis and Results Interface for Intel® Microarchitecture Codename Sandy Bridge </a>– 7:57 mins<br />-demos the VTune Amplifier XE interface, showing how to collect and view results for Sandy Bridge<br />-some overlap with part of the first webinar, but the video has more context and details<br /><br />The videos are part of a series in progress.<br /><br /> ]]></description>
      <link>http://software.intel.com/en-us/articles/two-part-webinar-and-two-videos-posted-all-covering-sandy-bridge-performance-tuning/</link>
      <pubDate>Fri, 11 Nov 2011 00:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/two-part-webinar-and-two-videos-posted-all-covering-sandy-bridge-performance-tuning/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/two-part-webinar-and-two-videos-posted-all-covering-sandy-bridge-performance-tuning/</guid>
      <category>Parallel Programming</category>
    </item>
    <item>
      <title>Intel® Concurrent Collections in Action</title>
      <description><![CDATA[ <p>By Dr. Mario Deilmann</p>
<p>A new tutorial document,<i> Intel® Concurrent Collections in Action</i>, has just been published and is available for download in its entirety. This tutorial presents a basic introduction into the world of Intel® Concurrent Collections (known as CnC). This introduction is targeted towards new users, who are in favor of a hands-on approach. It will step by step unveil the basic CnC concepts. By stepping through a simple example you will learn different and new ideas and see how the CnC tool chain can be applied to a given problem. CnC is a language and framework to express dependencies in applications and induce parallelism. With this walkthrough we want to show you how easy it is to think in CnC terms.</p>
<p>What is the basic difference between CnC and other parallel approaches? The CnC approach is a novel approach for designing software for parallelism. It overcomes the over-constraint nature of serial languages by providing a conclusive programming concept. This is done by adding a graph-based, data-flow model to the procedural serial program. While other approaches like OpenMP, TBB and Cilk abstract over threads or tasks, they still inherit nondeterministic problems like race conditions and deadlock. All these approaches are based on the idea of expressing parallelism by embedding concurrency within their serial semantics. Serial code requires a serial ordering. Even if there is no semantically required ordering, an arbitrary ordering must be chosen. Execution of the code in parallel often requires a complex analysis to determine if reordering is possible. Overwriting of memory locations makes this analysis difficult. The arbitrary serialization makes it difficult to uncover alternate valid executions either manually or automatically. For these reasons, embedding parallelism in serial code can limit both the language's effectiveness and its ease of use.</p>
<p>The design principle of the Concurrent Collections approach, however, abstracts over parallelism on the whole. The objective of Concurrent Collections is to make the programmer focus on the program semantics and not on using a certain parallel API, Library or language addition. It lets the programmer define the dependencies (or ordering constraints) between computational units. The programmer provides only the information, which is necessary to guarantee a correct program execution and deterministic results. But it requires not more than that, for example one can specify the order of computations (if semantically prescribed) but not the exact "when". The CnC approach doesn't require explicit parallelization techniques like synchronization primitives or message passing, and it provides an interface between the application semantics and the actual execution strategy. The CnC approach is very different in comparison to an imperative programming model. In an imperative programming model, the program is modeled as a series of operations, where the data paths between the different operations are almost invisible. This distinction may seem minor, but it allows the CnC model to be easily parallelized on multiprocessor systems.</p>
<p>The full CnC tutorial document may be downloaded here: <a href="http://software.intel.com/file/33499">CnC_In_Action.</a></p>
<p>You can find more material about CnC, including a free download for either Linux or Windows, <a href="http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/">here.</a></p>
<p>Refer to our <a href="http://software.intel.com/en-us/articles/optimization-notice/" title="Optimization Notice">Optimization Notice</a> for more information regarding performance and optimization choices in Intel software products.</p> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-concurrent-collections-in-action/</link>
      <pubDate>Mon, 22 Nov 2010 18:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-concurrent-collections-in-action/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-concurrent-collections-in-action/</guid>
      <category>Parallel Programming</category>
    </item>
    <item>
      <title>Fireflies - Scalable Ambient Effects</title>
      <description><![CDATA[ <link media="screen" href="http://software.intel.com/media/gamedev/css/3302_Intel_VC_01.css?v=11" type="text/css" rel="stylesheet" />
<link media="screen" href="http://software.intel.com/file/23729" type="text/css" rel="stylesheet" />
<table width="100" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td valign="top">
<div id="left_container">
<div id="header_content"><a href="http://software.intel.com/en-us/visual-computing/" title="Visual Computing Developer Community"><img height="96" width="727" src="http://software.intel.com/file/20493/" border="0" /></a></div>
<div id="left_content_container2"><!-- START left content -->
<div id="showcase_01">
<div >
<h2>Scalable Ambient Effects (Fireflies)</h2>
<p>Fireflies is a tech sample demonstrating a scalable ambient effect. In this sample, the ambient effect is a swarm of fireflies that scatter and reform into a walking character. Using Intel TBB, the firefly flight trajectory calculations performed per frame are distributed across multiple threads. By changing the number of simulated fireflies programmatically the ambient effect can be scaled to better match the performance of the platform it is running on.</p>
<p><a href="http://software.intel.comjavascript:void(0)" onclick="ndownload('http://software.intel.com/file/33362')" title="Fireflies Source"><img src="http://software.intel.com/file/25370" border="0" /></a><br /><br /><a href="http://software.intel.comjavascript:void(0)" onclick="ndownload('http://software.intel.com/file/33363')" title="Fireflies Installer" class="filedownload"><img src="http://software.intel.com/file/25371" border="0" /></a></p>
</div>
<div >
<p>
<object height="203" width="360" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
<param name="flashvars" value="file=http://software.intel.com/media/videos/e/f/2/a/4/b/e/Eliezer_Payzer_Firefly_Demo_V5.mp4&amp;image=http://software.intel.com/media/videos/e/f/2/a/4/b/e/ef2a4be5473ab0b3cc286e67b1f59f44_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Ambient+Scalable+Effects+Fireflies+Demo+" />
<param name="allowfullscreen" value="true" />
<param name="src" value="http://software.intel.com/common/swf/mediaplayer.swf" /><embed src="http://software.intel.com/common/swf/mediaplayer.swf" allowfullscreen="true" flashvars="file=http://software.intel.com/media/videos/e/f/2/a/4/b/e/Eliezer_Payzer_Firefly_Demo_V5.mp4&amp;image=http://software.intel.com/media/videos/e/f/2/a/4/b/e/ef2a4be5473ab0b3cc286e67b1f59f44_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Ambient+Scalable+Effects+Fireflies+Demo+" type="application/x-shockwave-flash" height="203" width="360"></embed>
</object>
</p>
<center><a href="http://software.intel.com/en-us/videos/ambient-scalable-effects-fireflies-demo-1/?wapkw=(fireflies">Fireflies Video (larger screen)</a></center>
<p><b><br />Read:</b> <a href="http://software.intel.com/en-us/articles/scalable-ambient-effects/" title="Scalable Ambient Effects">Scalable Ambient Effects<br /></a><b>Blog Post:</b> <a href="http://software.intel.com/en-us/blogs/2010/12/06/multithreaded-man-explodes-into-fireflies/" title="Multithreaded Man Explodes Into Fireflies">Multithreaded, Man Explodes Into Fireflies!</a></p>
</div>
<br clear="all" />
<div>
<table bgcolor="#ffffff" width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td><img height="37" width="531" src="http://software.intel.com/file/25372" /></td>
<td></td>
</tr>
</tbody>
</table>
<table bgcolor="#ffffff" cellpadding="0" bordercolor="#ffffff" cellspacing="6" border="0">
<tbody>
<tr>
<td width="214" valign="top">
<div align="center"><a href="http://software.intel.com/file/32677"><img src="http://software.intel.com/file/32607" alt="Fireflies_screenshot1_web.jpg" /></a></div>
</td>
<td width="234" valign="top">
<div align="center"><a href="http://software.intel.com/file/32678" title="Fireflies image 2"><img src="http://software.intel.com/file/32608" alt="Fireflies_screenshot2_web.jpg" title="Fireflies_screenshot2_web.jpg" /></a></div>
</td>
<td width="256" valign="top">
<div align="center"><a href="http://software.intel.com/file/32680" title="Fireflies image 3"><img src="http://software.intel.com/file/32609" alt="Fireflies_screenshot3_web.jpg" title="Fireflies_screenshot3_web.jpg" /></a></div>
</td>
</tr>
<tr>
<td valign="top">
<table align="center" cellpadding="2" cellspacing="0" border="0">
<tbody>
<tr>
<td valign="top" height="4"><img height="4" width="4" src="http://software.intel.com/media/gamedev/_images/blank.gif" /></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<p><i>Fireflies flock to form a walking character</i></p>
</td>
</tr>
</tbody>
</table>
</td>
<td valign="top">
<table align="center" cellpadding="2" cellspacing="0" border="0">
<tbody>
<tr>
<td valign="top" height="4"><img height="4" width="4" src="http://software.intel.com/media/gamedev/_images/blank.gif" /></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<p><i>Fireflies scatter and flock </i><a href="http://software.intel.com/file/23694/"></a></p>
</td>
</tr>
</tbody>
</table>
</td>
<td valign="top">
<div align="center">
<table align="center" cellpadding="2" cellspacing="0" border="0">
<tbody>
<tr>
<td width="161" valign="top" height="4"><img height="4" width="4" src="http://software.intel.com/media/gamedev/_images/blank.gif" /></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<p align="center">The sample can run in multithreaded as well as serial mode to better see the performance benefit of multithreading an ambient effect.</p>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<br /><br /><!-- start of 3 column table -->
<table width="695" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td width="695" rowspan="2" valign="top">
<table width="695" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td valign="top"><img height="8" width="697" src="http://software.intel.com/file/22889" /></td>
</tr>
<tr>
<td valign="top" class="panel_bg_02">
<table width="695" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td width="12" rowspan="2"><img height="8" width="12" src="http://software.intel.com/media/gamedev/_images/blank.gif" /></td>
<td valign="top" height="4"><img height="8" width="8" src="http://software.intel.com/media/gamedev/_images/blank.gif" /></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
<td valign="top">
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tbody>
<tr>
<td align="center" width="33%" valign="top" height="19" class="arrow"><span ><b>What is it?</b></span></td>
<td align="center" width="33%" valign="top" height="19" class="arrow"><span ><b>System Requirements</b></span></td>
<td align="center" width="33%" valign="top" height="19" class="arrow"><span ><b><a href="http://software.intel.com/en-us/articles/code/">Additional Code Samples</a></b></span></td>
</tr>
<tr>
<td align="left" width="33%" valign="top" height="19" class="arrow"></td>
<td align="left" width="33%" valign="top" height="19" class="arrow"></td>
<td align="left" width="33%" valign="top" height="19" class="arrow"></td>
</tr>
<tr>
<td align="left" width="33%" valign="top" height="19">
<ul>
<li>Threaded particle system using <a href="http://www.threadingbuildingblocks.org/">Intel® Threading Building Blocks</a></li>
<li>Scalable Ambient Effects </li>
</ul>
</td>
<td align="left" width="33%" valign="top" height="19"><ol type="1">
<li>CPU: Dual core or better (Intel® Core™ i5 or better suggested)</li>
<li>GFX: DX9c capable graphics card </li>
<li>OS: Microsoft Windows Vista* or Microsoft Windows 7*</li>
<li>MEM: 2 GB of RAM or better </li>
<li>Software: <ol type="1">
<li>DirectX SDK (June 2010 release or later)</li>
<li>Build with Microsoft Visual Studio 2008* w/SP1 or Visual Studio 2010*</li>
</ol></li>
</ol>
<p>* Other names and brands may be claimed as the property of others.</p>
</td>
<td align="left" width="33%" valign="top" height="19">
<ul>
<li><a href="http://software.intel.com/en-us/articles/tickertape/" title="TickerTape">TickerTape Demo</a></li>
<li><a href="http://software.intel.com/en-us/articles/smoke-technology-demo/" title="Smoke">Smoke Game Technology </a></li>
<li><a href="http://software.intel.com/en-us/articles/ocean-fog-using-direct3d-10/">OceanFog Using Directed3D 10 </a></li>
</ul>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<!--bottom border for large box-->
<tr>
<td valign="top"><img height="8" width="697" src="http://software.intel.com/media/gamedev/_images/footer-bg-01.gif" /></td>
</tr>
<!--end border-->
</tbody>
</table>
</td>
<td width="10" rowspan="2"><img height="10" width="10" src="http://software.intel.com/media/gamedev/_images/blank.gif" /></td>
</tr>
<tr>
<td></td>
<!--raghava-->
</tr>
<tr>
<td width="344" valign="top"></td>
</tr>
</tbody>
</table>
<!-- end of 3 column table --><br /><br /></div>
</div>
</div>
</td>
<td valign="top" ><!-- RHC -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td align="center" width="215">
<table align="center" width="223" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td height="4"><img height="4" width="232" src="http://software.intel.com/file/20516" /></td>
</tr>
<tr>
<td>
<table align="center" width="223" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td align="center" valign="top"><a href="http://www.intelsoftwaregraphics.com/?lid=5ceakfXf8Ho=&amp;siteid=cqMoF5H/37o="><img height="71" width="223" src="http://software.intel.com/file/20512" alt="Intel Visual Adrenaline" border="0" title="Intel Visual Adrenaline" /></a></td>
</tr>
<tr>
<td valign="top" >
<table width="223" cellpadding="0" cellspacing="0" border="0" >
<tbody>
<tr>
<td width="11" height="8"></td>
<td align="center" width="10"><img height="5" width="5" src="http://software.intel.com/file/20514" /></td>
<td align="left"><a href="http://software.intel.com/en-us/visual-computing/" title="Intel Adrenaline Developer Community" >Developer Community</a></td>
<td width="10"></td>
</tr>
<tr>
<td height="8"></td>
<td align="center"><img height="5" width="5" src="http://software.intel.com/file/20514" /></td>
<td align="left"><a href="http://www.intel.com/cd/software/partner/asmo-na/eng/index.htm" title="Intel Adrenaline Software Partner Program" >Intel® Software Partner Program</a></td>
<td></td>
</tr>
<tr>
<td height="8"></td>
<td align="center"><img height="5" width="5" src="http://software.intel.com/file/20514" /></td>
<td align="left"><a href="http://www.intel.com/Consumer/Game/index.htm" title="Intel Adrenaline Game On" >Game On</a></td>
<td></td>
</tr>
<tr>
<td height="8"></td>
<td align="center"><img height="5" width="5" src="http://software.intel.com/file/20514" /></td>
<td align="left"><a href="http://www.intelsoftwaregraphics.com/?lid=5ceakfXf8Ho=&amp;siteid=cqMoF5H/37o=" title="Intel Adrenaline Showcase" >Showcase</a></td>
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td valign="top" height="7"><img height="7" width="223" src="http://software.intel.com/file/20515" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td valign="top" height="4"><img height="6" width="6" src="http://software.intel.com/file/20494" /></td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<br /><center>
<table cellpadding="0" cellspacing="0" border="0" id="nav_table">
<tbody>
<tr>
<td>
<table width="190" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td width="9"></td>
<td>
<div align="center" ><b>A Scalable 3D <br />Particle System</b><br /><a href="http://software.intel.com/en-us/articles/tickertape/" title="TickerTape"><img src="http://software.intel.com/file/25664/" alt="Download PDF" border="0" /></a><br /><br /><b>Benefits of SIMD</b><br /><a href="http://software.intel.com/en-us/articles/tickertape-part-2/"><img src="http://software.intel.com/file/25665/" alt="Download PDF" border="0" /></a><br /><br /><b>Visual Adrenaline</b><br /><a href="http://software.intel.com/sites/billboard/"><img src="http://software.intel.com/file/25369" alt="Download PDF" border="0" /></a><br /></div>
</td>
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</center><br /><center>
<table cellpadding="0" cellspacing="0" border="1" id="nav_table">
<tbody>
<tr>
<td>
<table width="190" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td width="9" class="right_container_hdr2"></td>
<td class="right_container_hdr2"><b>Intel Tools for Unreal Developers <br /><a href="http://software.intel.com/en-us/articles/epic-licenses-tbb-for-ue-licensees/">TBB for Unreal Engine</a></b></td>
<td class="right_container_hdr2"></td>
</tr>
<tr>
<td colspan="3" valign="top" height="4"><img height="4" width="4" src="http://software.intel.com/file/20494" /></td>
</tr>
<tr>
<td width="9" class="right_container_hdr"></td>
<td class="right_container_hdr">
<h4>Related Links</h4>
</td>
<td class="right_container_hdr"></td>
</tr>
<tr>
<td colspan="3" valign="top" height="4"><img height="4" width="4" src="http://software.intel.com/file/20494" /></td>
</tr>
<tr>
<td height="15"></td>
<td valign="middle"><a href="http://www.intel.com/software/graphics" title="Intel Visual Computing Home">Visual Computing Home</a></td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<h3>Intel<sup>®</sup> Technologies</h3>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td valign="top"><a href="http://www.intel.com/software/sandybridge">Sandy Bridge</a><br /><a href="http://software.intel.com/en-us/articles/integrated-graphics/" title="Intel Visual Computing Technologies Integrated Graphics">Graphics</a><br /><a href="http://software.intel.com/en-us/articles/parallel-programming-vc/" title="Intel Visual Computing Technologies Parallel Programming">Parallel Programming</a></td>
<td></td>
</tr>
<tr>
<td colspan="3" valign="top" height="4"><img height="4" width="4" src="http://software.intel.com/file/20494" /></td>
</tr>
<tr>
<td></td>
<td>
<h3>Focus Areas</h3>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td valign="top"><a href="http://software.intel.com/en-us/articles/game-dev/" title="Intel Game Development Focus Area">Game Development</a><br /><a href="http://software.intel.com/en-us/articles/artist-animator/" title="Intel Visual Computing Artist/Animator Focus Area">Artist/Animator</a><br /><a href="http://software.intel.com/en-us/articles/media/" title="Intel Visual Computing Media Focus Area">Media</a></td>
<td></td>
</tr>
<tr>
<td colspan="3" valign="top" height="4"></td>
</tr>
<tr>
<td></td>
<td>
<h3>Develop</h3>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td valign="top"><a href="http://software.intel.com/en-us/articles/tools-vc/" title="Intel Visual Computing Devlopment Tools">Tools</a><br /><a href="http://software.intel.com/en-us/articles/code/" title="Intel Visual Computing Devlopment Code">Code</a></td>
<td></td>
</tr>
<tr>
<td colspan="3" valign="top" height="4"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</center><!--END right column Content --></td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/fireflies/</link>
      <pubDate>Fri, 05 Nov 2010 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/fireflies/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/fireflies/</guid>
      <category>Parallel Programming</category>
      <category>Tools</category>
      <category>Visual Computing</category>
      <category>Intel® Graphics Performance Analyzers (Intel® GPA)</category>
      <category>Code &amp; Downloads</category>
      <category>Game Development</category>
    </item>
  </channel></rss>
