<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Sun, 12 Feb 2012 11:40:03 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/isn/type/news/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles Feed</title>
    <link>http://software.intel.com/en-us/articles/isn/type/news/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Intel® GPA 4 Tip: Using the New Frame Advisor and Erg Advisor Tools</title>
      <description><![CDATA[ <b>Introduction</b><br /><br />As a game developer you want to provide a compelling user experience on every platform that you target.  But this usually involves becoming an expert in knowing every little detail of a platform's GPU architecture, which is time-consuming due to a typically steep  learning curve. Plus, the complexity of GPUs continues to increase with every new generation of graphics systems.<br /><br />So it's no surprise that the Intel GPA team hears feedback from users similar to the following: <i>"You've given me lots of metrics data that shows what's happening deep within the GPU and the individual stages of the rendering pipeline. But how do I sort through all of this data and figure out how to use it to improve my game's performance?"</i><br /> 
<ul>
</ul>
To help answer these questions, Intel® GPA 4.3 has added two new "advisors" -- Frame Advisor and Erg Advisor. In a nutshell, each of these tools is an expert system that helps you find problems in your frames. Intel® GPA Frame Analyzer already provides a lot of metrics data, but these advisors can automatically sift through this data and highlight potential areas of concern. The advisors uses "investigations" to find these issues -- each investigation is a plug-in designed to look for a particular kind of problem. <br /><br /><b><br />Tools Overview</b><br /><br />First, there are two advisors: Erg Advisor and Frame Advisor. They look and behave similarly, but with several important differences:<br /><br />
<p>
<table cellspacing="3" cellpadding="2" border="1">
<tbody>
<tr>
<td valign="top"><br /><br /></td>
<td valign="top">
<div >
<div align="center"><b>Erg Advisor</b></div>
</div>
</td>
<td valign="top">
<div >
<div align="center"><b>Frame Advisor</b></div>
</div>
</td>
</tr>
<tr>
<td valign="top"><b>Available Investigations</b></td>
<td valign="top">Findings relevant to individual   ergs<br /></td>
<td valign="top">Findings relevant to the frame in   general</td>
</tr>
<tr>
<td valign="top"><b>What is shown</b><br /></td>
<td valign="top">Findings across investigations for   the currently selected ergs<br /></td>
<td valign="top">Findings for all ergs, regardless   of the current selection<br /></td>
</tr>
<tr>
<td valign="top"><b>What is displayed</b><br /></td>
<td valign="top">Investigations that have found   something for the current selection<br /></td>
<td valign="top">All investigations regardless   of  whether something was found or not<br /></td>
</tr>
<tr>
<td valign="top"><b>Accessing the tool</b><br /></td>
<td valign="top">Accessed via the tab group, and   behaves in an erg-centric fashion, much like the other tabs<br /></td>
<td valign="top">Accessed from the Intel GPA Frame   Analyzer menu<br /></td>
</tr>
</tbody>
</table>
</p>
Both tools also include hyperlinks in some of the investigations -- depending upon the specific investigation, these links will help you access the supporting data more quickly.<br /><br /><b><br />The Erg Advisor Tool</b><br /><br />As mentioned before, the Erg Advisor is erg-based (hence its name!). To get started:<br /><ol>
<li>Open the "Erg Advisor" tab.</li>
<li>Select one or more ergs that you want to analyze.</li>
</ol>Once ergs are selected, investigations appear (four are available in this example), and can be selected to see the details of the investigations in the lower portion of the window (here we've selected "Rejected Pixels" and sorted the results by "Raw Values", the default):<br /><br /> <a href="http://planetblue.ith.intel.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/8055.Advisor-2.jpg"><img border="0" id="_x0000_i1026" src="http://planetblue.ith.intel.com/resized-image.ashx/__size/500x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/8055.Advisor-2.jpg" alt=" " /></a><br /><br />But sometimes it's more useful to view the results sorted by some other weighting that's more meaningful to you. In the example below, we've chosen to view the data sorted by the "Weighted Values" option:<br /><br /> <a href="http://planetblue.ith.intel.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/6102.Advisor-3.jpg"><img border="0" id="_x0000_i1027" src="http://planetblue.ith.intel.com/resized-image.ashx/__size/500x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/6102.Advisor-3.jpg" alt=" " /></a><br /><br /> When you select a particular sorting order, you'll also see an explanation of the sorting (as highlighted in yellow below):<br /><br /> <a href="http://planetblue.ith.intel.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/0550.Advisor-4.jpg"><img border="0" id="_x0000_i1028" src="http://planetblue.ith.intel.com/resized-image.ashx/__size/500x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/0550.Advisor-4.jpg" alt=" " /></a><br /><br /> For more details on the Erg Advisor, please refer to the Intel GPA Help File that's installed with the product. Or better yet, download the tool and experiment with the various options within the Erg Advisor.<br /><br /><b><br />The Frame Advisor Tool</b><br /><br />When you select Frame Advisor from the menu, you'll notice that the layout is similar to that of the Erg Advisor, but the tool appears in its own window. By having Frame Advisor in its own window, you can easily select one erg after the other for analysis without having to reopen the Frame Advisor:<br /><br /> <a href="http://planetblue.ith.intel.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/2626.Advisor-5.jpg"><img border="0" id="_x0000_i1029" src="http://planetblue.ith.intel.com/resized-image.ashx/__size/500x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/2626.Advisor-5.jpg" alt=" " /></a><br /><br /> Also note that all frame investigations are visible, even if they have "0 items for review". This approach is used because the frame view is based upon all ergs in the frame (and not dependent upon which ergs you have selected).<br /><br /><b><br />Using the Tools with Experiments</b><br /><br /> Another key feature of the Frame Advisor and the Erg Advisor is that the results reflects the impact of any Intel GPA Frame Analyzer experiments that are in effect. For example, first of all select "1x1 Scissor Rect" from the "Experiments" tab:<br /><br /> <a href="http://planetblue.ith.intel.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/6242.Advisor-6.jpg"><img border="0" id="_x0000_i1030" src="http://planetblue.ith.intel.com/resized-image.ashx/__size/500x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-69-81/6242.Advisor-6.jpg" alt=" " /></a> <br /><br /> Then use the "Refresh" button that now appears on the right-hand side of the advisor to update the findings based on the selected experiments:<br /><br /><img width="501" height="391" src="http://software.intel.com/file/40202" title="refresh.jpg" alt="refresh.jpg" /><br /><br /> <br /><b>Conclusion, and Next Steps</b><br /><br />As you can see, we have spent a lot of time developing these tools and fine tuning both the investigations and the display of the results. You now have even more tools available within Intel GPA to quickly and easily isolate performance hotspots within your game, enabling you to more quickly meet your performance targets. <br /><br />However, we continue to look for ways to improve the product. So we would love to hear your  suggestions and comments about these advisors in the <a href="http://software.intel.com/en-us/forums/intel-graphics-performance-analyzers/">Intel GPA Support Forum</a>, especially if you have some "tips &amp; tricks"  that you think would be great as a new "plug-in". <br /><br />For more information about these tools or Intel GPA in general, see the <a href="http://software.intel.com/en-us/articles/intel-gpa/">Intel GPA Home Page</a>. You can also download Intel GPA from that site (it's free to Intel's Visual Adrenaline Program members), and try these tools out for yourself!<br />
<div  id="vc-meta">
<div id="vc-meta-pubdate">08-15-2011</div>
<div id="vc-meta-modificationdate">01-23-2012</div>
<div id="vc-meta-taxonomy">Tech Articles</div>
<div id="vc-meta-category-product">
<div class="gpa">Intel® GPA</div>
</div>
<div id="vc-meta-thumb"></div>
<div id="vc-meta-abstract">Game analysis and optimization is critical, and the complexity of modern GPU's makes this task even more difficult. Intel GPA has just added new "advisors" that automate the process of identifying the most likely causes of performance issues in a frame.</div>
</div> ]]></description>
      <link>http://software.intel.com/en-us/articles/gpa-advisor-tools/</link>
      <pubDate>Mon, 07 Nov 2011 00:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/gpa-advisor-tools/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/gpa-advisor-tools/</guid>
      <category>ISN General</category>
      <category>Intel® Graphics Performance Analyzers Knowledge Base</category>
      <category>Intel® Graphics Performance Analyzers (Intel® GPA)</category>
      <category>Visual Computing Source</category>
    </item>
    <item>
      <title>Announcing Intel® Graphics Performance Analyzers 4.3</title>
      <description><![CDATA[ <b>Announcing Version 4.3 of Intel® Graphics Performance Analyzers (Intel® GPA)</b><br /><b>December 5th, 2011</b><br /> <b><br /><br /> 
<hr />
Introduction<br /></b><br /> Intel® GPA is a powerful, agile developer tool suite for analyzing and optimizing games, media, and other   graphics-intensive applications. <br /><br />We're proud to announce the availability of Intel GPA 4.3. The product is available at no charge to members of  Intel's  Visual Adrenaline Developer Program. To download Intel GPA and  register  for Visual Adrenaline membership, use <a href="https://ssl.software.intel.com/en-us/register/visual-adrenaline/">this link</a>. For more information on membership in this free developer program, visit the <a title="Visual Adrenaline Home Page" href="http://www.intel.com/software/visualadrenaline" target="_blank">Visual Adrenaline Home Page</a>. <br /><br /><b> 
<hr />
Overview of the Release</b><br /><br />We've seen some key trends in the marketplace that have helped shape the new features found in Intel GPA 4.3:<br /> 
<ul>
<li>an increase in the complexity of GPU's,  so that users have requested "hints" from Intel GPA as to what parts of  their graphics code are good candidates for analysis and optimization</li>
<li>an increase in customers wanting to analyze their games on configurations with smaller memory and compute resources, such as tablets and notebooks</li>
<li>game developers have been switching to Microsoft Windows 7* as their primary development OS</li>
</ul>
Therefore, this latest release includes new features:<br /> 
<ul>
<li>The addition of two new analytical tools within Intel GPA Frame  Analyzer, Frame Advisor (beta) and Erg Advisor (beta). These tools  automate the process of finding the most likely causes of performance  issues within a frame, such as ergs which have an excessive amount of  occluded geometry. This is probably the "best" feature of this latest  version of Intel GPA! For detailed information about these tools, <a href="http://software.intel.com/en-us/articles/gpa-advisor-tools/">see this article</a>.</li>
<li>The addition of a "new" tool, Intel GPA System Analyzer, which functions similar to the Intel GPA System Analyzer HUD, but this version of the tool runs in a client/server mode and supports additional charting options. This is useful for analyzing netbooks and other computers with limited resources, when you want to analyze system performance in a multiple-monitor setup on a single machine, or when you need access to more than four metrics at one time. By the way, users of GPA 2.x and 3.x may recognize this tool -- it's a "supercharged" version of the "old" Intel GPA System Analyzer!</li>
<li>All tools now support the Microsoft DirectX* 9 Ex API (in addition to DirectX* 9, DirectX* 10, DirectX* 10.1, and DirectX* 11). This will help Windows XP* users transition to Windows 7*. </li>
</ul>
Also, in order to focus our development efforts on newer operating systems and technologies, Microsoft Windows XP* will no longer be supported with new versions of Intel® GPA, starting with Intel® GPA 4.3. However, Intel® GPA 4.2 will continue to be available for some time as the last validated version of GPA for use with Windows XP*, but no updates will be provided.  Intel® GPA will continue to be validated with Microsoft DirectX* 9, 9 Ex,  10, 10.1 and 11 on Microsoft Windows Vista*, Microsoft Windows 7*, and other new OS versions as they are released. If you need access to Intel GPA 4.2 for Windows XP*, <a href="http://software.intel.com/en-us/articles/gpa40-XP/">see this article</a>.<br /><br /> <br /><b> 
<hr />
Detailed List of What's New in This Release</b><br /><br /> Version 4.3 of the Intel® Graphics Performance  Analyzers contains the following new features (the Intel GPA Help File will provide even more details than shown here): <br /><b><br />General<br /><br /></b> 
<ul type="disc">
<li>Support for Microsoft      DirectX9Ex* </li>
</ul>
<p><b>Intel® GPA Monitor</b></p>
<ul type="disc">
<li>Ability      to launch Intel® GPA Frame Analyzer, Intel® GPA Platform Analyzer and      Intel® System Analyzer tools from the Intel® GPA Monitor tool tray menu. </li>
<li>Ability to detect the Intel graphics driver version and      notify the user when a newer driver is available.</li>
</ul>
<p><b>Intel® GPA Frame Analyzer</b></p>
<ul type="disc">
<li>New      Erg Advisor (Beta) and Frame      Advisor (Beta) functionality, helping you find potential issues in      the selected ergs and in the entire frame </li>
<li>Ability      to enter (X, Y) coordinates and get the pixel history for that location in      the Render Target View and Pixel      History Tab </li>
<li>Metrics descriptions added to Frame      Overview and Details tabs </li>
<li>Ability to reset View Selection, Metric Selections settings in the Scene      Overview Panel, and  X-Axis/Y-Axis settings in the Erg      Visualization Panel to the default via the Edit menu      &gt; Reset Metric Selections. </li>
<li>Ability to filter the API Details by the erg number or      the erg ID.</li>
<li>Ability to filter the API Details on the ergs that are selected in the Ergs Visualization Panel and in the Scene Overview Panel. </li>
<li>Ability to display one or more ergs, which are selected in the API Details dialog box, in the Ergs Visualization Panel.</li>
<li>DirectCompute ergs are color-coded in the Erg Visualization Panel</li>
</ul>
<b>Intel® GPA Platform Analyzer</b> <br /><br /> 
<ul>
<li>Ability to show/hide Logical Threads</li>
<li>Task states displayed in the Task Timeline panel; this enables you to see when instrumented tasks are actually running on a CPU core or are suspended</li>
</ul>
<b>Intel® GPA System Analyzer (New!)</b><br /><br /> 
<ul>
<li>Similar to the Intel GPA System Analyzer HUD, but analyzes your application using a client/server mode (which is important especially for netbooks) </li>
<li> Minimized performance impact on the application </li>
<li> More detailed metrics resolution </li>
<li> Ability to view more than four metrics at the same time </li>
<li> Ability to compare several metrics by displaying them in the same chart </li>
</ul>
<br /> <b> 
<hr />
Where To Next...</b><br /><br /> To start using Intel GPA, check   out the documentation that's installed with  the product (access the   Help File through  the Microsoft Windows* Start Menu for the Intel GPA    product). For those who have not used Intel GPA before, become familiar   with key Intel GPA concepts by reading the <a href="http://software.intel.com../../../../en-us/en-us/en-us/articles/gpa4-GettingStartedGuide/">Intel GPA Getting Started Guide.</a><br /><br />Want more info on Intel GPA? Check out either the <a href="http://software.intel.com../../../../en-us/en-us/en-us/en-us/articles/intel-gpa/">Intel GPA Home Page</a>, the <a href="http://software.intel.com../../../../en-us/en-us/en-us/en-us/articles/gpa-faq/">Intel GPA FAQ</a>, or the <a href="http://software.intel.com../../../../en-us/en-us/en-us/en-us/articles/intel-gpa-kb/all/1/">Intel GPA Knowledge Base </a>articles.<br /><br />We want to be the best tool for your graphics optimization work, and   welcome your comments and suggestions in the <a href="http://software.intel.com/en-us/forums/intel-graphics-performance-analyzers/">Intel GPA Support Forum</a>.     <br /><br /><br /> <br /><i>* Other names and brands may be claimed as the property of others.</i> <br /><i><br /> </i>
<div  id="vc-meta">
<div id="vc-meta-pubdate">08-15-2011</div>
<div id="vc-meta-modificationdate">01-20-2012</div>
<div id="vc-meta-taxonomy">Tech Articles</div>
<div id="vc-meta-category-product">
<div class="gpa">Intel® GPA</div>
</div>
<div id="vc-meta-thumb"></div>
<div id="vc-meta-abstract">Intel® Graphics Performance Analyzers (Intel® GPA) is a powerful, agile developer tool suite for analyzing and optimizing games, media, and graphics-intensive applications. Available now, Intel GPA 4.3 adds new features requested by graphics developers.</div>
</div> ]]></description>
      <link>http://software.intel.com/en-us/articles/gpa-announcing-4dot3/</link>
      <pubDate>Tue, 01 Nov 2011 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/gpa-announcing-4dot3/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/gpa-announcing-4dot3/</guid>
      <category>ISN General</category>
      <category>Intel® Graphics Performance Analyzers Knowledge Base</category>
      <category>Intel® Graphics Performance Analyzers (Intel® GPA)</category>
      <category>Visual Computing Source</category>
    </item>
    <item>
      <title>Announcing Intel® Graphics Performance Analyzers 4.1</title>
      <description><![CDATA[ <b>NOTE: Intel GPA 4.1 is no longer the latest release of Intel Intel® Graphics Performance Analyzers (Intel® GPA). Please see <a href="http://software.intel.com../../../../en-us/articles/gpa-announcing-4dot2/">this article </a>on  the Intel GPA 4.2 release. This article is available for those who want  to see what features were added in the Intel GPA 4.1 release.</b><br /><b><br />Thanks for using Intel GPA!</b><br /> <b><br /></b> <br /> 
<hr />
<div ><b>Announcing Version 4.1, Update 1 of Intel® Graphics Performance Analyzers (Intel® GPA)<br />August 19th, 2011</b><br /></div>
<br /><br /> 
<hr />
<b>Introduction</b><br /><br />Intel® GPA is a powerful, agile developer tool suite for analyzing and optimizing games, media, and other graphics-intensive applications. Version 4.1 adds significant new features to the product, based upon recommendations from graphics developers such as yourself.<br /><br />This latest release includes includes the ability to profile browser accelerated graphics workloads (hosted in Internet Explorer* 9, Chrome*, and FireFox* 4), OpenCL* and Media Performance Analysis capabilities, a new hardware thread view in Intel GPA Platform Analyzer, large file support (up to 1GB) in Intel GPA Platform Analyzer, and various performance enhancements throughout Intel GPA System Analyzer HUD, Intel GPA Frame Analyzer, and Intel GPA Platform Analyzer.<br /><br />NOTE: Intel GPA 4.1, Update 1, has just been released, and fixes two issues with the toolset (see <a href="http://software.intel.com/en-us/forums/showpost.php?p=157547">this article</a> for details). The product is available at no charge to members of Intel's Visual Adrenaline Developer Program. To download Intel® GPA and register for Visual Adrenaline membership, <a target="_blank" href="https://ssl.software.intel.com/en-us/register/visual-adrenaline/" title="Download Intel GPA">use this link</a>. For more information on membership in this free developer program, visit the <a target="_blank" href="http://www.intel.com/software/visualadrenaline" title="Visual Adrenaline Home Page">Visual Adrenaline Home Page</a>. Additionally, Intel GPA can be purchased for $299 <a target="_blank" href="http://softwarestore.ispfulfillment.com/Store/Product.aspx?sku=I23S87101A01" title="Purchase Intel GPA">from this site</a>. <br /><br /><br /> 
<hr />
<b>What's New</b><br /><br />Version 4.1 of the Intel® Graphics Performance Analyzers contains the following new features:<br /><br />Intel® GPA Media Performance Analyzer (New!)<br /><br /> 
<ul>
<li>New tool for performance analysis of Intel® HD Graphics 3000/2000 accelerated media applications </li>
<li>Ability to create media performance trace capture files for visualization and detailed analysis in the Intel® GPA Platform Analyzer </li>
<li>Capture trace files provide a system-wide picture of how your code works with <a target="_blank" href="http://software.intel.com/en-us/articles/media/">Intel® Media SDK </a>and Microsoft* DXVA2 and how media-related workloads execute on the GPU. </li>
</ul>
OpenCL Support (New!)<br /><br /> 
<ul>
<li>Capitalize on OpenCL support for CPU analysis tasks</li>
</ul>
General<br /><br /> 
<ul>
<li>Ability to analyze CPU and GPU workloads enabled by Microsoft* Internet Explorer* 9, Mozilla* Firefox* 4, and Google* Chrome* </li>
</ul>
<p>Intel® GPA Monitor</p>
<ul>
<li>Ability to track media metrics (GPU utilization with break-down to GPU engines and types of media operations) in real-time while running your application</li>
</ul>
<p>Intel® GPA System Analyzer HUD</p>
<ul>
<li>Ability to change which D3D device for the instrumented process is being used to collect metrics, while your graphics application works with multiple D3D devices</li>
<li>Ability to create Intel® Graphic Checker data capture files for further analysis with the Intel® Graphics Checker software assessment tool; the Intel Graphic Checker generates a Tool Report File that you can upload to the <a target="_blank" href="http://www.intel.com/partner/sat/gfx">Intel® Software Partner Program website</a> for access to a customized Software Assessment Report, plus several development and marketing resources designed to increase the visibility of your gaming title</li>
</ul>
<p>Intel® GPA Frame Analyzer</p>
<ul>
<li>Added Recently-Used File list to the menu</li>
<li>Display Depth Buffers (on the bubble)</li>
<li>Pixel History query enabled in tab</li>
<li>Menu option to disable the variance display in Details tab</li>
<li>Copy to clipboard support added to tree lists (CTRL+C only) </li>
<li>Export render target bitmap (right-click on frame buffers or textures) </li>
<li>Enhanced API log details (accessible via the menu) </li>
<li>Implemented the Show All Render Targets option in the Render Target Viewer panel, in order to display all the render targets in the frame no matter which ergs are selected </li>
</ul>
<p>Intel® GPA Platform Analyzer</p>
<ul>
<li>Hardware tracks and tasks support: one track for each logical CPU core is added to the Task Timeline panel, displaying state information on the tasks running on each logical core </li>
<li>Task states displayed in the Task Timeline panel; this enables you to see when instrumented tasks are actually running on a CPU core or are suspended </li>
<li>A new track containing task groups added to the Task Timeline panel, enabling you to see time spans occupied by each task group </li>
<li>New toolbar buttons for important operations </li>
<li>Trace Information dialog box providing information on the trace file including task and task group counts, and system information from the environment where the trace file was collected including graphics driver version, operating system, and a preview image taken when the trace data was collected (when applicable) </li>
<li>Track hiding and reordering: drag the tracks up and down to reorder them, remove unneeded tracks from the Task Timeline </li>
<li>Movable panels from multiple loaded files: you can tear off panels from different loaded files and arrange them side by side for easy comparison </li>
<li>Tabbed multi-document manager enabling you to quickly switch among multiple loaded files </li>
<li>Ability to open and interact with large trace files (up to 1GB in size) </li>
</ul>
<br /> 
<hr />
<b>Where To Next...</b><br /><br />To start using the new workflow and features, "take the tour" of Intel GPA 4.1 by referring to the new Quick Start Guide that's installed with the product (access it through the Windows Start Menu for the Intel GPA product). An online version of the Quick Start Guide is located <a href="http://software.intel.com/en-us/articles/intel-graphics-performance-analyzers-quick-start-guide/">here</a>; there's also an Intel GPA Getting Started Guide located <a href="http://software.intel.com/en-us/articles/gpa4-GettingStartedGuide/">here</a>.<br /><br />Want more info on Intel GPA? Check out either the <a href="http://software.intel.com../../../../en-us/articles/intel-gpa/">Intel GPA Home Page</a>, the <a href="http://software.intel.com../../../../en-us/articles/gpa-faq/">Intel GPA FAQ</a>, or the <a href="http://software.intel.com../../../../en-us/articles/intel-gpa-kb/all/1/">Intel GPA Knowledge Base </a>articles.<br /><br /><br />
<div><br /><i>* Other names and brands may be claimed as the property of others.</i></div>
<b></b> ]]></description>
      <link>http://software.intel.com/en-us/articles/gpa-announcing-4dot1/</link>
      <pubDate>Tue, 24 May 2011 23:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/gpa-announcing-4dot1/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/gpa-announcing-4dot1/</guid>
      <category>ISN General</category>
      <category>ISN General</category>
      <category>ISN General</category>
      <category>ISN General</category>
    </item>
    <item>
      <title>Announcing Version 3.0 of Intel® Graphics Checker Software Assessment Tool</title>
      <description><![CDATA[ <h2>Version 3 of Intel® Graphics Checker now available for download</h2>
<p>If you're a game developer, Intel has some great tools to help make your game "best in class"!</p>
<p>Intel Graphics Checker 3.0 now works together with Intel® Graphics Performance Analyzers (Intel® GPA) to help you quickly create an Intel® GPA data capture file and generate a game playability report that can be uploaded to start engaging with the Intel® Software Partner Program.</p>
<p>The benefits are that you will better understand the playability of your game on PCs with Intel® Graphics, access tips and tools to improve your game’s acceptance in the marketplace, and access resources that can broaden the worldwide audience for your game.</p>
<p>If you're already familiar with the tool and want to download the latest version now, you can get it <a href="http://www.intel.com/partner/sat/gfx/">here</a>.</p>
<h2>What's New</h2>
Version 3.0 of the Intel Graphics Checker contains the following new features:       
<ul>
<li>Analysis of a special data capture file generated by Intel GPA that contains approximately 600 frames of graphics data.</li>
<li>Creates an updated game playability report containing key hardware and software configuration details, plus frames per second, CPU utilization, and GPU utilization metrics.</li>
<li>Ability to upload a game playability report to the Intel Software Partner Program website and access an updated, customized Software Assessment Report that compares game playability results to Intel-suggested values, provides recommendations and next steps, and displays a Software Assessment History.</li>
</ul>
<h2>Getting Started</h2>
<ul>
<li>Download Intel GPA from <a href="http://www.intel.com/software/gpa/">this site</a>.</li>
<li>Download Intel Graphics Checker from <a href="http://www.intel.com/partner/sat/gfx">here </a>and install on the same PC that contains Intel GPA.</li>
<li>After launching your game using the Intel GPA Monitor, use the Intel GPA System Analyzer HUD keyboard shortcut (the default is Ctrl-Shift-B) to capture approximately 600 frames of graphics data into a Intel Graphics Checker data capture file.</li>
<li>After capturing an Intel® Graphics Checker data file using the Intel® GPA System Analyzer HUD keyboard shortcut, launch Intel Graphics Checker and follow the on-screen instructions to analyze the data capture and view results such as can be seen in the following example report:<br /><img title="GC1.png" alt="GC1.png" src="http://software.intel.com/file/36434" height="388" width="640" /></li>
</ul>
<ul>
<li>Your Intel Graphics Checker report can then be uploaded to the Intel Software Partner Program website, to access a customized Software Assessment Report that compares game playability results to Intel-suggested values, provides recommendations and next steps, and displays a software assessment history, such as seen here (click on the image to download a sample report in PDF format):<br /><a href="http://software.intel.com/partner/library/assets/sar/samplesar-graphics"><img title="Untitled.png" alt="Untitled.png" src="http://software.intel.com/file/36440" height="759" width="400" /></a></li>
</ul>
<h2>Where to Next...</h2>
<p>If you are interested in improving your game’s playability, you’ve now got Intel GPA at your fingertips. Intel GPA is a powerful, agile tool suite enabling game developers to utilize the full performance potential of Intel® multi-core processors and Intel® processor graphics. If you are not already familiar with using Intel GPA to identify and solve game performance problems, the <a href="http://software.intel.com/en-us/articles/gpa4-GettingStartedGuide/">Getting Started Guide</a> is an excellent place to dive in and…well, get started!</p>
<p>Also, there’s a couple of brief (2-3 minute) video tutorials showing how Intel GPA and Intel Graphics Checker work together: <a href="http://software.intel.com/en-us/articles/intel-system-analyzer-hud-capturing-intel-graphics-checker-file/">Creating an Intel Graphics Checker Data File</a> and <a href="http://software.intel.com/en-us/articles/intel-graphics-checker-analyzing-a-data-capture-file/">Analyzing an Intel Graphics Checker Data File</a>.<br /><br />To learn more about Intel® Graphics Checker, visit the <a href="http://www.intel.com/partner/sat/gfx">Intel® Software Partner Program Software Assessment Center</a>. If your company is not already a member, join today – enrollment is free and takes only a few minutes. In addition to valuable development resources, members can access business resources designed to increase their product visibility with a worldwide audience.</p>
<div></div>
<div  id="vc-meta">
<div id="vc-meta-author">
<div>David Valdovinos</div>
<div>Neal Pierman</div>
</div>
<div id="vc-meta-pubdate">05-15-2011</div>
<div id="vc-meta-modificationdate">05-15-2011</div>
<div id="vc-meta-taxonomy">Tech Articles</div>
<div id="vc-meta-category-product">
<div class="gpa">Intel® GPA</div>
</div>
<div id="vc-meta-category">
<div>Performance Analysis</div>
</div>
<div id="vc-meta-thumb"></div>
<div id="vc-meta-thumb-tout"></div>
<div id="vc-meta-thumb-hero"></div>
<div id="vc-meta-tocenable">no</div>
<div id="vc-meta-abstract">This article shows you how to use the Intel Graphics Checker tool, which is part of the Intel Software Partner Program.</div>
</div> ]]></description>
      <link>http://software.intel.com/en-us/articles/GPA-Graphics-Checker-3dot0/</link>
      <pubDate>Sun, 15 May 2011 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/GPA-Graphics-Checker-3dot0/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/GPA-Graphics-Checker-3dot0/</guid>
      <category>ISN General</category>
      <category>Tools</category>
      <category>Visual Computing</category>
      <category>Intel SW Partner program</category>
      <category>Intel® Software Development Products Home</category>
      <category>Intel® Graphics Performance Analyzers Knowledge Base</category>
      <category>Intel® Graphics Performance Analyzers (Intel® GPA)</category>
      <category>Game Development</category>
      <category>Visual Computing Source</category>
    </item>
    <item>
      <title>Intel Academic Community at IPDPS 2011</title>
      <description><![CDATA[ <a target="_blank" href="http://www.cs.gsu.edu/~tcpp/curriculum/index.php"><img src="http://software.intel.com/file/34218" height="49" width="256" /></a> <a target="_blank" href="http://www.computer.org/portal/web/guest/home"><img src="http://software.intel.com/file/34213" alt="IEEE+logo+black+basic.jpg" height="47" width="180" /></a> <a target="_blank" href="http://software.intel.com/en-us/articles/intel-academic-community/"><img src="http://software.intel.com/file/34215" height="70" width="112" /></a>
<div></div>
<div></div>
<p >
<table  border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="720"><span >
<p ><br /><span ><b>25th IEEE International Parallel &amp; Distributed Processing Symposium<br /></b><span ><a target="_blank" href="http://ipdps.org/"><img src="http://software.intel.com/file/34000" height="72" width="294" /></a></span></span></p>
</span></td>
</tr>
</tbody>
</table>
</p>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="720">
<div ><span ><b><a target="_blank" href="http://techtalks.tv/events/54/">Intel Platinum Patron Night at IPDPS 2011</a></b> </span></div>
<span >
<p>Intel Platinum Patron Night was a fantastic event, with a packed room of 170 attendees passionate about parallel programming in education. Watch the videos from Intel Platinum Patron Night to learn about using games to teach parallelism to undergraduates, recent innovations in design patterns, and hiring at Intel!</p>
<div ><a href="http://software.intel.comjavascript:void(0)" onclick="ndownload('http://software.intel.com/file/37120')">Download the Intel Platinum Patron Night Presentation (pdf).</a></div>
<p> </p>
<p>
<table border="1" cellpadding="2" cellspacing="4">
<tbody>
<tr>
<td valign="top" width="220">
<p ><b>Opening Remarks</b></p>
</td>
<td valign="top" width="385">
<p >Rowena Turner (Intel Corporation)</p>
</td>
<td valign="top" width="100">
<p ><b><a target="_blank" href="http://techtalks.tv/talks/54127/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="220">
<p ><b>Design Patterns in Practice and Teaching</b></p>
</td>
<td valign="top" width="385">
<p >Michael Wrinn (Intel Corporation</p>
</td>
<td valign="top" width="100">
<p ><b><a target="_blank" href="http://techtalks.tv/talks/54124/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="220">
<p ><b>How to Use Games to Teach Parallelism to Undergraduates</b></p>
</td>
<td valign="top" width="385">
<p >Ashish Amresh (Arizona State University at Polytechnic Campus)</p>
<p >Amit Jindal (Intel Corporation)</p>
</td>
<td valign="top" width="100">
<p ><b><a target="_blank" href="http://techtalks.tv/talks/54125/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="220">
<p ><b>Choosing a Future Career at Intel Corporation</b></p>
</td>
<td valign="top" width="385">
<p >Dani Napier (Intel Corporation)</p>
<p >Lauren Dankiewicz (Intel Corporation)</p>
</td>
<td valign="top" width="100">
<p ><b><a target="_blank" href="http://techtalks.tv/talks/54126/">View video</a></b></p>
</td>
</tr>
</tbody>
</table>
</p>
</span><a target="_blank" href="http://techtalks.tv/events/54/"><img src="http://software.intel.com/file/37093"  height="50" width="416" /></a></td>
</tr>
</tbody>
</table>
</p>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="720">
<div ><span ><b><a target="_blank" href="http://techtalks.tv/events/53/">The 1st NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-11)</a></b></span></div>
<div ></div>
<div></div>
<span >
<p>The Intel Academic Community and NSF are supporting the IEEE Computer Society Technical Committee on Parallel Processing (NSF/TCPP). NSF/TCPP is working to create a core curriculum for CS/CE undergraduates for parallel and distributed computing (PDC). The 1st workshop invited proposals from academia, industry, and other educational and research institutes to present on teaching PDC topics in undergraduate Computer Science and Engineering curriculum. Topics included: 1. Pedagogical issues in PDC 2. Novel ways of teaching PDC topics 3. Models for incorporating PDC topics in core CS/CE curriculum 4. Experience with incorporating PDC topics into core CS/CE courses.</p>
<p>
<table border="1" cellpadding="2" cellspacing="4">
<tbody>
<tr>
<td valign="top" width="260">
<p ><b>The Challenge of Teaching Program Performance Tuning</b></p>
</td>
<td valign="top" width="385">
<p >David Padua (University of Illinois, Urbana-Champaign)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5301/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>NSF/TCPP Curriculum Report and Panel Discussion</b></p>
</td>
<td valign="top" width="385">
<p>Coordinator: Sushil Prasad (Georgia State)</p>
<p>Committee members and Panelists: Chtchelkanova, Almadena (NSF), Das, Sajal (University of Texas at Arlington, NSF), Das, Chita (Penn State, NSF), Dehne, Frank (Carleton University, Canada), Gouda, Mohamed (University of Texas, Austin, NSF), Gupta, Anshul (IBM T.J. Watson Research Center), Jaja, Joseph (University of Maryland), Kant, Krishna (NSF, Intel), La Salle, Anita (NSF), LeBlanc, Richard (Seattle University), Lumsdaine, Andrew (Indiana University), Padua, David (University of Illinois at Urbana-Champaign), Parashar, Manish (Rutgers, NSF), Patt, Yale (UT Austin), Prasad, Sushil (Georgia State University), Prasanna, Viktor (University of Southern California), Robert, Yves (INRIA, France), Rosenberg, Arnold (Colorado State University), Sahni, Sartaj (University of Florida), Shirazi, Behrooz (Washington State University), Sussman, Alan (University of Maryland), Weems, Chip (University of Massachusetts), and Wu, Jie (Temple University)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5302/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Integrating Parallel and Distributed Computing Into Undergraduate Courses at All Levels</b></p>
</td>
<td valign="top" width="280">
<p >Steven Bogaerts (Wittenberg University), Kyle Burke (Wittenberg University) and Eric Stahlberg (National Cancer Institute)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5303/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Experiences of an Undergraduate Parallel Computing Course</b></p>
</td>
<td valign="top" width="280">
<p >Bo Hong (Georgia Tech)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5304/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum</b></p>
</td>
<td valign="top" width="280">
<p >Eileen Kraemer (University of Georgia)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5305/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Integration of Parallel Topics in the Undergraduate Curriculum, 2011</b></p>
</td>
<td valign="top" width="280">
<p >Joel Adams (Calvin College)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5306/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>ASU and Intel Collaboration in Parallel and Distributed Computation</b></p>
</td>
<td valign="top" width="280">
<p >Violet Syrotiuk, Yinong Chen, Eric Kostelich, Yann-Hang Lee, Alex Mahalov and Gil Speyer (Arizona State)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5307/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Parallel Computing: Keys to a Future in Computing</b></p>
</td>
<td valign="top" width="280">
<p >Stephen Providence (Hampton University)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5308/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Using Games to Teach Parallelism to Computer Science 2nd year and 3rd Year College Students</b></p>
</td>
<td valign="top" width="280">
<p >Deepak Vembar and Amit Jindal (Intel)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5309/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Teaching Parallel and Distributed Computing at Masaryk University</b></p>
</td>
<td valign="top" width="280">
<p >Jiri Barnat, Lubos Brim and Ivana Cerna (Masaryk University, Czech Republic)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5310/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Parallel Programming in the Computing Curriculum</b></p>
</td>
<td valign="top" width="280">
<p >Ankur Gupta, Rahul Hardikar and Jon Sorenson (Butler University)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5311/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>PDC Modules for Every Level: A Comprehensive Model for Incorporating PDC Topics into the Existing Undergraduate Curriculum</b></p>
</td>
<td valign="top" width="280">
<p >Konstantin Laufer, Chandra Sekharan and George K. Thiruvathukal (Loyola University Chicago)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5312/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Teaching Parallel Computing to Lower-Division Undergraduates</b></p>
</td>
<td valign="top" width="280">
<p >Peter Pacheco (University of San Francisco)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5313/">View video</a></b></p>
</td>
</tr>
<tr>
<td valign="top" width="260">
<p ><b>Joint UIUC/UMD Parallel Algorithms/Programming Course</b></p>
</td>
<td valign="top" width="280">
<p >David Padua (Urbana), Uzi Vishkin (Maryland) and Jeffrey Carver (University of Alabama)</p>
</td>
<td valign="top" width="88">
<p ><b><a href="http://techtalks.tv/talks/5314/">View video</a></b></p>
</td>
</tr>
</tbody>
</table>
</p>
<p><a target="_blank" href="http://techtalks.tv/events/53/"><img src="http://software.intel.com/file/37094"  height="48" width="313" /></a></p>
</span></td>
</tr>
</tbody>
</table>
</p>
<p ><img src="http://software.intel.com/file/33375" height="11" width="720" /></p>
<div ><span ><b>Speaker Biographies and Agenda for Intel Platinum Patron Night</b></span></div>
<p >
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="720">
<div ><span >Architecting Parallel Software: Design patterns in practice and teaching</span> <br /><br /></div>
<div >
<p>Design patterns can systematically identify reusable elements in software engineering, and have been particularly effective in codifying practice in object-oriented software. A team of researchers centered at UC Berkeley’s Parallel Computing Laboratory continues to investigate a design pattern approach to parallel software; the effort has matured to the point that an undergraduate course was delivered on the topic in Fall 2010. This talk will briefly describe the pattern language itself, then demonstrate its application in examples from both image processing and game design.</p>
</div>
</td>
</tr>
</tbody>
</table>
</p>
<p >
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="150">
<p ><img src="http://software.intel.com/file/34005" height="134" width="95" /></p>
</td>
<td valign="top" width="570">
<p>Michael Wrinn manages Intel's Innovative Software Education team, which collaborates with universities to bring parallel computing to the mainstream of undergraduate education. His prior assignments include managing Intel's software engineering lab in Shanghai, and directing the human interface technology research. He was Intel's representative to the committee which produced the first OpenMP specification, and remains active in the parallel computing community. Before joining Intel, Michael worked at Accelrys (San Diego), implementing commercial and research simulation codes on a wide variety of parallel/HPC systems. He holds a Ph.D. (in quantum mechanics) and a B.Sc.(math/chemistry/physics) from McGill University.</p>
</td>
</tr>
</tbody>
</table>
</p>
<p ><img src="http://software.intel.com/file/33375" height="11" width="720" /></p>
<p >
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="720">
<div ><span >Teaching Parallelism Using Games</span><b></b><br />
<div >
<p><br />Academic institutions do not have to spend expensive multi-core hardware to support game-based courses to teach parallelism.   We will discuss what teaching methodologies educators can use for integrating parallel computing curriculum inside a game engine. We will talk about the full game development process, from game design to game engineering and how parallelism is critical.   We will show five game demos that mirror current trends in the industry and how educators can use in these games in the classroom. We will also show the learning outcomes, what parallelism topics are appropriate to teach students at various levels.  We will demonstrate how to take games running serially and modify them to run parallel.</p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</p>
<p >
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="150">
<p ><img src="http://software.intel.com/file/34002" height="140" width="101" /></p>
</td>
<td valign="top" width="570">
<p><br />Ashish Amresh leads the Computer Gaming curriculum initiatives at the School of Computing and Informatics at Arizona State University. He completed his MS in computer science from ASU in 2000, then worked in the video game industry as a graphics engineer programmer, and returned to ASU to work on his doctorate in computer science. While working on his doctoral degree, Amresh led the efforts in building the prototype that eventually resulted in the launching of the Decision Theatre at ASU in May 2005. In the same year he was awarded the Graduate College Teaching Excellence Award.</p>
</td>
</tr>
<tr>
<td valign="top" width="150">
<p ><img src="http://software.intel.com/file/34001" alt="Amit+Jindal+picture.JPG" /></p>
</td>
<td valign="top" width="570">
<p>An Intel veteran of 11 years, Amit Jindal is a Performance Lead at Intel's Digital Home Group, enabling high-performance of Intel-powered Smart TVs. Prior to this role, Amit was involved with performance optimization of large-scale enterprise applications (primarily SAP). Amit started his career at Intel in 2000 as an automation engineer developing, simulating, and optimizing performance of automation in Intel factories. Amit has been a threading/ parallelism evangelist since 2005, teaching courses for Intel Academic Program, serving as panelist in academic conferences, and working with Universities in setting their curriculums. Amit holds an MBA Degree in Global Management, and MS Degree in Computer Science.</p>
</td>
</tr>
</tbody>
</table>
</p>
<p ><img src="http://software.intel.com/file/33375" height="11" width="720" /></p>
<p >
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="720">
<div ><span >Choosing a Future Career at Intel<br /></span><br /></div>
<p>Intel's Dani Napier will introduce why Intel is a great place to work-- it's challenging, has great benefits and is abundant with rewarding growth opportunities. She will expand on why parallelism is crucial to Intel's growth strategy and give an overview of the various types of jobs in which knowledge of parallel and distributed processing apply at Intel. Finally, Dani will explain the new hire development process and why Intel is the company that will help you become successful in your desired career path. Lauren Dankiewicz will discuss the recruiting process and how to approach finding a job that is the right fit for you!<b> </b></p>
</td>
</tr>
</tbody>
</table>
</p>
<p >
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="150">
<p ><img src="http://software.intel.com/file/34004" /></p>
</td>
<td valign="top" width="570">
<p>Hi, there! My name is Dani. I've been with Intel for almost 14 years, mostly in <a href="http://www.intel.com/jobs/usa/sites/chandler/">Chandler, Arizona</a>. I started out as an intern in New Mexico's fabs. Then I was hired into a full-time job and have held a variety of engineering and business roles ever since.<br />When I first started as an Intel engineer I wished I had done three things: 1) I wish I would've taken a couple of business courses 2) I wish I would've taken more stats courses, and 3) I wish I would've learned to give presentations more effectively. All these things I eventually learned at Intel through all the coursework they have in place for employees. I can tell you that in my entire career I have never stopped learning, either from coursework or from brilliant peers.</p>
</td>
</tr>
</tbody>
</table>
</p>
<p >
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="150">
<p ><img src="http://software.intel.com/file/34212" height="140" width="122" /></p>
</td>
<td valign="top" width="570">
<p><br />Lauren Dankiewicz joined Intel in April 2011 as a Recent College Graduate (RCG). At Intel, she is a marketing manager in the Academic Community. Lauren graduated from University of California, Berkeley in 2009 with a B.A. in Chinese Language (Mandarin) and B.S. in Business Administration. She is now pursuing a Master's degree in Computer Science.</p>
</td>
</tr>
</tbody>
</table>
</p>
<p > </p>
<div></div>
<p ><img src="http://software.intel.com/file/33375" height="11" width="720" /><br /><br /> 
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="720">
<div ><span ><b>Using Games to Teach Parallelism to Undergraduates- <br /></b>Presentation at the NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-11)<br /></span><a target="_blank" href="http://tcpp.cs.gsu.edu/?q=nsf-tcpp-pdce-workshop"><br /></a></div>
<p >The Visual Computing Software Enabling (VCSE) group at Intel has developed some exciting game demos that are ideal for teaching the basic tenets of parallelism, including data and task decomposition, scheduling techniques, and software architecture. These demos are designed for an audience ranging from 2nd to 4th year, while retaining the emphasis on hands-on, laboratory instruction. Intel’s faculty collaborators have liked this approach, as today’s students are familiar with multi-media and rich visualization, and games act as immediately likable and interesting delivery vehicles for learning these important parallelism concepts.<br /><br />We have two primary objectives: update undergraduate curriculum with a laboratory-based 2nd year course on parallel computation, and introduce some of the parallelism concepts and profiling tools used in the industry. This approach will help students adopt a “think parallel” mentality early and to see the importance of using profiling tools to develop correct and high-performance code for greater effectiveness. Further, we will share methodologies that improve student understanding of the basic principles of parallel computing.</p>
</td>
</tr>
</tbody>
</table>
</p>
<p >
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="150">
<p ><img src="http://software.intel.com/file/34902" alt="deepak+vembar+picture.jpg" height="142" width="124" /></p>
</td>
<td valign="top" width="570">
<p><br />Deepak Vembar is an Engineer at Intel where he focuses on developing and optimizing graphics and game technologies on Intel hardware. Prior to joining Intel, Deepak was a graduate student at Clemson University and received his Master's and PhD degrees in Computer Science.</p>
</td>
</tr>
<tr>
<td valign="top" width="150">
<p ><img src="http://software.intel.com/file/34001" alt="Amit+Jindal+picture.JPG" /></p>
</td>
<td valign="top" width="570">
<p>An Intel veteran of 11 years, Amit Jindal is a Performance Lead at Intel's Digital Home Group, enabling high-performance of Intel-powered Smart TVs. Prior to this role, Amit was involved with performance optimization of large-scale enterprise applications (primarily SAP). Amit started his career at Intel in 2000 as an automation engineer developing, simulating, and optimizing performance of automation in Intel factories. Amit has been a threading/ parallelism evangelist since 2005, teaching courses for Intel Academic Program, serving as panelist in academic conferences, and working with Universities in setting their curriculums. Amit holds an MBA Degree in Global Management, and MS Degree in Computer Science.</p>
</td>
</tr>
</tbody>
</table>
</p>

 ]]></description>
      <link>http://software.intel.com/en-us/articles/iac-at-ipdps/</link>
      <pubDate>Fri, 04 Feb 2011 00:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/iac-at-ipdps/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/iac-at-ipdps/</guid>
      <category>ISN General</category>
      <category>Intel Software Network communities</category>
      <category>Academic</category>
    </item>
    <item>
      <title>A Developer&amp;#39;s Adventure Guide to Sandy Bridge</title>
      <description><![CDATA[ <p>Receive the <b>latest technical content and developer information</b> from the Intel Software Network (ISN) twice a month, in one of 3 languages (English, Chinese and Russian) in either HTML or text.  New to ISN? <a target="newwindow" href="https://ssl.software.intel.com/en-us/login/?Lang=ENG&amp;TARGET=http://software.intel.com/en-us/admin">Register here</a> by selecting "subscribe to the newsletter".  If you’re already a member, login and click [Edit Profile] to update your newsletter options.</p>
<table align="center" width="561" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr id="header">
<td colspan="5" valign="bottom"><img height="190" width="700" src="http://sites.cmdrm.com/5330/isn_news_header_sandybr.jpg" alt="Visual Computing Developer Community - Intel Software Network News" title="Visual Computing Developer Community - Intel Software Network News"  /></td>
</tr>
<tr id="featured_article">
<td colspan="5" valign="bottom"><a target="newwindow" href="http://intel.com/software/sandybridge?cid=sw:ISNnews_67_ENG_5702"><img height="180" width="700" src="http://sites.cmdrm.com/5330/isn_news_header_sandybr_2.jpg" alt="A Developer's Adventure Guide to Sandy Bridge - It is time to explore! Go where the Visual Computing masters go to read, learn, and talk with the people who brought you extra multitasking and performance for mainstream gaming. 15 whitepapers, 8 videos, blog posts with more blogs and interviews on their way!" border="0" title="A Developer's Adventure Guide to Sandy Bridge - It is time to explore! Go where the Visual Computing masters go to read, learn, and talk with the people who brought you extra multitasking and performance for mainstream gaming. 15 whitepapers, 8 videos, blog posts with more blogs and interviews on their way!"  /></a></td>
</tr>
<tr id="column_widths">
<td width="40"><img height="10" width="40" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="383"><img height="1" width="383" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="9"><img height="1" width="9" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="228"><img height="1" width="228" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="40"><img height="1" width="40" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td><img height="100" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td valign="top" id="left_column">
<table width="383" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td width="14"><img height="1" width="14" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="359"><img height="1" width="359" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="10"><img height="1" width="10" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="additional">
<td colspan="3"><img height="50" width="383" src="http://sites.cmdrm.com/5330/isn_news_tab_sandybr_addl.jpg" alt="Additional Stories" title="Additional Stories"  /></td>
</tr>
<tr id="article2">
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td><span ><a target="newwindow" href="http://software.intel.com/en-us/articles/intel-graphics-developers-guides/?cid=sw:ISNnews_67_ENG_5703" ><span >The Sandy Bridge Developer's Sampler</span></a></span><br /><img height="10" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span >Tips and tricks to help your customers have a great experience playing your games, while running other interactive 3D graphics applications on Intel® processor graphics.<br /><a target="newwindow" href="http://software.intel.com/en-us/articles/intel-graphics-developers-guides/?cid=sw:ISNnews_67_ENG_5703" ><span >TAKE A BITE</span></a></span></td>
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="3"><img height="30" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="article3">
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td><span ><a target="newwindow" href="http://software.intel.com/file/33291?cid=sw:ISNnews_67_ENG_5704" ><span >Fast and Easy Video Processing Routines</span></a></span><br /><img height="10" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span >Sonic's Main Concept* H.264/AVC Encoder gives developers a fast and easy way to optimize video processing routines to deliver great performance on 2nd gen Intel® Core™ processors.<br /><a target="newwindow" href="http://software.intel.com/file/33291?cid=sw:ISNnews_67_ENG_5704" ><span >THE SOLUTION</span></a></span></td>
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="3"><img height="30" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="article4">
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td><span ><a target="newwindow" href="http://software.intel.com/file/33289?cid=sw:ISNnews_67_ENG_5705" ><span >Feeling Your Pain and Providing the Gain</span></a></span><br /><img height="10" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br />
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td width="125" valign="top"><img height="152" width="125" src="http://sites.cmdrm.com/5330/isn_news_photo_sandybr67-1.jpg" align="left" /></td>
<td valign="top"><span >Producing games on multiple platforms, while trying to make your release date? NetDevil, Gazillion Entertainment, and LEGO Corporation feel your pain. Using the Intel® Graphics Performance Analyzers (Intel® GPA), they make it easy to efficiently and rigorously validate quality and performance of content across numerous platforms.<br /><a target="newwindow" href="http://software.intel.com/file/33289?cid=sw:ISNnews_67_ENG_5705" ><span >MAKE THE DATE</span></a></span></td>
</tr>
</tbody>
</table>
</td>
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="3"><img height="30" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="article5">
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td><span ><a target="newwindow" href="http://software.intel.com/file/33288?cid=sw:ISNnews_67_ENG_5706" ><span >Virtual Survival of the Fittest: Darkspore</span></a></span><br /><img height="10" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br />
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td width="125" valign="top"><img height="80" width="125" src="http://sites.cmdrm.com/5330/isn_news_photo_sandybr67-2.jpg" align="left" /></td>
<td valign="top"><span >Maxis shares how they took full advantage of Intel® GPA to optimize their role-playing game, Darkspore.<br /><a target="newwindow" href="http://software.intel.com/file/33288?cid=sw:ISNnews_67_ENG_5706" ><span >LEARN TO SURVIVE</span></a></span></td>
</tr>
</tbody>
</table>
</td>
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="3"><img height="30" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="article6">
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td><span ><a target="newwindow" href="http://software.intel.com/en-us/articles/sample-tweaker-ocean-fog/?cid=sw:ISNnews_67_ENG_5707" ><span >Intel® GPA Identifies GPU Bottlenecks in Demo</span></a></span><br /><img height="10" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span >Read about a 4x boost in performance (40 to 160 FPS) with very little to no fidelity loss. Jeff Laflam checks out how an existing graphics demo, Ocean Fog, was successfully optimized using Intel's latest processors with Intel® Integrated Graphics.<br /><a target="newwindow" href="http://software.intel.com/en-us/articles/sample-tweaker-ocean-fog/?cid=sw:ISNnews_67_ENG_5707" ><span target="newwindow" >SEE THE DEMO</span></a></span></td>
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="3"><img height="40" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
</tbody>
</table>
</td>
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td valign="top" id="right_column">
<table width="228" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td colspan="5"><a href="http://software.intel.com@SHARE_THIS_LINK"><img height="27" width="225" src="http://sites.cmdrm.com/5330/isn_news_button_share_sandybr.gif" alt="Share This" border="0" title="Share This"  /></a></td>
</tr>
<tr>
<td colspan="5"><img height="10" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="5"><a target="newwindow" href="http://software.intel.com/en-us/blogs/"><img height="27" width="225" src="http://sites.cmdrm.com/5330/isn_news_button_bookmark_sandybr.gif" alt="Bookmark Our Blog" border="0" title="Bookmark Our Blog"  /></a></td>
</tr>
<tr>
<td width="2"><img height="7" width="2" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="16"><img height="1" width="16" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="185"><img height="1" width="185" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="23"><img height="1" width="23" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="2"><img height="1" width="2" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="share_icons">
<td colspan="2" rowspan="2"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td height="20"><span >Follow us on:</span></td>
<td colspan="2" rowspan="2"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td><a target="newwindow" href="http://twitter.com/intelsoftware"><img height="27" width="27" src="http://sites.cmdrm.com/4098/redesign/isn_news_icon_twitter.gif" alt="Twitter icon" border="0" title="Twitter icon" /></a><img height="1" width="6" src="http://sites.cmdrm.com/1x1_clear.gif" /><a target="newwindow" href="http://www.facebook.com/intelsoftwarenetwork"><img height="27" width="27" src="http://sites.cmdrm.com/4098/redesign/isn_news_icon_facebook.gif" alt="Facebook icon" border="0" title="Facebook icon" /></a></td>
</tr>
<tr>
<td colspan="5"><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="whats_new_header">
<td colspan="5"><img height="32" width="228" src="http://sites.cmdrm.com/5330/isn_news_top_sandybr_whatsnew.gif" alt="What's New" title="What's New"  /></td>
</tr>
<tr id="whats_new">
<td bgcolor="#cccccc"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td bgcolor="#b5b5b5"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td bgcolor="#b5b5b5"><span ><img height="12" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="whats_new1"><a target="newwindow" href="http://appdeveloper.intel.com/en-us/blog/2011/01/05/ces-marks-year-anniversary-appup?cid=sw:ISNnews_67_ENG_5708" ><span >CES Marks Intel AppUp<sup >SM</sup> Center's First Year</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="whats_new2"><a target="newwindow" href="http://software.intel.com/en-us/articles/quick-reference-guide-to-intel-integrated-graphics/?cid=sw:ISNnews_67_ENG_5709" ><span >Guide to generation Intel® Core™ Processor Built-in Visuals</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="whats_new3"><a target="newwindow" href="http://www.blogtalkradio.com/mashing-radio/2011/01/07/live-from-ces-2011?cid=sw:ISNnews_67_ENG_5710" ><span >MASH RADIO: The Untold Stories of CES 2011</span></a></span></span></td>
<td bgcolor="#b5b5b5"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td bgcolor="#cccccc"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="5"><img height="13" width="228" src="http://sites.cmdrm.com/5330/isn_news_bot_sandybr_resources.gif"  /></td>
</tr>
<tr>
<td colspan="5"><img height="10" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="resources_header">
<td colspan="5"><img height="32" width="228" src="http://sites.cmdrm.com/5330/isn_news_top_sandybr_resources.gif" alt="Resources" title="Resources"  /></td>
</tr>
<tr id="resources">
<td bgcolor="#cccccc"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td bgcolor="#dddddd"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td bgcolor="#dddddd"><span ><img height="12" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="resource1"><a target="newwindow" href="http://www.intel.com/technology/itj/2009/v13i4/ITJ9.4.9_Learnings.htm?cid=sw:ISNnews_67_ENG_5711" ><span >Lessons Learned from the 80-core Tera-scale Research Processor</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="resource2"><a target="newwindow" href="http://software.intel.com/en-us/articles/soa-cloth-simulation-with-256-bit-intel-advanced-vector-extensions-intel-avx/?cid=sw:ISNnews_67_ENG_5712" ><span >SOA Cloth Simulation with 256-bit Intel® Advanced Vector Extensions (Intel® AVX)</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="resource3"><a target="newwindow" href="http://software.intel.com/file/33240?cid=sw:ISNnews_67_ENG_5713" ><span >Optimize for the 2nd Generation Intel® Core™ Processor Family</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="resource4"><a target="newwindow" href="http://software.intel.com/en-us/articles/onloaded-shadows-moving-shadow-map-generation-from-the-gpu-to-the-cpu/?cid=sw:ISNnews_67_ENG_5714" ><span >Onloaded Shadows: Moving Shadow Map Generation from the GPU to the CPU</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="resource5"><a target="newwindow" href="http://www.intel.com/technology/itj/2009/v13i4/index.htm?cid=sw:ISNnews_67_ENG_5715" ><span >Addressing the Challenges of Tera-scale Computing</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="resource6"><a target="newwindow" href="http://software.intel.com/en-us/articles/get-ready-for-the-next-chip-generation-intel-avx/?cid=emeaavxuk&amp;utm_campaign=BBEvent&amp;utm_content=Thread&amp;utm_source=isn-emea&amp;utm_medium=email?cid=sw:ISNnews_67_ENG_5720" ><span >Germany and UK: Defend and Win!</span></a></span></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /></td>
<td bgcolor="#dddddd"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /></td>
<td bgcolor="#cccccc"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="opinion_header">
<td colspan="5"><img height="32" width="228" src="http://sites.cmdrm.com/5330/isn_news_top_sandybr_opinion.gif" alt="In My Opinion" title="In My Opinion"  /></td>
</tr>
<tr id="opinion">
<td bgcolor="#cccccc"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td bgcolor="#b5b5b5"><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td bgcolor="#b5b5b5"><span ><img height="12" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="opinion1"><a target="newwindow" href="http://appdeveloper.intel.com/en-us/blog/2011/01/03/angry-birds?cid=sw:ISNnews_67_ENG_5716" ><span ><b>Bob Duffy:</b> Angry Birds Land on AppUp</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="opinion2"><a target="newwindow" href="http://software.intel.com/en-us/articles/intel-media-developers-guides/?cid=sw:ISNnews_67_ENG_5717" ><span ><b>Eric Sardella:</b> Intel Media Developers Guides</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="opinion3"><a target="newwindow" href="http://software.intel.com/en-us/videos/intel-media-sdk-on-sandy-bridge/?cid=sw:ISNnews_67_ENG_5718" ><span ><b>Craig Hurst:</b> Sandy Bridge Graphics Developer's Guide</span></a></span><br /><img height="15" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /><br /><span id="opinion4"><a target="newwindow" href="http://software.intel.com/en-us/videos/benefits-of-sandy-bridge/?cid=sw:ISNnews_67_ENG_5719" ><span ><b>Matt Ployhar:</b> Benefits of Sandy Bridge</span></a></span></span></td>
<td bgcolor="#b5b5b5"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td bgcolor="#cccccc"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="5"><img height="13" width="228" src="http://sites.cmdrm.com/5330/isn_news_bot_sandybr_resources.gif"  /></td>
</tr>
<tr>
<td colspan="5"><img height="10" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="5"><a target="newwindow" href="http://software.intel.com/en-us/articles/blackbelt/"><img height="27" width="225" src="http://sites.cmdrm.com/5330/isn_news_button_blackbelt_sandybr.gif" alt="Black Belt Program" border="0" title="Black Belt Program"  /></a></td>
</tr>
<tr>
<td colspan="5"><img height="7" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td colspan="2"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td><span ><b>Up for the challenge?</b><br />Share your technical savvy and get the credit you deserve! Be an <a target="newwindow" href="http://software.intel.com/en-us/articles/blackbelt/" ><span target="newwindow" >Intel® Black Belt Software Developer</span></a> today!<br /><br /></span></td>
<td colspan="2"><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
</tbody>
</table>
</td>
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr id="footer">
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td colspan="3">
<table width="620" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td colspan="2"><img height="40" width="620" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
<tr>
<td width="14"><img height="1" width="14" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
<td width="606"><span ><span >*Other names and brands may be claimed as the property of others. **<a target="newwindow" href="http://www.intel.com/sites/sitewide/en_US/termsofuse.htm?iid=ftr+terms" ><span >Legal Information</span></a> and <a target="newwindow" href="http://www.intel.com/sites/sitewide/en_US/privacy/full.htm" ><span >Privacy Policy</span></a> ©2010 Intel Corporation</span><br /><img height="10" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /></span><br /><img height="20" width="1" src="http://sites.cmdrm.com/1x1_clear.gif" /></td>
</tr>
</tbody>
</table>
</td>
<td><img height="1" width="1" src="http://sites.cmdrm.com/1x1_clear.gif"  /></td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/a-developers-adventure-guide-to-sandy-bridge/</link>
      <pubDate>Sun, 16 Jan 2011 23:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/a-developers-adventure-guide-to-sandy-bridge/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/a-developers-adventure-guide-to-sandy-bridge/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Let the world tremble! We&amp;#39;ve released PVS-Studio 4.00 with a free general-purpose analyzer!</title>
      <description><![CDATA[ <p><img align="left" src="http://software.intel.com/file/32508" alt="Check TortoiseSVN"></p>
<p>Programmers, meet a new tool to search for errors in source code of software written in C/C++. Within the scope of the PVS-Studio analyzer, we implemented a new set of general-purpose rules. <b>This functionality is free for now.</b> You may download PVS-Studio here <a href="http://www.viva64.com/en/pvs-studio-download/">http://www.viva64.com/en/pvs-studio-download/</a>.</p>
<p>The article briefly describes new features of PVS-Studio and demonstrates the usage of new diagnostic capabilities with the example of static analysis of the TortoiseSVN project's source code.</p>
<p>PVS-Studio is a state-of-the-art source code analyzer integrated into Microsoft Visual Studio 2005/2008/2010 environment. The analyzer lets you conveniently handle the warning list and enables multi-core processing for analysis. PVS-Studio is meant for developers of modern Windows-software in C/C++/C++0x.</p>
<p>Until now, PVS-Studio included two rule sets. <a href="http://www.viva64.com/en/viva64-tool/">The first</a> was intended for detecting issues in 64-bit software while <a href="http://www.viva64.com/en/vivamp-tool/">the second</a> was intended for detecting issues in parallel software based on the OpenMP technology.</p>
<p>Now our analyzer has <a href="http://www.viva64.com/en/general-analysis/">a third</a> universal set of rules that allows detecting various errors in code. This rule set is free and may be used without any restrictions. We cannot say whether this set will become paid or not in future since we are only starting our way in the sphere of general-purpose static analysis.</p>
<p>Currently you may study the new set of rules by <a href="http://www.viva64.com/en/pvs-studio-download/">downloading</a> PVS-Studio 4.00 BETA. We will be glad to receive feedback from you concerning bugs and your wishes of how we could improve the tool. I would like to note it right away that we implemented only 50 general-purpose rules for a start. It is not too much, so if you fail to find any interesting issues in your code after you have downloaded and tried PVS-Studio, please do not jump to conclusions. We suggest that you try PVS-Studio in future when the set of diagnoses is greatly extended. We intend to significantly enlarge the base of diagnostic rules soon (if we have enough health and luck).</p>
<p>Let us demonstrate the use of PVS-Studio's new rule set by the example of <a href="http://tortoisesvn.net/" target="_blank">TortoiseSVN</a>.  TortoiseSVN is a client for the Subversion version control system implemented as a Windows plugin. TortoiseSVN is well known by many developers, so I think there is no need to describe this application in detail. I only want to note that TortoiseSVN was acknowledged as the best project in the category "tools and utilities for developers" in year 2007 on SourceForge.net.</p>
<h2>Step 1</h2>
<p>Download PVS-Studio from OOO "Program Verification Systems" company's site (that's us). I hope you will appreciate that you do not have to fill in any forms or solve captchas. Simply <a href="http://www.viva64.com/en/pvs-studio-download/">download</a> the tool.</p>
<h2>Step 2</h2>
<p>Install PVS-Studio. Do not hesitate to click the "Next" button because you do not have to set anything. The PVS-Studio package is signed with a digital signature. However, some antiviruses might get alerted about integration of PVS-Studio into Visual Studio. So you should allow any activity if asked by your antivirus.</p>
<h2>Step 3</h2>
<p><a href="http://tortoisesvn.net/downloads" target="_blank">Download</a> the package of source code of the TortoiseSVN project. We employed version 1.6.11 of source code.</p>
<h2>Step 4</h2>
<p>Open the TortoiseSVN project and launch the analysis by choosing the Check Solution command in the PVS-Studio menu.</p>
<p><a href="http://software.intel.com/file/32510" target="_blank"><p><img src="http://software.intel.com/file/32509" alt="PVS-Studio"></p></a></p>
<h2>Step 5</h2>
<p>The analyzer will think a bit (the TortoiseSVN project is rather complex and includes a lot of files), so do not perform any actions and just wait for a while. The progress dialogue will appear soon and the analysis will start. The analysis' speed depends upon the number of processor cores in your computer. If PVS-Studio consumes too many resources, you may restrain its appetite in the settings.</p>
<p><a href="http://software.intel.com/file/32512" target="_blank"><p><img src="http://software.intel.com/file/32511" alt="PVS-Studio"></p></a></p>
<p>The analyzer generates messages in its own window that has controls for enabling/disabling different types of messages. We will use these capabilities because we are not interested in a large number of errors related to 64 bits now. Besides, the 64-bit analysis module is charged and therefore is shipped in the trial mode (for more detailed information about the trial mode, go <a href="http://www.viva64.com/en/order/">here</a>).</p>
<p>In the window, you may see a group of three buttons responsible for displaying messages of the three rule sets.</p>
<p><img src="http://software.intel.com/file/32513" alt="Picture 6"></p>
<p>1) 64 is responsible for displaying diagnostic messages about 64-bit issues (Viva64);</p>
<p>2) MP shows diagnostic messages about parallel defects (VivaMP);</p>
<p>3) GA shows the General Analysis diagnostic messages.</p>
<p>Now we are interested only in the general analysis rule set. Uncheck the other buttons and the unnecessary messages will be also hidden in the list.</p>
<p><img src="http://software.intel.com/file/32514" alt="Picture 7"></p>
<p>Wait for the analysis to finish.</p>
<h2>Step 6</h2>
<p>Analysis is over and we may see the list of all the fragments in the program where code review is necessary.</p>
<p><a href="http://software.intel.com/file/32516" target="_blank"><p><img src="http://software.intel.com/file/32515" alt="PVS-Studio Warning List"></p></a></p>
<p>All the warnings are arranged according to 3 priority levels (this is a new feature in PVS-Studio 4.00). Usually you have to review only messages of the 1-st and 2-nd levels. PVS-Studio 4.00 BETA generated 33 warnings of the 1-st level, 14 warnings of the 2-nd level and 8 warnings of the 3-rd level.</p>
<p>You'd better start examining the messages with the first level warnings. So you may uncheck the button responsible for displaying messages of the second level. The third level is disabled by default.</p>
<h2>Step 7</h2>
<p>Let's examine interesting code fragments the analyzer has found.</p>
<h3>Case 1</h3>
<p>In the beginning, there are two messages at once that refer to the same function. I hope that this function is not used too often in the code.</p>
<p>V530 The return value of function 'empty' is required to be utilized. contextmenu.cpp 434</p>
<p>V530 The return value of function 'remove' is required to be utilized. contextmenu.cpp 442</p>
<pre name="code" class="cpp">STDMETHODIMP CShellExt::Initialize(....)
{
  ...
  ignoredprops.empty();
  for (int p=0; p&lt;props.GetCount(); ++p)
  {
    if (props.GetItemName(p).
          compare(SVN_PROP_IGNORE)==0)
    {
      std::string st = props.GetItemValue(p);
      ignoredprops = UTF8ToWide(st.c_str());
      // remove all escape chars ('\\')
      std::remove(ignoredprops.begin(),
                  ignoredprops.end(), '\\');
      break;
    }
  }
  ...
}</pre>
<p>Here and further we will give only brief comments on code fragments. To learn more why these code fragments are considered unsafe, refer to PVS-Studio's online-documentation (in <a href="http://www.viva64.com/ru/d/">Russian</a> or <a href="http://www.viva64.com/en/d/">English</a>). The PVS-Studio distribution package also includes documentation in the pdf format (it is absolutely the same as the online-documentation). Further we will give links to the corresponding descriptions of the diagnostic messages.</p>
<p>The <a href="http://www.viva64.com/en/d/0119/">V530</a> message warns us that "ignoredprops.empty()" does not clear the string at all while "std::remove()" will never remove the characters.</p>
<h3>Case 2</h3>
<p>Here it is checked whether a variable of the 'char' type is above or equal to value 0x80. </p>
<p>V547 Expression 'c &gt;= 0x80' is always false. The value range of signed char type: [-128, 127]. pathutils.cpp 559</p>
<pre name="code" class="cpp">CString CPathUtils::PathUnescape (const char* path)
{
  // try quick path
  size_t i = 0;
  for (; char c = path[i]; ++i)
    if ((c &gt;= 0x80) || (c == '%'))
    {
      // quick path does not work for
      // non-latin or escaped chars
      std::string utf8Path (path);
      CPathUtils::Unescape (&amp;utf8Path[0]);
      return CUnicodeUtils::UTF8ToUTF16 (utf8Path);
    }
  ...
}</pre>
<p>The <a href="http://www.viva64.com/en/d/0137/">V547</a> message tells you that such a check is meaningless. A 'char'-value is always below 0x80, so the condition above is always false. Perhaps it is because of this error that developers left the comment "quick path does not work for non-latin or escaped chars". Surely it does not, but not because of the code failing to convert the string: when it encounters a non-latin character, we simply cannot get inside the 'if' operator's body.</p>
<h3>Case 3</h3>
<p>Many threads are spawned and terminated by functions CreateThread/ExitThread. Therefore we risk quickly overflowing a thread's stack or failing to release some resources when a thread is terminated. For more information, refer to the <a href="http://www.viva64.com/en/d/0102/">V513</a> warning's description. It is much safer to use functions _beginthreadex() and _endthreadex() for these purposes.</p>
<p>There is no need to give the code sample here, and the text of all the messages is the same:</p>
<p>V513 Use _beginthreadex/_endthreadex functions instead of CreateThread/ExitThread functions. crashhandler.cpp 379</p>
<h3>Case 4</h3>
<p>It refers to TortoiseSVN companion utilities. It is highly probable that when you handle CrashLog, you will encounter another Crash.</p>
<p>V510 The 'printf_s' function is not expected to receive class-type variable as fourth actual argument. excprpt.cpp 199</p>
<pre name="code" class="cpp">string CExceptionReport::getCrashLog()
{
  ...
  _tprintf_s(buf, _T("%s\\%s.xml"),
  getenv("TEMP"), CUtility::getAppName());
  ...
}</pre>
<p>The <a href="http://www.viva64.com/en/d/0099/">V510</a> message warns you that it is a bad thing to pass an argument of the std::string  type into the printf_s function. But it is std::string that the CUtility::getAppName() function returns. The error here is that the programmer forgot to write ".c_str()". This may result either in an incorrect data output or program crash.</p>
<h3>Case 5</h3>
<p>The developers intended to clear an array here but failed.</p>
<p>V530 The return value of function 'empty' is required to be utilized. mailmsg.cpp 40</p>
<pre name="code" class="cpp">CMailMsg&amp; CMailMsg::SetFrom(string sAddress,
                            string sName)
{
   if (initIfNeeded())
   {
      // only one sender allowed
      if (m_from.size())
         m_from.empty();
      m_from.push_back(TStrStrPair(sAddress,sName));
   }
   return *this;
}</pre>
<p>Again, the <a href="http://www.viva64.com/en/d/0119/">V530</a> message tells us that it is "empty()" which is accidentally written instead of "clear()".</p>
<h3>Case 6</h3>
<p>In the SetTo() function, the developers also failed to clear an array. </p>
<p>V530 The return value of function 'empty' is required to be utilized. mailmsg.cpp 54</p>
<pre name="code" class="cpp">CMailMsg&amp; CMailMsg::SetTo(string sAddress,
                          string sName)
{
   if (initIfNeeded())
   {
      // only one recipient allowed
      if (m_to.size())
         m_to.empty();

      m_to.push_back(TStrStrPair(sAddress,sName));
   }
   return *this;
}</pre>
<h3>Case 7</h3>
<p>Of course the analyzer generates false alarms as well. For instance, this code fragment from the zlib library is included into the TortoiseSVN project. There is no error here but it is rather helpful to mark such a fragment with the <a href="http://www.viva64.com/en/d/0090/">V501</a> warning. </p>
<p>V501 There are identical sub-expressions to the left and to the right of the '-' operator: size - size zutil.c 213</p>
<pre name="code" class="cpp">voidpf zcalloc (opaque, items, size)
    voidpf opaque;
    unsigned items;
    unsigned size;
{
  /* make compiler happy */
  if (opaque) items += size - size;
  return (voidpf)calloc(items, size);
}</pre>
<p>Of course the compiler feels happy here, but the subtraction operation looks suspicious. </p>
<h3>Case 8</h3>
<p>There are other grey areas concerning encodings. Here is one more condition which is always false.</p>
<p>V547 Expression '* utf8CheckBuf &gt;= 0xF5' is always false. The value range of signed char type: [-128, 127]. tortoiseblame.cpp 312</p>
<pre name="code" class="cpp">BOOL TortoiseBlame::OpenFile(const TCHAR *fileName)
{
  ...
  // check each line for illegal utf8 sequences.
  // If one is found, we treat
  // the file as ASCII, otherwise we assume
  // an UTF8 file.
  char * utf8CheckBuf = lineptr;
  while ((bUTF8)&amp;&amp;(*utf8CheckBuf))
  {
    if ((*utf8CheckBuf == 0xC0)||
        (*utf8CheckBuf == 0xC1)||
        (*utf8CheckBuf &gt;= 0xF5))
    {
      bUTF8 = false;
      break;
    }

   ...
  }</pre>
<p>By the way, conditions "*utf8CheckBuf == 0xC0" and "*utf8CheckBuf == 0xC1" are always false too. That is why the code "bUTF8 = false;" will never get control. The fact that the PVS-Studio analyzer kept silent about the "*utf8CheckBuf == 0xC0" expression is its drawback. We have noted it and will make the analyzer to scold this issue in the next version.</p>
<h3>Case 9</h3>
<p>The next message is not so simple: in theory we have an error but in practice everything works well.</p>
<p>V507 Pointer to local array 'stringbuf' is stored outside the scope of this array. Such a pointer will become invalid. mainwindow.cpp 277</p>
<pre name="code" class="cpp">LRESULT CALLBACK CMainWindow::WinMsgHandler(....)
{
  ...
  if (pNMHDR-&gt;code == TTN_GETDISPINFO)
  {
    LPTOOLTIPTEXT lpttt;

    lpttt = (LPTOOLTIPTEXT) lParam;
    lpttt-&gt;hinst = hResource;

    // Specify the resource identifier of the
    // descriptive text for the given button.
    TCHAR stringbuf[MAX_PATH] = {0};
    ...
    lpttt-&gt;lpszText = stringbuf;
  }
  ...
}</pre>
<p>The <a href="http://www.viva64.com/en/d/0096/">V507</a> message warns you that the object is being used after it has been destroyed. The 'stringbuf' buffer will be used after exiting the 'if' operator's body.</p>
<p>If 'stringbuf' was a class object (for instance, of std::string class), the code would behave incorrectly. We would use an already destroyed object in that case. But here 'stringbuf' is an array created in the stack. The Visual C++ compiler does not use this stack fragment once again, so the buffer will continue to exist until the 'CMainWindow::WinMsgHandler' function terminates. Thus, there is no error yet this code is potentially dangerous.</p>
<h3>Case 10</h3>
<p>Here is one more fragment like the previous one. Again we have code that works but it is rather fragile.</p>
<p>V507 Pointer to local array 'stringbuf' is stored outside the scope of this array. Such a pointer will become invalid. picwindow.cpp 443</p>
<pre name="code" class="cpp">if ((HWND)wParam == m_AlphaSlider.GetWindow())
{
  LPTOOLTIPTEXT lpttt;

  lpttt = (LPTOOLTIPTEXT) lParam;
  lpttt-&gt;hinst = hResource;
  TCHAR stringbuf[MAX_PATH] = {0};
  _stprintf_s(stringbuf, .....);
  lpttt-&gt;lpszText = stringbuf;
}</pre>
<h3>Case 11</h3>
<p>It is a bad idea to throw exceptions and not to handle them in the destructor.</p>
<p>V509 The 'throw' operator inside the destructor should be placed within the try..catch block. Raising exception inside the destructor is illegal. cachefileoutbuffer.cpp 52</p>
<pre name="code" class="cpp">CCacheFileOutBuffer::~CCacheFileOutBuffer()
{
  if (IsOpen())
  {
    streamOffsets.push_back (GetFileSize());
    size_t lastOffset = streamOffsets[0];
    for (size_t i = 1,
         count = streamOffsets.size();
         i &lt; count; ++i)
    {
      size_t offset = streamOffsets[i];
      size_t size = offset - lastOffset;

      if (size &gt;= (DWORD)(-1))
        throw CStreamException("stream too large");

      Add ((DWORD)size);
      lastOffset = offset;
    }

    Add ((DWORD)(streamOffsets.size()-1));
  }
}</pre>
<p>The <a href="http://www.viva64.com/en/d/0098/">V509</a> message warns you that if the CcacheFileOutBuffer object is destroyed while an exception is being handled, a new exception will cause a program crash.</p>
<h3>Case 12</h3>
<p>One more meaningless comparison.</p>
<p>V547 Expression 'endRevision &lt; 0' is always false. Unsigned type value is never &lt; 0. cachelogquery.cpp 999</p>
<pre name="code" class="cpp">typedef index_t revision_t;
...
void CCacheLogQuery::InternalLog (
   revision_t startRevision
 , revision_t endRevision
 , const CDictionaryBasedTempPath&amp; startPath
 , int limit
 , const CLogOptions&amp; options)
{
  ...
  // we cannot receive logs for rev &lt; 0
  if (endRevision &lt; 0)
    endRevision = 0;
  ...
}</pre>
<p>There simply cannot be any negative values here. The endRevision variable has the unsigned type and therefore endRevision is always above or equal to 0. The potential issue here is that if a negative value has been cast to unsigned type somewhere earlier, we will start handling a very large number. This cannot be checked.</p>
<h3>Case 13</h3>
<p>There are no more useful messages of the first level. Well, for now. It is only the first step in trying PVS-Studio's capabilities. We intend to develop not fewer than 150 issues we must teach our tool to detect. I would like to thank once again those readers who responded to our previous articles and sent us samples where one can detect errors with the help of static analysis at the stage of writing the code.</p>
<p>Let's look at the second level. We found one interesting error related to using the Copy-Paste method. By the way, there was nothing interesting at the third level, so it is not for nothing that we disable it by default.</p>
<p>V524 It is odd that the 'GetDbgHelpVersion' function is fully equivalent to the 'GetImageHlpVersion' function (SymbolEngine.h, line 98). symbolengine.h 105</p>
<pre name="code" class="cpp">BOOL GetImageHlpVersion(DWORD &amp;dwMS, DWORD &amp;dwLS)
{
  return(GetInMemoryFileVersion(("DBGHELP.DLL"),
                                dwMS,
                                dwLS)) ;
}

BOOL GetDbgHelpVersion(DWORD &amp;dwMS, DWORD &amp;dwLS)
{
  return(GetInMemoryFileVersion(("DBGHELP.DLL"),
                                dwMS,
                                dwLS)) ;
}</pre>
<p>The <a href="http://www.viva64.com/en/d/0113/">V524</a> message is generated if the analyzer finds two suspiciously similar functions. It is most likely that the first function must get the "imagehlp.dll" version of the file instead of "dbghelp.dll ".</p>
<h2>Step 8</h2>
<p>Now we must fix the errors we have found. This step is clear and we will skip it. </p>
<p>Concerning the errors found, we will report them to TortoiseSVN's developers.</p>
<h2>Step 9</h2>
<p>Now let's speak a bit about false alarms. Let me give you some examples to explain what false alarms are and how we can deal with them.</p>
<p>Here is the first false alarm: PVS-Studio did not understand the playing with the operation of memory copying.</p>
<p>V512 A call of the 'memcpy' function will lead to a buffer overflow or underflow. resmodule.cpp 838</p>
<pre name="code" class="cpp">const WORD*
CResModule::CountMemReplaceMenuExResource(....)
{
  ...
  if (newMenu != NULL) {
    CopyMemory(&amp;newMenu[*wordcount], p0, 7 * sizeof(WORD));
  }
   ...
}</pre>
<p>The <a href="http://www.viva64.com/en/d/0101/">V512</a>  warning informs you that we have a buffer underflow or, vice versa, a buffer overflow. The analyzer made a mistake this time having suggested that we want to copy 7 objects but intend to handle only one object of the WORD type.</p>
<p>Here is the second false alarm. The analyzer suggests that we processed only a part of the array.</p>
<p>V512 A call of the 'memcmp' function will lead to a buffer overflow or underflow. sshsha.c 317</p>
<pre name="code" class="cpp">static int sha1_96_verify(....)
{
  unsigned char correct[20];
  sha1_do_hmac(handle, blk, len, seq, correct);
  return !memcmp(correct, blk + len, 12);
}</pre>
<p>Right, it is only a part of the 'correct' array participating in the comparison operation but we made it intentionally.</p>
<p>The third example of a false alarm.</p>
<p>V517 The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. tree234.c 195</p>
<pre name="code" class="cpp">static void *add234_internal(....)
{
  ...
  if ((c = t-&gt;cmp(e, n-&gt;elems[0])) &lt; 0)
    childnum = 0;
  else if (c == 0)
    return n-&gt;elems[0]; /* already exists */
  else if (n-&gt;elems[1] == NULL
       || (c = t-&gt;cmp(e, n-&gt;elems[1])) &lt; 0)
         childnum = 1;
  else if (c == 0)
    return n-&gt;elems[1]; /* already exists */
  else if (n-&gt;elems[2] == NULL
       || (c = t-&gt;cmp(e, n-&gt;elems[2])) &lt; 0)
         childnum = 2;
  else if (c == 0)
    return n-&gt;elems[2]; /* already exists */
  else
    childnum = 3;
  ...
}</pre>
<p>The analyzer does not like that the check 'c == 0' is present in code several times. The code is correct since the 'c' variable is changed inside the other conditions "c = t-&gt;cmp(e, n-&gt;elems[2])". But this situation is rather rare. Usually the <a href="http://www.viva64.com/en/d/0106/">V517</a> message points to real defects in code.</p>
<p>We will not consider all the rest of false alarms because there is nothing interesting about them. A programmer can easily understand that they are false alarms and he does not have to examine them too closely.</p>
<p>You may handle false alarms in several ways:</p>
<p>1) You may rewrite the code. Sometimes it is rather reasonable. Refactoring would be very helpful for the last sample with a false alarm (I mean the add234_internal function and warning V517).</p>
<p>2) You may disable some diagnoses in the settings which always produce false alarms in your projects. After you disable them, all the corresponding messages will disappear from the warning list. For more details, see "<a href="http://www.viva64.com/en/d/0016/">Settings: Detectable Errors</a>".</p>
<p>3) If false alarms refer to code that does not need to be checked, you may exclude separate files or folders from analysis. You may also use masks. For details, see "<a href="http://www.viva64.com/en/d/0017/">Settings: Don't Check Files</a>". This method is convenient for excluding third-party libraries from analysis.</p>
<p>4) You may use the mechanism of suppressing messages containing particular text. For details, see "<a href="http://www.viva64.com/en/d/0018/">Settings: Message Suppression</a>".</p>
<p>5) There are cases when you should suppress a particular false alarm. Then you may use the "Mark as False Alarm" option. If you use it, the analyzer adds a small comment of the "//-Verror_code" kind into the code. You may hide code fragments marked with this comment by the FA button that enables or disables displaying the marked messages. For details, see: "<a href="http://www.viva64.com/en/d/0021/">False alarm suppression</a>".</p>
<p>Thank you for your attention. Try <a href="http://www.viva64.com/en/pvs-studio/">PVS-Studio</a>. Send us your feedback. Ask us questions. Give us your interesting samples. Offer new diagnostic rules we could implement.</p>
<p>Sincerely yours, Andrey Karpov, one of the PVS-Studio's developers.</p>
<p>You may contact us on page "<a href="http://www.viva64.com/en/about-feedback/">Feedback</a>".</p>
<p>Or by e-mail: support[@]viva64.com , karpov[@]viva64.com.</p>
<p>Write to us, we have a wonderful support service. It is me, the author of this article, who will personally participate in communication unlike most companies where you deal with some abstract human-robot.</p>
 ]]></description>
      <link>http://software.intel.com/en-us/articles/let-the-world-tremble-weve-released-pvs-studio-400-with-a-free-general-purpose-analyzer/</link>
      <pubDate>Mon, 06 Dec 2010 10:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/let-the-world-tremble-weve-released-pvs-studio-400-with-a-free-general-purpose-analyzer/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/let-the-world-tremble-weve-released-pvs-studio-400-with-a-free-general-purpose-analyzer/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>The Intel Math Kernel Library 10.3 Beta has been Released </title>
      <description><![CDATA[ The Intel(R) MKL 10.3 beta has been released and includes Intel(R) AVX optimizations, Summary Statistics functionality, C interface to LAPACK and Routine level mode control in VML. Please visit Intel MKL 10.3 beta program page (http://software.intel.com/en-us/articles/intel-math-kernel-library-103-beta/) for more details on the new features, bug fixes, and registration/download of the Intel MKL 10.3 beta. ]]></description>
      <link>http://software.intel.com/en-us/articles/the-intel-math-kernal-library-103-beta-has-been-released/</link>
      <pubDate>Mon, 19 Jul 2010 21:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/the-intel-math-kernal-library-103-beta-has-been-released/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/the-intel-math-kernal-library-103-beta-has-been-released/</guid>
      <category>Parallel Programming</category>
      <category>ISN General</category>
    </item>
    <item>
      <title>ISN at SIGCSE 2010</title>
      <description><![CDATA[ <p><img src="http://software.intel.com/file/24904" alt="sigcse+intel.png" title="sigcse+intel.png" /> </p>
<p> </p>
<!-- table { border: 1px solid #666666; cellpadding:5px;  cellspacing:2px; font: bold 11px verdana, arial, helvetica, sans-serif; color: #363636; background: #f6f6f6; text-align:left; } caption { text-align: center; font: bold 16px arial, helvetica, sans-serif; background: transparent; padding:6px 4px 8px 5px; color: #CC00FF; text-transform: uppercase; } thead, tfoot { text-align:left; height:30px; } thead th, tfoot th { padding:5px; } table a { color: #333333; text-decoration:none; } table a:hover { text-decoration:underline; color: #4169e1; } tbody th, tbody td { border: 0px solid #666666; } img  { align:middle; } --><!-- #PublishedModifiedDate,#PageTitle{display:none;} -->
<p> <img src="http://software.intel.com/file/23200" border="0" /></p>
<p><b>Intel Academic Community at SIGCSE 2010.</b></p>
<p><strong>Intel Academic Community was at SIGCSE 2010 in Milwaukee, Wisconsin on March 10-13, 2010. Dr. Michael Wrinn did the keynote address on Saturday, March 13, 2010:</strong></p>
<table cellpadding="3" cellspacing="2" border="2">
<tbody>
<tr>
<td><b>Suddenly, All Computing Is Parallel: Seizing Opportunity Amid the Clamor, Dr. Michael Wrinn, Intel Corporation</b></td>
</tr>
</tbody>
</table>
<!-- End Keynotes Table  -->
<p> </p>
<strong>Intel also presented the following during the conference, to help teach about about new technology and education. Intel also presented demostrations of the new Cloud scalability system available for research and teaching, the smoke demo, embedded demos and other interesting topics.</strong><br /><br /><img src="http://software.intel.com/file/24906" alt="sigcsetalk.png" title="sigcsetalk.png" /><br /><b></b><!-- Begin Talks Table  --><!-- End Keynotes Table  -->
<div></div>
<div><br /><b>See below the <a href="http://software.intel.com/en-us/videos/intel-at-sigcse-2009-pt-1-of-2/">Videos</a> from SIGCSE 2009.<br /></b></div>
<div>
<p> </p>
</div>
<!-- Begin TEST VIDIO Player-->
<object height="360" width="640" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="v_1682_733">
<param name="id" value="v_1682_733" />
<param name="name" value="v_1682_733" />
<param name="flashvars" value="file=http://software.intel.com/media/videos/6/c/2/9/7/9/3/6c29793a140a811d0c45ce03c1c93a28.flv&amp;image=http://software.intel.com/media/videos/6/c/2/9/7/9/3/6c29793a140a811d0c45ce03c1c93a28_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Intel+at+SIGCSE+2009+pt.+1+of+2" />
<param name="allowfullscreen" value="true" />
<param name="src" value="http://software.intel.com/common/swf/mediaplayer.swf" /><embed allowfullscreen="true" flashvars="file=http://software.intel.com/media/videos/6/c/2/9/7/9/3/6c29793a140a811d0c45ce03c1c93a28.flv&amp;image=http://software.intel.com/media/videos/6/c/2/9/7/9/3/6c29793a140a811d0c45ce03c1c93a28_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Intel+at+SIGCSE+2009+pt.+1+of+2" src="http://software.intel.com/common/swf/mediaplayer.swf" type="application/x-shockwave-flash" name="v_1682_733" height="360" width="640" id="v_1682_733"></embed>
</object>
<!-- END TEST VIDEO--><!-- Begin ISN TV Player--><!-- End ISN TV Player-->
<div><br /></div>
<p> </p>
<p><strong> Here are some pictures of the Intel Booth at SIGCSE 2009:<br /></strong><br /><br /><br /><img height="304" width="359" src="http://software.intel.com/file/24736" alt="Siggraph+Booth+09.jpg" title="Siggraph+Booth+09.jpg" /></p>
<div><b><br /><br /><br /><br /><br />Here are some other Videos and activities from SC09 which are interesting:</b><br /></div>
<div>
<table bgcolor="#ffffff" bordercolor="#ffffff" border="0">
<tbody>
<tr>
<td>
<object height="180" width="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="v_5289_1193">
<param name="id" value="v_5289_1193" />
<param name="name" value="v_5289_1193" />
<param name="flashvars" value="file=http://software.intel.com/media/videos/9/a/3/d/4/5/8/9a3d458322d70046f63dfd8b0153ece4.flv&amp;image=http://software.intel.com/media/videos/9/a/3/d/4/5/8/9a3d458322d70046f63dfd8b0153ece4_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=2009+Supercomputing+Programming+Contest+" />
<param name="allowfullscreen" value="true" />
<param name="src" value="http://software.intel.com/common/swf/mediaplayer.swf" /><embed allowfullscreen="true" flashvars="file=http://software.intel.com/media/videos/9/a/3/d/4/5/8/9a3d458322d70046f63dfd8b0153ece4.flv&amp;image=http://software.intel.com/media/videos/9/a/3/d/4/5/8/9a3d458322d70046f63dfd8b0153ece4_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=2009+Supercomputing+Programming+Contest+" src="http://software.intel.com/common/swf/mediaplayer.swf" type="application/x-shockwave-flash" name="v_5289_1193" height="180" width="320" id="v_5289_1193"></embed>
</object>
<br />2009 SC Student Programming Challenge</td>
<td>
<object height="180" width="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="v_2780_1181">
<param name="id" value="v_2780_1181" />
<param name="name" value="v_2780_1181" />
<param name="flashvars" value="file=http://software.intel.com/media/videos/2/a/c/2/4/0/6/2ac2406e835bd49c70469acae337d292.flv&amp;image=http://software.intel.com/media/videos/2/a/c/2/4/0/6/2ac2406e835bd49c70469acae337d292_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Ada+Gavrilovska+Thinks+Parallel+at+SC09" />
<param name="allowfullscreen" value="true" />
<param name="src" value="http://software.intel.com/common/swf/mediaplayer.swf" /><embed allowfullscreen="true" flashvars="file=http://software.intel.com/media/videos/2/a/c/2/4/0/6/2ac2406e835bd49c70469acae337d292.flv&amp;image=http://software.intel.com/media/videos/2/a/c/2/4/0/6/2ac2406e835bd49c70469acae337d292_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Ada+Gavrilovska+Thinks+Parallel+at+SC09" src="http://software.intel.com/common/swf/mediaplayer.swf" type="application/x-shockwave-flash" name="v_2780_1181" height="180" width="320" id="v_2780_1181"></embed>
</object>
<br />Professor Ada Gavrilovska, Georgia Tech.</td>
</tr>
<tr>
<td>
<object height="180" width="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="v_2701_1179">
<param name="id" value="v_2701_1179" />
<param name="name" value="v_2701_1179" />
<param name="flashvars" value="file=http://software.intel.com/media/videos/d/a/b/d/8/d/2/dabd8d2ce74e782c65a973ef76fd540b.flv&amp;image=http://software.intel.com/media/videos/d/a/b/d/8/d/2/dabd8d2ce74e782c65a973ef76fd540b_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Andrew+Fitz-Gibbon+Thinks+Parallel+at+SC09" />
<param name="allowfullscreen" value="true" />
<param name="src" value="http://software.intel.com/common/swf/mediaplayer.swf" /><embed allowfullscreen="true" flashvars="file=http://software.intel.com/media/videos/d/a/b/d/8/d/2/dabd8d2ce74e782c65a973ef76fd540b.flv&amp;image=http://software.intel.com/media/videos/d/a/b/d/8/d/2/dabd8d2ce74e782c65a973ef76fd540b_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Andrew+Fitz-Gibbon+Thinks+Parallel+at+SC09" src="http://software.intel.com/common/swf/mediaplayer.swf" type="application/x-shockwave-flash" name="v_2701_1179" height="180" width="320" id="v_2701_1179"></embed>
</object>
<br />Andrew Fitz-Gibbon,Instructor, SC Education.</td>
<td>
<object height="180" width="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="v_6334_1180">
<param name="id" value="v_6334_1180" />
<param name="name" value="v_6334_1180" />
<param name="flashvars" value="file=http://software.intel.com/media/videos/6/e/b/6/e/7/5/6eb6e75fddec0218351dc5c0c8464104.flv&amp;image=http://software.intel.com/media/videos/6/e/b/6/e/7/5/6eb6e75fddec0218351dc5c0c8464104_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Shannon+Steinfadt+Thinks+Parallel+at+SC09" />
<param name="allowfullscreen" value="true" />
<param name="src" value="http://software.intel.com/common/swf/mediaplayer.swf" /><embed allowfullscreen="true" flashvars="file=http://software.intel.com/media/videos/6/e/b/6/e/7/5/6eb6e75fddec0218351dc5c0c8464104.flv&amp;image=http://software.intel.com/media/videos/6/e/b/6/e/7/5/6eb6e75fddec0218351dc5c0c8464104_player.jpg&amp;autostart=false&amp;bufferlength=5&amp;allowfullscreen=true&amp;plugins=http://software.intel.com/common/swf/listen&amp;title=Shannon+Steinfadt+Thinks+Parallel+at+SC09" src="http://software.intel.com/common/swf/mediaplayer.swf" type="application/x-shockwave-flash" name="v_6334_1180" height="180" width="320" id="v_6334_1180"></embed>
</object>
<br />Dr. Shannon Steinfadt, Los Alamos National Labs.</td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<div>
<hr />
</div>
<div><br />  </div>
<p> </p>
<p><b>Intel @ SIGCSE 2010 blogs:</b></p>
<p><span ></span> </p>
<ul>
<li><span >Subscribe to the <a href="http://software.intel.com/en-us/blogs/category/academic/feed/">Intel Academic Community blog RSS feed</a></span></li>
</ul>
<p><b>Intel Academic Community Black Belts at SIGCSE 2010:</b></p>
<ul>
<li>Matthew Wolf, Georgia Tech University (<a target="_blank" href="http://software.intel.com/en-us/blogs/author/matthew-wolf/">Dr. Wolf's blog</a>)</li>
<li>Tom Murphy, Contra Costa College (<a target="_blank" href="http://software.intel.com/en-us/blogs/author/wolfmurphy/">Dr. Murphy's blog</a>, <a href="http://twitter.com/wolfmurphy">@wolfmurphy </a>on Twitter)</li>
</ul>
<p><b><br /></b></p>
<p><b></b></p>
<p> </p>
<div>Additional Links:</div>
<b></b><!-- Begin Keynotes Table  --><!-- End Keynotes Table  -->
<div></div>
<p> </p>
<p> </p> ]]></description>
      <link>http://software.intel.com/en-us/articles/isn-at-sigcse-2010/</link>
      <pubDate>Sun, 31 Jan 2010 21:00:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/isn-at-sigcse-2010/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/isn-at-sigcse-2010/</guid>
      <category>ISN General</category>
      <category>Code &amp; Downloads</category>
      <category>Game Development</category>
    </item>
    <item>
      <title>Call for Poster Participation IDF 2009</title>
      <description><![CDATA[ <p> </p>
<p><b>Call for Poster Participation, IDF 2009, San Francisco, California, USA</b></p>
<p><a href="http://www.intel.com/idf/registration/" target="_blank"><img  height="230" src="http://software.intel.com/file/21544" width="740" /></a></p>
<p>On September 22-24<sup>th</sup> in San Francisco over 100 senior academic technologists from Parallel Computing, Multi-core Programming, Open Innovation and Collaborative Communities will get together at the Intel Developer Forum for an Academic Summit Track.  This will be hosted by Pat Gelsinger, Executive Vice President of the Digital Enterprise Group, and Andrew Chien, Vice President of Research, Intel Labs, Vice President and Director of Future Technologies Research with responsibility for academic collaborations.</p>
<p>The Academic Track will feature a poster session on September 23<sup>rd</sup> in the late afternoon .  You are invited to submit a proposal to present your work at this poster session.  The goal of the poster session will be to paint a comprehensive picture of what tools and methods are being used, some early results, and the main technological and business challenges in delivering new advanced topics in the academic environment, especially those related to:</p>
<ul type="disc">
<li>Parallel Computing </li>
<li>Multi-core programming</li>
<li>Collaborative Communities</li>
<li>Open Innovation</li>
</ul>
<p>We encourage you to send in your poster proposal to <a href="http://software.intel.commailto:innovation@intel.com">innovation@intel.com</a> by August 11<sup>th</sup> with the following information:</p>
<ul type="disc">
<li>Names of Poster Presenters</li>
<li>Topic of the Poster</li>
<li>Three key messages on the poster - What will the audience learn or be interested in hearing more about?</li>
<li>Research findings</li>
<li>Contact information</li>
</ul>
<p>This is an invitation-only event and poster presenters will receive a complimentary pass to IDF that is valued at up to $1,595. Participants need to cover their own transportation and lodging to the event.  For more information see www.intel.com/idf</p>
<p> </p>
<p> </p> ]]></description>
      <link>http://software.intel.com/en-us/articles/call-for-poster-participation-idf2009/</link>
      <pubDate>Tue, 04 Aug 2009 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/call-for-poster-participation-idf2009/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/call-for-poster-participation-idf2009/</guid>
      <category>Parallel Programming</category>
      <category>ISN General</category>
      <category>Academic</category>
    </item>
  </channel></rss>
