<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Intel Software Network Blogs &#187; What If Software</title>
	<atom:link href="http://software.intel.com/en-us/blogs/category/whatif/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/en-us/blogs</link>
	<description></description>
	<pubDate>Wed, 25 Nov 2009 00:21:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>Consumers deserve better than Proprietary Game Systems</title>
		<link>http://software.intel.com/en-us/blogs/2009/11/02/consumers-deserve-better-than-proprietary-game-systems/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/11/02/consumers-deserve-better-than-proprietary-game-systems/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 21:19:16 +0000</pubDate>
		<dc:creator>Matt Ployhar (Intel)</dc:creator>
		
		<category><![CDATA[Gaming]]></category>

		<category><![CDATA[Media]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Visual Computing]]></category>

		<category><![CDATA[What If Software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/11/02/consumers-deserve-better-than-proprietary-game-systems/</guid>
		<description><![CDATA[I’ve been immersed in the Gaming Industry now for nearly fifteen years. In that length of time I’ve played countless games on at least ten or more key gaming systems. (e.g. PC, Xbox/360, Wii, PS/2-3, NinDS, etc). I’ve attended well over sixty tradeshows and met with a few thousand great people representing well over three [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been immersed in the Gaming Industry now for nearly fifteen years. In that length of time I’ve played countless games on at least ten or more key gaming systems. (e.g. PC, Xbox/360, Wii, PS/2-3, NinDS, etc). I’ve attended well over sixty tradeshows and met with a few thousand great people representing well over three hundred companies spanning: Hardware, Graphics, OEMs, Game Publishers and Developers, etc. However; in all that time I don’t feel we’re any closer to fixing the biggest issue plaguing the Gaming Industry today as back when I first started. It boils down to this; do we really want to continue down the path of having multiple Proprietary Game systems &amp; having no standards in place? Do we really want to continue having to purchase two, three, four, or more gaming systems in perpetuity?  </p>
<p>What I’d like to see are the key stakeholders in the gaming industry start by considering the problem from the Consumer’s viewpoint &amp; wallet. Today if I’m a gamer-consumer I’m assaulted with an array of Game System choices. Unlike music or movies, in order to play the game I want I’m forced to make some hard choices. If I want to play the next Halo when it releases I have to buy an Xbox. If I want to play God of War I’ll likely have to buy a Playstation. If I want to play the next Zelda I’ll likely have to buy a Nintendo Wii. If I want to play World of Warcraft I’ll have to buy a PC or a Mac &amp; so on it goes. The irony is that these same key stakeholders in wanting to ‘wall off their gardens’ are actually costing themselves and the consumers more money in the end. Everyone in this current ‘fail-boat’ scenario is a loser. </p>
<p>Enough! Am I the only person that thinks this is a bit crazy and unfair to consumers? Imagine if we were to extend this same business model out to include movies &amp; or music? I’d have to buy three or more systems to play all my movies. I’d have to buy another three or more systems to play all my music. Imagine if this scenario extended broadly to certain broadcast networks (e.g. CBS, NBC, etc) and I then have to purchase separate TVs? In a word this is ‘nutty’. My living room would be stacked floor to ceiling with twenty or more media playback devices.</p>
<p>There is one platform device that has the ability to play all media (Games, Music, and Movies) very well so why not fix it? If I have to spell it out that would be a PC.  In order to do this though there would need to be some sort of Hardware and Software standards in place; likely set at a certain agreed upon cadence with all the key stakeholders. </p>
<p>Let me briefly touch upon and preempt the naysayers on two big topics that are bound to be mentioned for the PC.<br />
1) Piracy is killing PC gaming? Really? Do we ever hear about the impact of secondary sales on the Console? Ask yourself what is worse? I sold my old Console games on Craig’s list.  (Cha-Ching!) None of that money went back to the Game Developer or Publisher. Both are very serious issues though that I’ll tackle in a later blog. Fundamentally though Game Developers will most likely have to shift the value propositions of their games to the cloud &amp; or somehow stay tethered to the internet to combat Piracy. The Pirates only have themselves to thank for that one. We’re seeing Consoles jumping on that band wagon now. I’ve also mused about how the OEMs feel about Proprietary Gaming systems but I digress.<br />
2) Ease of use? Again … nothing a PC can’t handle here either. Time to load a game, menus and so on. The bulk of these issues are so easy to solve by following some game design 101 basics. A game on any platform should always work and be easily accessible. Solutions here are really not that hard. </p>
<p>So there you have it. Someday I hope to retire; and when I do walk into my local retail or etail store, I hope to be able to simply pick up the game, or download it, and have it work. I for one will definitely be averse to having to continue mixing and matching devices to games. Hopefully by then the gaming industry I’m so fond of will have matured a little by then. While I’m bound to hear primarily from industry insiders who I’d like to hear from the most is actually the gaming-consumers. How do you feel about all this?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/11/02/consumers-deserve-better-than-proprietary-game-systems/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What’s the Advantage of Modeling Parallelism on my Serial Program with Parallel Advisor Lite?</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/29/whats-the-advantage-of-modeling-parallelism-on-my-serial-program-with-parallel-advisor-lite/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/29/whats-the-advantage-of-modeling-parallelism-on-my-serial-program-with-parallel-advisor-lite/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 18:34:37 +0000</pubDate>
		<dc:creator>Jackson M (Intel)</dc:creator>
		
		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[Intel Parallel Advisor Lite]]></category>

		<category><![CDATA[Intel Parallel Studio]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/29/whats-the-advantage-of-modeling-parallelism-on-my-serial-program-with-parallel-advisor-lite/</guid>
		<description><![CDATA[One of the most useful aspects of Intel® Parallel Advisor Lite is its ability to model parallelism in my application without actually running the code in parallel. Simply by doing this modeling it can tell me potential race conditions and correctness issues while still running everything serially. At first glance I ask myself “Why do [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most useful aspects of Intel® Parallel Advisor Lite is its ability to model parallelism in my application without actually running the code in parallel. Simply by doing this modeling it can tell me potential race conditions and correctness issues while still running everything serially. At first glance I ask myself “Why do I need this modeling? Shouldn’t I just try the parallel code and let another tool, like Parallel Inspector, find the race conditions?” </p>
<p>Some parallel frameworks, like OpenMP, can parallelize my for loop with a single pragma. The fact of the matter is that this can work sometimes, but other times it may provide incorrect output data or crash my application before a tool like Inspector can find the race conditions. When this happens, it can be very difficult to debug. Crashes in parallel applications may occur non-deteministically and may not be repeatable. This type of bug can be very time consuming to find and correct. By using a modeler I can ensure that my serial testing framework will still work, and the output will be the same as a run without the modeler. </p>
<p>Here is an example of an application that works fine serially, but could crash if parallelized: </p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/img1.bmp"><img src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/img1.bmp" alt="" class="alignnone size-medium wp-image-11334" /></a></p>
<p>This code fills two arrays of integer pointers with the addresses of integers. One array points to integers in counting order, the other in reverse order. It then prints out the integers by dereferencing the pointers in the arrays. When run serially, this code works fine and prints the numbers 0-99 then 99-0. Without a modeler like Parallel Advisor Lite, I could add the #pragma (currently commented out) to parallelize the loop and let another tool check for races. However, this could crash my application. Since there is a data race on both index variables, some pointers may not be initialized. When they are dereferenced in the printing loops they may throw an exception and never allow my code to finish. </p>
<p>Thus, modeling parallelism as opposed to implementing it can be a very useful step in parallelizing serial code. </p>
<p>You can download a free copy of <a href="http://software.intel.com/en-us/articles/intel-parallel-advisor-lite/">Parallel Advisor Lite</a> and an evaluation copy of <a href="http://software.intel.com/en-us/intel-parallel-studio-home/">Intel® Parallel Studio </a>to try them out. </p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/29/whats-the-advantage-of-modeling-parallelism-on-my-serial-program-with-parallel-advisor-lite/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing Intel® Parallel Advisor Lite on Windows 7</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/07/installing-intel-parallel-advisor-lite-on-windows-7/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/07/installing-intel-parallel-advisor-lite-on-windows-7/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 16:54:31 +0000</pubDate>
		<dc:creator>Gastón C. Hillar</dc:creator>
		
		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[Intel Parallel Advisor]]></category>

		<category><![CDATA[Parallel Programming &amp; Multi-Core]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/07/installing-intel-parallel-advisor-lite-on-windows-7/</guid>
		<description><![CDATA[Many Windows developers stayed in Windows XP instead of upgrading their developer workstations to Windows Vista. Windows Vista introduced some compatibility problems when installing certain applications. Now, Windows 7 is round the corner and many developer workstations are going to move to this new Windows version. Windows 7 has many improvements over Vista. Nonetheless, it [...]]]></description>
			<content:encoded><![CDATA[<p>Many Windows developers stayed in Windows XP instead of upgrading their developer workstations to Windows Vista. Windows Vista introduced some compatibility problems when installing certain applications. Now, Windows 7 is round the corner and many developer workstations are going to move to this new Windows version. Windows 7 has many improvements over Vista. Nonetheless, it is an improved Windows Vista. Therefore, you can face some incompatibilities whilst trying to install the necessary software for a professional development environment.</p>
<p>I’m working with Windows 7 RTM and I wanted to install <a href="http://software.intel.com/en-us/articles/intel-parallel-advisor-lite/">Intel® Parallel Advisor Lite</a>. Its latest version is a Windows Installer Package (.MSI), Advisor_Lite_update1_win.msi. The package has to be installed with Administrator rights. Therefore, if you just double click on the file, the installation is not going to work as expected.</p>
<p>As Windows 7 hasn’t been released yet, Intel® Parallel Advisor Lite doesn’t offer official support for this operating system. However, I’m already working with Windows 7 and I wanted to optimize some code for multicore microprocessors taking advantage of the new performance improvements offered by the new Windows 7 kernel.</p>
<p>There is a very simple way to successfully install Intel® Parallel Advisor Lite on Windows 7. Besides, the same steps work with Windows Vista:</p>
<p><strong>1.</strong> Run a Command Prompt as Administrator: Start Menu, All Programs, Accesories. Right-click on “Command Prompt” and select “Run as administrator” from the context menu that appears, as shown in the following picture.</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/advisor_win7_01.png"><img class="alignnone size-medium wp-image-10472" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/advisor_win7_01-242x300.png" alt="" width="242" height="300" /></a></p>
<p><strong>2.</strong> A command line (terminal) Window will appear displaying the title “Administrator: Command Prompt”. Go to the folder where you downloaded the Advisor_Lite_update1_win.msi file. Remember that you have to use the CD command. For example, if the file is in C:\downloads, you just have to type:</p>
<p>CD C:\downloads</p>
<p>Important note: As a developer, you should know the CD command. However, I wanted to keep things as simple as possible for those who don’t use command line commands in Windows.</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/advisor_win7_02.png"><img class="alignnone size-medium wp-image-10473" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/advisor_win7_02-300x151.png" alt="" width="300" height="151" /></a></p>
<p><strong>3.</strong> Run msiexec with the /i option and the Windows Installer Package (.MSI) as a parameter:</p>
<p>msiexec /i Advisor_Lite_update1_win.msi</p>
<p>The installation will start because you’re running the Advisor_Lite_update1_win.msi package as an Administrator. You’ll be able to enjoy Intel® Parallel Advisor Lite. Follow the advice and tackle the multicore revolution!</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/advisor_win7_03.png"><img class="alignnone size-medium wp-image-10474" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/advisor_win7_03-300x198.png" alt="" width="300" height="198" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/07/installing-intel-parallel-advisor-lite-on-windows-7/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Event Based Sampling - are you ready?</title>
		<link>http://software.intel.com/en-us/blogs/2009/09/30/event-based-sampling-are-you-ready/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/09/30/event-based-sampling-are-you-ready/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 22:56:02 +0000</pubDate>
		<dc:creator>David Mackay (Intel)</dc:creator>
		
		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[Core i7 optimization performance analysis]]></category>

		<category><![CDATA[Nehalam]]></category>

		<category><![CDATA[VTune]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/09/30/event-based-sampling-are-you-ready/</guid>
		<description><![CDATA[Event based sampling uses counters on the Intel processors to detect what your software is doing.   This is helpful for tuning and improving software performance.   Typical hotspot analysis shows you where your software spends most of the execution time, but event based sampling allows you to see not just what sections of your application take [...]]]></description>
			<content:encoded><![CDATA[<p>Event based sampling uses counters on the Intel processors to detect what your software is doing.   This is helpful for tuning and improving software performance.   Typical hotspot analysis shows you where your software spends most of the execution time, but event based sampling allows you to see not just what sections of your application take the most time but why and what it is doing.</p>
<p>The events are different for each platform so you need to know what platform you are executing your software on.   We just recently updated our guide to event based tuning on the popular Intel(R) Core(TM) i7 processor based platforms.  The guide is updated to include suggestions for both single socket and dual socket systems.   Check out: <span style="#1f497d;"><span style="small;"> </span><a href="http://software.intel.com/en-us/articles/using-intel-vtune-performance-analyzer-to-optimize-software-for-the-intelr-coretm-i7-processor-family/"><span style="small;">http://software.intel.com/en-us/articles/using-intel-vtune-performance-analyzer-to-optimize-software-for-the-intelr-coretm-i7-processor-family/</span></a></span></p>
<p><span style="#1f497d;">Many of you following our platforms know that on our new platforms the memory bandwidth measurements can no longer be done on the core processor.    For those who want to measure bandwidth on the Intel(r) Core(TM) i7 processor based platforms we have enabled a method using uncore events.   Check out this link:  <a href="http://software.intel.com/en-us/articles/how-do-i-measure-memory-bandwidth-on-an-intel-core-i7-or-xeon-5500-series-platform-using-intel-vtune-performance-analyzer/">http://software.intel.com/en-us/articles/how-do-i-measure-memory-bandwidth-on-an-intel-core-i7-or-xeon-5500-series-platform-using-intel-vtune-performance-analyzer/</a>  You must have a VTune Performance Analyzer License and you will also need to download the Performance Tuning Utility from whatif.intel.com.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/09/30/event-based-sampling-are-you-ready/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intel® Parallel Advisor Lite Update 1 Released</title>
		<link>http://software.intel.com/en-us/blogs/2009/09/28/intel-parallel-advisor-lite-update-1-released/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/09/28/intel-parallel-advisor-lite-update-1-released/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 15:17:37 +0000</pubDate>
		<dc:creator>Jackson M (Intel)</dc:creator>
		
		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[Intel Parallel Advisor Lite]]></category>

		<category><![CDATA[Intel Parallel Studio]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/09/28/intel-parallel-advisor-lite-update-1-released/</guid>
		<description><![CDATA[The first Update for Intel® Parallel Advisor Lite (Advisor Lite) has been released and is available at http://software.intel.com/en-us/articles/download-intel-parallel-studio-advisor-lite/. Advisor Lite is a free technology preview that helps software developers model parallelism in their existing serial C/C++ applications. 
This update ensures that Advisor Lite works cleanly with Intel® Parallel Inspector Update 1, Intel® Parallel Amplifier Update [...]]]></description>
			<content:encoded><![CDATA[<p>The first Update for Intel® Parallel Advisor Lite (Advisor Lite) has been released and is available at <a href="http://software.intel.com/en-us/articles/download-intel-parallel-studio-advisor-lite/">http://software.intel.com/en-us/articles/download-intel-parallel-studio-advisor-lite/</a>. Advisor Lite is a free technology preview that helps software developers model parallelism in their existing serial C/C++ applications. </p>
<p>This update ensures that Advisor Lite works cleanly with Intel® Parallel Inspector Update 1, Intel® Parallel Amplifier Update 1, and Intel® Parallel Composer Update 1. In addition to the integration improvements, the Advisor Lite documentation has been revised to improve the workflow information in the Getting Started Guide and on-line help. This stresses the importance of the Advisor Lite methodolgy for parallelizing serial applications and makes it easier to follow the workflow while using the tool. </p>
<p>Also, the Advisor Lite homepage <a href="http://software.intel.com/en-us/articles/intel-parallel-advisor-lite/">http://software.intel.com/en-us/articles/intel-parallel-advisor-lite/</a> has been updated with new information to describe how and when to use Advisor Lite and when to use the Intel Parallel Studio tools. The updated site also includes a blog section as a convenient way to locate timely on-line publications about Advisor Lite. </p>
<p>The Release Notes have been updated to address using Advisor Lite Samples with different versions of Intel® Threading Building Blocks. </p>
<p>In addition, this update also helps Advisor Lite work more cleanly with the first updates of the Parallel Studio tools. </p>
<p>You should only install Advisor Lite Update 1 with Intel Parallel Studio products that are also at Update 1. To confirm that you have already installed Update 1 of Intel Parallel Amplifier, Intel Parallel Inspector, and Intel Parallel Composer, do the following: </p>
<p>1. From the Control Panel, select Add or Remove Programs.<br />
2. Scroll to the Intel products.<br />
3. Verify that the versions displayed show Update 1 for Intel Parallel Amplifier, Intel Parallel Inspector, and Intel Parallel Composer.<br />
4. If all products show Update 1 is installed, you can install Advisor Lite Update 1. </p>
<p>Uninstalling the Advisor Lite Update from systems with older versions of these products will cause the Amplifier, Inspector, and Composer items to disappear from the Visual Studio Help menu and the Solution Explorer context menu. You can fix the problem by using the Repair option for each product (Amplifier, Inspector, and Composer): </p>
<p>1. From the Control Panel, select Add or Remove Programs.<br />
2. Scroll to the Intel product that needs to be repaired. Click (select) that product.<br />
3. Select Change/Remove.<br />
4. Select Repair.<br />
5. Click Next&gt;.<br />
6. Click Repair.<br />
7. Click Finish.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/09/28/intel-parallel-advisor-lite-update-1-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Finding Suitable Sites for Parallelism using Intel® Parallel Advisor Lite</title>
		<link>http://software.intel.com/en-us/blogs/2009/09/08/finding-suitable-sites-for-parallelism-using-intel-parallel-advisor-lite/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/09/08/finding-suitable-sites-for-parallelism-using-intel-parallel-advisor-lite/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 20:53:26 +0000</pubDate>
		<dc:creator>Jackson M (Intel)</dc:creator>
		
		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[Hotspots]]></category>

		<category><![CDATA[Intel Parallel Advisor Lite]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/09/08/finding-suitable-sites-for-parallelism-using-intel-parallel-advisor-lite/</guid>
		<description><![CDATA[
As hardware trends away from faster clocks towards more cores per chip, software must adapt to take advantage of multi-core architectures.  Performance gains will have to come from parallelizing applications instead of waiting for more cycles per second.
Intel® Parallel Advisor Lite along with Intel® Parallel Studio lay out a multi-step process to aid developers [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image1.bmp"><img src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image1.bmp" alt="" class="alignnone size-medium wp-image-9627" /></a></p>
<p>As hardware trends away from faster clocks towards more cores per chip, software must adapt to take advantage of multi-core architectures.  Performance gains will have to come from parallelizing applications instead of waiting for more cycles per second.</p>
<p>Intel® Parallel Advisor Lite along with Intel® Parallel Studio lay out a multi-step process to aid developers in transitioning their serial code to parallel code.   This blog article will focus on the first step of the process: <strong>How to determine where to add parallelism in an application</strong>.</p>
<p>Parallel Advisor Lite provides an easy to use GUI interface as a plug-in to Microsoft® Visual Studio that can help developers profile their code and understand where most of the time is being spent.  These “Hotspots” are good starting points when deciding where to add parallelism in an application.  Figure 1 shows a screenshot of some profile data generated by Parallel Advisor Lite on a <a href="http://en.wikipedia.org/wiki/K_nearest_neighbors">K-Nearest Neighbors</a> application.</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image2.bmp"><img src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image2.bmp" alt="" class="alignnone size-medium wp-image-9630" /></a><br />
<b>Figure 1</b></p>
<p>Figure 1 shows that the majority of the program is spent in a function called “vector” (see the top function vector in the screenshot above) and a method called “KNN::distance”.  Navigating to the vector function reveals that it is part of the Standard Template Library (STL).  In my quest to parallelize my application I’m going to rule out diving into the STL and focus on the KNN::distance method.  With the click of a mouse, Parallel Advisor Lite will automatically navigate me to the source code (definition) of this method.  Figure 2 shows the breakdown of time spent in KNN::distance.</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image3.bmp"><img src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image3.bmp" alt="" class="alignnone size-medium wp-image-9631" /></a><br />
<b>Figure 2</b></p>
<p>By looking at this method I can see that a single call shouldn’t take very long.  All it does is calculate the distance between two points and it spends almost as much time returning the value as it does in the calculation.  If I wrote this method myself I might have known it was fast without even navigating to the code.</p>
<p>If this was all the information that I had, I may be out of luck for parallelization because even though I’ve found the location of the bulk of my work, it doesn’t appear to be very conducive to parallelism.  Now let’s switch to the Top-Down profile view that exposes where the calls to KNN::distance are coming from to open up more possibilities for parallelism.</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image4.bmp"><img src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image4.bmp" alt="" class="alignnone size-medium wp-image-9632" /></a><br />
<b>Figure 3</b></p>
<p>Figure 3 revels that the KNN::predict method is making calls to distance and by looking at the source code I can see that it makes these calls in the body of a loop.</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image5.bmp"><img src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/09/image5.bmp" alt="" class="alignnone size-medium wp-image-9658" /></a></p>
<p>Now I’ve identified another possible site for parallelism that still focuses on the Hotspots of my code.  This site appears to be a loop with independent iterations (the execution of one iteration isn’t dependent on a previous iteration), which is a prime candidate for parallelization.</p>
<p>The way Parallel Advisor Lite encourages us to use profile information can be very useful in uncovering the not-so-obvious locations where introducing parallelism may greatly improve performance.</p>
<p>You can download a free copy of <a href="http://software.intel.com/en-us/articles/intel-parallel-advisor-lite/">Parallel Advisor Lite </a>and an evaluation copy of <a href="http://software.intel.com/en-us/intel-parallel-studio-home/">Intel® Parallel Studio </a>to try them out.  I’ve used the tool and found that the Top-down and Bottom-up views are both useful in finding sites to parallelize.  The Bottom-up view helps to identify the functions that are consuming the most time.  The Top-down view can present call path information that may reveal better locations to introduce parallelism while still focusing on the hotspots. The timing breakdowns also reveal interesting characteristics about my applications that I wouldn’t have guessed, such as the heavy overhead of vector operations. </p>
<p><strong>Do you think there are better ways to visualize the data? </p>
<p>Is there anything missing that you wish was presented?</p>
<p>Have you used the tool and been surprised by the results?</strong></p>
<p>Please share your experiences and perspectives!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/09/08/finding-suitable-sites-for-parallelism-using-intel-parallel-advisor-lite/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RT @sgershon: #PC Remote Control through #Twitter - soon with Intel AMT ? :)</title>
		<link>http://software.intel.com/en-us/blogs/2009/09/04/rt-sgershon-pc-remote-control-through-twitter-soon-with-intel-amt/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/09/04/rt-sgershon-pc-remote-control-through-twitter-soon-with-intel-amt/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 14:33:21 +0000</pubDate>
		<dc:creator>Shmuel Gershon (Intel)</dc:creator>
		
		<category><![CDATA[Cool Software]]></category>

		<category><![CDATA[Manageability]]></category>

		<category><![CDATA[Social Media &amp; Virtual Worlds]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[AMT]]></category>

		<category><![CDATA[future]]></category>

		<category><![CDATA[Intel AMT]]></category>

		<category><![CDATA[Local]]></category>

		<category><![CDATA[Remote Control]]></category>

		<category><![CDATA[sgershon]]></category>

		<category><![CDATA[twitter]]></category>

		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/09/04/rt-sgershon-pc-remote-control-through-twitter-soon-with-intel-amt/</guid>
		<description><![CDATA[#TweetMyPC is an app by @shobankr that allows one to remotely control their computer by Twitter messages.
(For the uninitiated, Twitter is a very popular micro-blogging service, with ~10 million users).
I'll not get into deep details about the application, but it does have many features (shutdown, restart, standby… even screenshot). While it doesn't have a huge [...]]]></description>
			<content:encoded><![CDATA[<p>#TweetMyPC is an app by @shobankr that allows one to remotely control their computer by <a href="http://twitter.com">Twitter </a>messages.<br />
(<em>For the uninitiated, Twitter is a very popular micro-blogging service, with ~10 million users</em>).</p>
<p>I'll not get into deep details about the application, but it does have many features (<em>shutdown, restart, standby… even screenshot</em>). While it doesn't have a huge crowd of users, it does have a lot of buzz and attention from top gadget and technology blogs (<em>like <a href="http://lifehacker.com/5236576/tweetmypc-uses-twitter-to-remote-control-your-pc">LifeHacker</a>, <a href="http://gizmodo.com/5239582/tweetmypc-remote-control-your-pc-with-twitter">Gizmodo</a></em>). <strong>This shows that there is a lot of interest in remote control and remote management solutions, even in home consumer markets.</strong></p>
<p>And of course, I couldn’t stop thinking about Intel AMT when I saw these links. :)<br />
What if we could add to the simplicity of this interface the features available in Intel AMT? For example, one short SMS message and your system is powered down (<em>the "macho" way, without waiting for apps to close :) </em>).<br />
Or what about setting 3PDS information to be retrieved later? Your computer could become your always-available note taking device :). Everyone in the family can 'tweet' the groceries list, and then anyone can retrieve it from a remote computer, without need to wake up the Operating System.</p>
<p>And even cooler, with an SMS message that stops a Software Agent from sending heartbeats, one can block the network connection with System Defense. Forgot a VoiceOverIP application connected? System Defense can block the specific protocol or port at a remote SMS command from the road.</p>
<p>I believe this simplicity and this availability will come.<br />
In the future, technologies like AMT will be spread enough and easy to use enough for us to have such a straightforward interface. We will see semantic parsers that will let us text our machines "<code>block all connections apart from port 31426, update the antivirus and then shutdown</code>".</p>
<p>We are getting close, step by step. And Intel AMT can add a myriad of features to this future :).</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/09/04/rt-sgershon-pc-remote-control-through-twitter-soon-with-intel-amt/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to model parallelism with Intel® Parallel Advisor Lite</title>
		<link>http://software.intel.com/en-us/blogs/2009/08/19/how-to-model-parallelism-with-intel-parallel-advisor-lite/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/08/19/how-to-model-parallelism-with-intel-parallel-advisor-lite/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 13:45:57 +0000</pubDate>
		<dc:creator>Caroline D (Intel)</dc:creator>
		
		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[Parallel Advisor Lite]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/08/19/how-to-model-parallelism-with-intel-parallel-advisor-lite/</guid>
		<description><![CDATA[Did you know that Intel® Parallel Advisor Lite offers you the ability to prototype (model) parallelism in your serial application? It lets you scope the effort of parallelizing your application while continuing to use your existing test system and debugging tools as you make source modifications to avoid data sharing issues.
To model potential parallelism, you [...]]]></description>
			<content:encoded><![CDATA[<p>Did you know that <a href="http://software.intel.com/en-us/articles/intel-parallel-advisor-lite/">Intel® Parallel Advisor Lite</a> offers you the ability to prototype (model) parallelism in your serial application? It lets you scope the effort of parallelizing your application while continuing to use your existing test system and debugging tools as you make source modifications to avoid data sharing issues.</p>
<p>To model potential parallelism, you insert Parallel Advisor Lite <em>annotations</em> into your source code to mark your tentative decisions about your program's parallel task structure. Annotations are textual hints that will not cause compilation or link-time errors when you are not building for Parallel Advisor Lite or when the Parallel Advisor Lite libraries are not found on your system. By using annotations, you avoid having dependencies on particular compilers or parallel constructs.</p>
<p>How to proceed…</p>
<ol>
<li>Start by identifying likely locations to add parallelism with the use of a profiling tool.<br />
Using a Release configuration built with debug information, launch the Parallel Advisor Lite profile tool:<br />
<a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/first.bmp"><img class="alignnone size-medium wp-image-8670" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/first.bmp" alt="" /></a></li>
<p><span id="more-8671"></span></p>
<li>Create a new header file that is initialized with the Parallel Advisor Lite Annotation definitions and include it<br />
<a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/template.bmp"><img class="alignnone size-medium wp-image-9010" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/template.bmp" alt="Intel(R) Parallel Advisor Lite annotate header file template" /></a></li>
<p><!--more--></p>
<li>Insert task annotations around a block of code that will execute as a task (red arrows below), then insert the site annotations around the task(s) that you want to execute in parallel with one another (blue arrows below). For example:<br />
<a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/annotate.bmp"><img class="alignnone size-medium wp-image-9009" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/annotate.bmp" alt="Intel(R) Parallel Advisor Lite Annotations" /></a>
</li>
<p><!--more--></p>
<li>Build your project configurations as before (release configuration with debug information)<br />
<!--more--></p>
<li>Confirm that the annotated sites and tasks have potential performance gains.  This requires some manual effort since Parallel Advisor Lite does not provide a tool for this step.<br />
The process of how to evaluate the performance impact can be found in our help documentation.<br />
<!--more--></p>
<li>Using a Debug configuration (with debug information) and a small representative data set, run the Parallel Advisor Lite <em>Correctness Modeling</em> tool to evaluate data accesses that occur within the annotated regions.    Depending on the data observations reported, you may be required to insert annotations to model locking of a data access or model a “critical region” or consider larger changes to your source pool...
</ol>
<p>Once you achieve a clean Correctness Modeling run, you have the choice of replacing annotations with the parallel constructs (creating a parallel program) or looking for another region to prototype. You will be able to exploit the full potential of the Intel® Parallel Studio tools now that you have parallelized your application, such as using Intel(R) Parallel Amplifier to improve concurrency or Intel(R) Parallel Inspector to check for threading errors.</p>
<p><!--more--><br />
<strong>For more information</strong> about where and when to insert annotations can be found in our Parallel Advisor Lite help <em>Task Organization and Annotations</em> and in our <em>Annotation Reference</em> sections.<br />
<a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/second.bmp"><img class="aligncenter size-medium wp-image-8672" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/second.bmp" alt="" /></a><br />
<!--more--><br />
<strong>Note:</strong> Our <code>annotate.h</code> includes <code>windows.h</code>. This is due to combining what would typically be found in an <code>annotate.h/.cpp</code> file pair into a single file.  Unfortunately, this inclusion can result in unexpected compilation errors when your application already includes <code>windows.h</code>. You can sidestep this issue by defining “WIN32_LEAN_AND_MEAN” as shown below<br />
<a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/win32lean.bmp"><img class="alignnone size-medium wp-image-9011" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/win32lean.bmp" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/08/19/how-to-model-parallelism-with-intel-parallel-advisor-lite/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Draft Specification of Transactional Language Constructs for C++</title>
		<link>http://software.intel.com/en-us/blogs/2009/08/06/new-draft-specification-of-transactional-language-constructs-for-c/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/08/06/new-draft-specification-of-transactional-language-constructs-for-c/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 21:44:16 +0000</pubDate>
		<dc:creator>Aaron Tersteeg (Intel)</dc:creator>
		
		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[Intel® C++ STM Compiler]]></category>

		<category><![CDATA[Transactional Memory C++]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/08/06/new-draft-specification-of-transactional-language-constructs-for-c/</guid>
		<description><![CDATA[We are happy to release the first version of the Draft Specification of Transactional Language Constructs for C++. This specification is the result of a joint work by a group of people from Intel, IBM and Sun, and is based on our experience working with transactional language constructs. We would like to encourage people to [...]]]></description>
			<content:encoded><![CDATA[<p>We are happy to release the first version of the <a href="http://software.intel.com/file/21569">Draft Specification of Transactional Language Constructs for C++</a>. This specification is the result of a joint work by a group of people from Intel, IBM and Sun, and is based on our experience working with transactional language constructs. We would like to encourage people to implement this specification and we welcome feedback on the document. Please direct any such feedback to the <a href="http://groups.google.com/group/tm-languages">TM &amp; Languages Google Group</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/08/06/new-draft-specification-of-transactional-language-constructs-for-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How the Incredible Shrinking Hard Drive will shape our Industry</title>
		<link>http://software.intel.com/en-us/blogs/2009/08/01/how-the-incredible-shrinking-hard-drive-will-shape-our-industry/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/08/01/how-the-incredible-shrinking-hard-drive-will-shape-our-industry/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 01:28:47 +0000</pubDate>
		<dc:creator>Matt Ployhar (Intel)</dc:creator>
		
		<category><![CDATA[Gaming]]></category>

		<category><![CDATA[Mobility]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Visual Computing]]></category>

		<category><![CDATA[What If Software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/08/01/how-the-incredible-shrinking-hard-drive-will-shape-our-industry/</guid>
		<description><![CDATA[What I’m going to cover here certainly isn’t new or revolutionary thinking by any stretch of the imagination. This particular blog is going to be some of my observations about hard drives, what the past ten years have looked like, where we are today, and what might the next decade hold in store? I’ll of [...]]]></description>
			<content:encoded><![CDATA[<p>What I’m going to cover here certainly isn’t new or revolutionary thinking by any stretch of the imagination. This particular blog is going to be some of my observations about hard drives, what the past ten years have looked like, where we are today, and what might the next decade hold in store? I’ll of course indulge some musings for what it might also mean for the Gaming industry. </p>
<p>As a starting reference point I snapped a photo of an older 120GB Standard sized Hard Drive. Next to this is a US Quarter for size comparison. Next to that is my 8GB Solid State Thumb Drive. Pretty nifty… although I can’t say much for my amateurish photography skills. </p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/img_0074.jpg"><img src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/08/img_0074-300x225.jpg" alt="" width="300" height="225" class="alignnone size-medium wp-image-8482" /></a></p>
<p>So what fascinates me so much about this you might ask? A lot of things! For starters lets start with the size. The Hard Drive on the left is the standard 5 ¾”x4”x1”(Or ~17x12x 3cm thick).  The USB 2.0 Thumb drive is 1 1/8th” x½”x 1/8th” thick (Or 3.5x1.5cm x ~2mm thick). The weight of this Hard Drive is a little over ~1.6lbs (~725g). Conversely on the other end of the spectrum we have the Thumb Drive pictured which weighs less than the quarter pictured or about ~.01 lbs (5g). Unfortunately I didn’t have a laptop Solid State Drive (SDD) on hand for this picture. However; it may not be necessary in order to get my salient points across which segue ways into my next topic. </p>
<p>Today it’s easy to purchase that standard Hard Drive with those dimensions with a 1TB of Hard Drive space (Capacity) for ~$80 USD. The Thumb Drive pictured is 8GB for ~$15 USD. Granted… larger capacities are available. I believe ~2TB or &gt; are available for standard size Hard Drives; and ~64GB are available now for USB Thumb Drives as of July 2009. </p>
<p>Looking back in time, I didn’t have a 1999 PC Magazine on hand to reference for my full 10 year outlook, but still have one from Dec 2000. What I found out was that one could buy a 7.5 GB Ultra ATA IDE HD for ~$74 USD and on the higher end a 75GB Ultra 160 SCSI HD was ~$1100 USD. </p>
<p>This is pretty amazing when you stop and think about it. Here we are less than ten years afterwards where one can purchase a very affordable Standard Hard drive (1TB) that has over 100x the storage capacity for roughly the same price. When comparing that (1TB) Standard Standard Hard Drive to the SCSI Hard drive from 9 years ago we're getting ~13x the capacity for less than 1/10th of the price. When we switch gears and compare the USB 2.0 thumb drive with 64GB capacity available today for ~$144 USD to the higher end 75GB SCSI Hard Drive referenced,  in a USB 2.0 Thumb Drive form factor we're able to achieve something that is roughly 1/10th the price, with nearly the same capacity, at almost 1/10th of the dimensional footprint, at roughly 1/140th of the weight!!! </p>
<p>So here are some of the future implications given those trends. Extrapolating this out to the 2019-2020 timeframe here’s roughly what we might expect:</p>
<p>1)	 For starters, if standard Hard Drives are even still around, it’s possible we might see an $80-USD Hard drive with ~100TB of capacity.<br />
2)	Current sized thumb drives could likely hit 1TB capacities for about ~$10-15 USD.<br />
3)	More advanced smaller drives might emerge that would likely be ~100GB capacity, with dimensions that are only a few Millimeters in size (~1/4” or &lt;), for price points in the ~$100 USD range. </p>
<p>If the above trends materialize there are some very interesting future possibilities that will likely emerge. Some of which I believe are almost painfully obvious and have been already talked about in countless forums. However these are ones that excite me the most. </p>
<p>1)	Desktop PC form factors as we know them today are likely to be much smaller and lighter. What am I going to do with 100TB of Storage? My theory is that we could all have our own personal Media Servers if we so chose.<br />
2)	Laptop form factors as we know them continue to become thinner, lighter, faster. I think there’s a point at which this tapers off. However; every lady today can now fit a Netbook into their purse. This becomes even more feasible as time goes on. Thankfully what this means for me is that I won’t have to be lugging 7lb laptops through airport security anymore!<br />
3)	Cell phones and Hand Held form factors seem to be the most likely candidates to be our PC’s of the future, if not at least the brain or memory aspects of where we store our information. These are likely to be easily ‘paired’ with thin clients, displays, etc. At work, in the airport, on a plane, etc.<br />
4)	Secure thumb drives are already very much like a hot swappable hard drive. If my thumb drive of the future has a Terabytes worth of capacity on it this makes it easier for me when I have to move all my data, profiles, favorites, etc to a new PC form factor.<br />
5)	Gaming platforms are likely to become very cheap, and very portable. Hopefully by then we won’t have proprietary game systems anymore. My games play on anything – anywhere.<br />
6)	Game media content itself, or any media for that matter, could also simply be just preinstalled on OEM machines. Entire DVD libraries or Educational software etc. could simply be ‘already there’. Things like carrying around the library of congress in your pocket is sort of fun to think about. </p>
<p>So there you have it. I could go on for another few pages worth of possibilities; but I think at this point it’s going to be more fun to turn it over to you the reader to get your viewpoints on where you think this is all going? Let’s hear your feedback!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/08/01/how-the-incredible-shrinking-hard-drive-will-shape-our-industry/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Parallel Modeler for Serial Applications</title>
		<link>http://software.intel.com/en-us/blogs/2009/07/28/a-parallel-modeler-for-serial-applications/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/07/28/a-parallel-modeler-for-serial-applications/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 20:48:18 +0000</pubDate>
		<dc:creator>Caroline D (Intel)</dc:creator>
		
		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[Parallel Advisor Lite]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/07/28/a-parallel-modeler-for-serial-applications/</guid>
		<description><![CDATA[You need to add parallelism to your application... Where do you start?  How do you determine that adding parallelism and working through data sharing problems is worth the effort?
If you have ever parallelized a serial program, you know how tricky it can be to answer these questions!  With the move to multi-core processors, [...]]]></description>
			<content:encoded><![CDATA[<p>You need to add parallelism to your application... Where do you start?  How do you determine that adding parallelism and working through data sharing problems is worth the effort?</p>
<p>If you have ever parallelized a serial program, you know how tricky it can be to answer these questions!  With the move to multi-core processors, the need to parallelize software is becoming somewhat inevitable. Those who chose to continue to ship serial code are potentially exposing themselves to obsolescence. Parallelization is becoming essential for survival in this tough marketplace. </p>
<p>Moving from an existing serial code base to efficient and correct parallel code is often difficult, error prone and expensive.  Using intuition to identify the parallelization opportunities and then ascertaining that the parallelization was done correctly can be hit-or-miss.  The whole experience can be improved using a tool like Intel® Parallel Advisor Lite – which has been built for this exact problem.</p>
<p>Parallel Advisor Lite is a <em>parallel modeler for your serial application </em>– you would use this tool to explore or model parallel possibilities while keeping your application serial.  This is important because a parallel modeler lets you continue to use your existing test system and debugging methods as you modify your application to resolve data access issues.     </p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/07/coreworkflow.bmp"><img src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/07/coreworkflow.bmp" alt="Intel(R) Parallel Advisor Lite Workflow" class="alignleft size-medium wp-image-8389" /></a> The Parallel Advisor Lite workflow guides you through the process of </p>
<p>1.	identifying performance “hotspots” in your application; those regions where your program spends most of its time<br />
2.	inserting Parallel Advisor Lite annotations to model your parallel experiments<br />
3.	verifying the performance benefit<br />
4.	having Parallel Advisor Lite Correctness Modeling verify data accesses that occur within your annotated sites/tasks<br />
5.	resolving the data conflicts that were identified by Parallel Advisor Lite’s Correctness Modeling – by either modeling locks or refactoring your serial application<br />
6.	testing your source changes by running your existing test system – this is possible because your application is still serial   </p>
<p>Tell us what you think of <a href="http://software.intel.com/en-us/articles/intel-parallel-advisor-lite/">Parallel Advisor Lite </a> - we appreciate your feedback!   Did it lessen a pain or solve a problem you encountered on the road to effective parallelization? How can it be improved?  </p>
<p>p.s. Did you know that Parallel Advisor Lite is not tied to a threading paradigm?  Or that you can build with either the Microsoft® VC++ compiler or the Intel® C++ compiler?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/07/28/a-parallel-modeler-for-serial-applications/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sell your netbook apps on the Intel® Business Exchange Software Store</title>
		<link>http://software.intel.com/en-us/blogs/2009/06/30/sell-your-netbook-apps-on-the-intel-business-exchange-software-store/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/06/30/sell-your-netbook-apps-on-the-intel-business-exchange-software-store/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 21:46:50 +0000</pubDate>
		<dc:creator>Amanda Marvel (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Cool Software]]></category>

		<category><![CDATA[Gaming]]></category>

		<category><![CDATA[Intel SW Partner Program]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[amandamarvel]]></category>

		<category><![CDATA[Atom Processor]]></category>

		<category><![CDATA[Intel Business Exchange]]></category>

		<category><![CDATA[Intel Software]]></category>

		<category><![CDATA[Intel Software Partner Program]]></category>

		<category><![CDATA[IntelBX]]></category>

		<category><![CDATA[Intel® Atom™]]></category>

		<category><![CDATA[ISPP]]></category>

		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/06/30/sell-your-netbook-apps-on-the-intel-business-exchange-software-store/</guid>
		<description><![CDATA[There is a newly added aisle in the Intel BX Software Store (US/Canada) that now offers netbook applications. There are six categories of applications including Communications, Education &#38; Reference, Entertainment, Games, Utilities &#38; Security, and Home, Health &#38; Hobby. Each of the apps have been vetted to follow these specifications: Windows based, typically 1.6 GHz [...]]]></description>
			<content:encoded><![CDATA[<p>There is a newly added aisle in the Intel BX Software Store (US/Canada) that now offers <a href="http://sx.intel.com/c-207-netbook-apps.aspx?utm_source=blog&amp;utm_medium=ISN&amp;utm_campaign=Marvel062909&amp;cid=IBX:116BL104ENG1246">netbook applications</a>. There are six categories of applications including Communications, Education &amp; Reference, Entertainment, Games, Utilities &amp; Security, and Home, Health &amp; Hobby. Each of the apps have been vetted to follow these specifications: Windows based, typically 1.6 GHz processor, with at least 1GB RAM and a 120GB hard drive available, and the application should not require a DVD or CD-ROM drive.</p>
<p>Are you developing apps for netbooks on a Windows platform?  Interested in selling them on the Intel BX Software Store? It doesn't matter if you're located in the US or Canada, you can still sell your products in the store to consumers and SMBs located in the US and Canada. <a href="http://www.protexis.com/services/start_now_publisher.htm?cmp=ibx">Sign up here to submit your apps today!</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/06/30/sell-your-netbook-apps-on-the-intel-business-exchange-software-store/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Which technology is making things happen in your life?</title>
		<link>http://software.intel.com/en-us/blogs/2009/06/22/which-technology-is-making-things-happen-in-your-life/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/06/22/which-technology-is-making-things-happen-in-your-life/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 17:53:26 +0000</pubDate>
		<dc:creator>Jeff Kataoka (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Cool Software]]></category>

		<category><![CDATA[Gaming]]></category>

		<category><![CDATA[Intel SW Partner Program]]></category>

		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Manageability]]></category>

		<category><![CDATA[Mobility]]></category>

		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[Social Media &amp; Virtual Worlds]]></category>

		<category><![CDATA[Threading Building Blocks]]></category>

		<category><![CDATA[Visual Computing]]></category>

		<category><![CDATA[What If Software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/06/22/which-technology-is-making-things-happen-in-your-life/</guid>
		<description><![CDATA[I have read or seen recent reports of events happening in the world and I'm told that technology such as Twitter, Facebook or mobile phone videos are a big part of what is happening. So, tell me the one technology that you feel is making things happening in your life.
]]></description>
			<content:encoded><![CDATA[<p>I have read or seen recent reports of events happening in the world and I'm told that technology such as Twitter, Facebook or mobile phone videos are a big part of what is happening. So, tell me the one technology that you feel is making things happening in your life.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/06/22/which-technology-is-making-things-happen-in-your-life/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Have you tried Intel® Parallel Advisor Lite?</title>
		<link>http://software.intel.com/en-us/blogs/2009/06/05/have-you-tried-intel-parallel-advisor-lite/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/06/05/have-you-tried-intel-parallel-advisor-lite/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 17:23:03 +0000</pubDate>
		<dc:creator>Caroline D (Intel)</dc:creator>
		
		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[What If Software]]></category>

		<category><![CDATA[Parallel Advisor Lite]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/06/05/have-you-tried-intel-parallel-advisor-lite/</guid>
		<description><![CDATA[Hi everyone… 
Intel® Parallel Advisor Lite has been available for a week and the downloads continue!  We are excited about this technology preview -- the documentation, samples, Correctness Modeling, and the Microsoft Visual Studio* integration.     
As you know, there is no silver bullet when it comes to parallelizing an existing [...]]]></description>
			<content:encoded><![CDATA[<p>Hi everyone… </p>
<p><a href="http://software.intel.com/en-us/articles/intel-parallel-advisor-lite/">Intel® Parallel Advisor Lite</a> has been available for a week and the downloads continue!  We are excited about this technology preview -- the documentation, samples, Correctness Modeling, and the Microsoft Visual Studio* integration.     </p>
<p>As you know, there is no silver bullet when it comes to parallelizing an existing serial application.  Chances are that your application evolved over the years, the original architects may have moved on, interesting coding practices may have crept in, but most importantly - the coding style took advantage of optimizing compilers.   That's the key philosophical difference – serial applications are developed to have a minimal number of instructions.  In parallel applications, we want to distribute the instructions across the available cores.</p>
<p>This is where Parallel Advisor Lite comes in.  It will help you evaluate your serial application so that you can determine whether it can be transformed into an effective parallel application - if there are a few “serial optimization artifacts” you can remove them quickly and move on; but if you are faced with code that is full of complexities, you might decide to do something else.  </p>
<p>Yes - the possibility exists that you will conclude that your serial application should not be parallelized - perhaps a better serial algorithm should be used instead.   </p>
<p>What has been your experience?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/06/05/have-you-tried-intel-parallel-advisor-lite/feed/</wfw:commentRss>
		</item>
		<item>
		<title>2000 posts.  Time to throw a party!</title>
		<link>http://software.intel.com/en-us/blogs/2009/06/04/2000-posts-time-to-throw-a-party/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/06/04/2000-posts-time-to-throw-a-party/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 15:31:07 +0000</pubDate>
		<dc:creator>Bill Pearson (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Gaming]]></category>

		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Manageability]]></category>

		<category><![CDATA[Mobility]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Parallel Programming]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[Virtualization]]></category>

		<category><![CDATA[Visual Computing]]></category>

		<category><![CDATA[What If Software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/06/04/2000-posts-time-to-throw-a-party/</guid>
		<description><![CDATA[Today we had our 2000th blog post.  It struck me that this is a milestone worth mentioning.  I’m amazed at how much the Software Network community has changed since we started blogging a couple years ago.  It has been an interesting journey.  It seems like just yesterday that we started blogging.  Indeed it’s difficult to [...]]]></description>
			<content:encoded><![CDATA[<p>Today we had our 2000th blog post.  It struck me that this is a milestone worth mentioning.  I’m amazed at how much the Software Network community has changed since we started blogging a couple years ago.  It has been an interesting journey.  It seems like just yesterday that we started blogging.  Indeed it’s difficult to conceive of not having a blog.</p>
<p>Our very first blog post was written by <a href="http://software.intel.com/en-us/blogs/author/c.v.-vick/">CV Vick</a> on July 7, 2006.  CV is a fellow developer and an all around good guy.  Since CV first talked about <a href="http://software.intel.com/en-us/blogs/2006/07/07/pigs-and-chickens/">Pigs and Chickens</a> we’ve had conversations about everything from <a href="http://software.intel.com/en-us/blogs/2007/08/06/intelligent-indian-elevators/">Elevators in India</a> to <a href="http://software.intel.com/en-us/blogs/2007/05/15/why-linux-people-lust-after-dtrace/">Why Linux People Lust After DTrace</a>.  More importantly, we’ve expanded the blog authors to include non-Intel voices such as <a href="http://software.intel.com/en-us/blogs/author/asaf-shelly/">Asaf Shelly</a>, <a href="http://software.intel.com/en-us/blogs/author/corriganmanageoperationsnet/">Jim Corrigan</a>, <a href="http://software.intel.com/en-us/blogs/author/dmitriy-vyukov/">Dmitriy Vyokuv</a>, <a href="http://software.intel.com/en-us/blogs/author/gastn-c-hillar/">Gaston Hillar</a>, <a href="http://software.intel.com/en-us/blogs/author/matthew-wolf/">Matthew Wolf</a> and plenty of others.  And you’ve made over 7200 comments to their posts!</p>
<p>What’s been especially exciting for me is to watch how we’ve transformed the way we communicate with each other.  It’s hard to imagine not being able to leave a comment on something written by an “expert”.  But that was just the beginning.  Today we see developers helping each other solve problems in forums, sharing their ideas through articles and blogs, showing off their skills in <a href="http://software.intel.com/en-us/contests/Threading-Challenge-2009/codecontest.php">contests</a>, and telling us how to make our products better by sharing ideas in the <a href="http://ideazone.software.intel.com">Ideazone</a>.</p>
<p>Here are the top 5 posts of all time.</p>
<p>1. <a href="http://software.intel.com/en-us/blogs/2009/03/30/the-c-programming-language-version-40/">The C# Programming Language Version 4.0</a></p>
<p>2. <a href="http://software.intel.com/zh-cn/blogs/2008/11/19/umpcumid-clamshell/">UMPC MID Clamshell</a></p>
<p>3. <a href="http://softwareblogs-zho.intel.com/2008/03/18/sony-vaio-vgn-ux27cn-umpcwindows-xp/">Sony Vaio VGN UX27CN UMPC</a></p>
<p>4. <a href="http://software.intel.com/en-us/blogs/2009/01/05/what-does-256-cores-look-like/">What Does 256 Cores Look Like?</a></p>
<p>5. <a href="http://software.intel.com/zh-cn/blogs/2009/05/07/intel-amt-user-notification-service/?cid=sw:prccsdn">Intel(r) AMT User Notification Service</a></p>
<p>We’ve come so far, yet we’re just scratching the surface on how we work together as a community.  To celebrate this milestone I thought I’d ask you a question – what is your favorite blog post?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/06/04/2000-posts-time-to-throw-a-party/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
