<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>Parallel Programming with Microsoft Visual C++</title><link>http://parallelpatternscpp.codeplex.com/project/feeds/rss</link><description>Code samples for the patterns &amp;#38; practices book on design patterns for parallel programming, Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;.</description><item><title>Updated Wiki: Documentation</title><link>http://parallelpatternscpp.codeplex.com/documentation?version=1</link><description>&lt;div class="wikidoc"&gt;The samples here are described in the book. There isn&amp;#39;t really any documentation in addition to this. If you find bugs or other issues with the samples please use the &lt;a href="http://parallelpatternscpp.codeplex.com/workitem/list/basic"&gt;Issue Tracker&lt;/a&gt;. If you find errors in the book text please submit it to the &lt;a href="http://www.oreillynet.com/oreilly/authors/errata.csp?b=0790145310507"&gt;O&amp;#39;Reilly Errata page&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>AdeMiller</author><pubDate>Fri, 19 Oct 2012 03:53:04 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20121019035304A</guid></item><item><title>Closed Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>&amp;#60;p&amp;#62;This issue is designed for tracking errata in the book text. Things like minor typos.&amp;#60;&amp;#47;p&amp;#62;&lt;br /&gt;&amp;#60;p&amp;#62;&amp;#38;nbsp&amp;#59;&amp;#60;&amp;#47;p&amp;#62;&lt;br /&gt;&amp;#60;p&amp;#62;Added as comments below...&amp;#60;&amp;#47;p&amp;#62;&lt;br /&gt;&lt;br /&gt;Comments: &lt;p&gt;All these comments have been moved to the errata page on O&amp;#39;Reilly&amp;#39;s site.&lt;/p&gt;&lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;www.oreillynet.com&amp;#47;oreilly&amp;#47;authors&amp;#47;errata.csp&amp;#63;b&amp;#61;0790145310507&lt;br /&gt;&lt;/p&gt;</description><author>AdeMiller</author><pubDate>Fri, 19 Oct 2012 03:47:47 GMT</pubDate><guid isPermaLink="false">Closed Issue: Book Errata [573] 20121019034747A</guid></item><item><title>Source code checked in, #16392</title><link>http://parallelpatternscpp.codeplex.com/SourceControl/changeset/changes/16392</link><description>Upgrade&amp;#58; New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link&amp;#58; http&amp;#58;&amp;#47;&amp;#47;go.microsoft.com&amp;#47;fwlink&amp;#47;&amp;#63;LinkId&amp;#61;254563</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 20:28:03 GMT</pubDate><guid isPermaLink="false">Source code checked in, #16392 20121001082803P</guid></item><item><title>Source code checked in, #16391</title><link>http://parallelpatternscpp.codeplex.com/SourceControl/changeset/changes/16391</link><description>Checked in by server upgrade</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 20:26:15 GMT</pubDate><guid isPermaLink="false">Source code checked in, #16391 20121001082615P</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: Niels_Dekker ** &lt;p&gt;Chapter 4, Parallel Aggregation &amp;#40;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;gg663540.aspx&amp;#41; page 46 ends with&amp;#58; &lt;/p&gt;&lt;p&gt;  combinable&amp;#60;int&amp;#62; count&amp;#40;&amp;#91;&amp;#93;&amp;#40;&amp;#41; &amp;#123; return 0&amp;#59; &amp;#125;&amp;#41;&amp;#59;&lt;/p&gt;&lt;p&gt;I think it&amp;#39;s worth noting that the default-constructor of combinable&amp;#60;int&amp;#62; also takes care of having its thread-private &amp;#40;local&amp;#41; values zero-initialized. So in this case, it&amp;#39;s not really necessary to explicitly specify an initialization function&amp;#59; the following also does the job&amp;#58; &lt;/p&gt;&lt;p&gt;  combinable&amp;#60;int&amp;#62; count&amp;#59; &amp;#47;&amp;#47; Default constructed.&lt;/p&gt;</description><author>Niels_Dekker</author><pubDate>Thu, 22 Sep 2011 10:17:59 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110922101759A</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: Niels_Dekker ** &lt;p&gt;Chapter 2, Parallel Loops, p15 &amp;#40;http&amp;#58;&amp;#47;&amp;#47;msdn.microsoft.com&amp;#47;en-us&amp;#47;library&amp;#47;gg663527.aspx&amp;#41; says&amp;#58; &amp;#39;replace the for_each keyword with a call to the parallel_for_each method&amp;#39;. However, &amp;#39;for_each&amp;#39; is not a keyword. &amp;#40;At least, not according the C&amp;#43;&amp;#43; Standard.&amp;#41; So instead, I would suggest&amp;#58; &amp;#39;replace the for_each call with a call to the parallel_for_each method&amp;#39;.&lt;/p&gt;</description><author>Niels_Dekker</author><pubDate>Thu, 01 Sep 2011 15:44:48 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110901034448P</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: Niels_Dekker ** &lt;p&gt;Chapter 2, Parallel Loops, shows four calls to Concurrency&amp;#58;&amp;#58;parallel_for&amp;#60;_Index_type,_Function&amp;#62;, each of them having an unsigned int &amp;#40;&amp;#39;0u&amp;#39;&amp;#41; as first argument, and either a size_t or a vector&amp;#58;&amp;#58;size_type as second argument. This causes compile errors when the target platform is x64&amp;#58;&lt;/p&gt;&lt;p&gt;error C2782&amp;#58; &amp;#39;void Concurrency&amp;#58;&amp;#58;parallel_for&amp;#40;_Index_type,_Index_type,const _Function &amp;#38;&amp;#41;&amp;#39; &amp;#58; template parameter &amp;#39;_Index_type&amp;#39; is ambiguous&lt;/p&gt;&lt;p&gt;I would suggest to explicitly specify the first template argument&amp;#58;&lt;br /&gt;  Find what&amp;#58; &amp;#39;parallel_for&amp;#40;0u&amp;#39;&lt;br /&gt;  Replace with&amp;#58; &amp;#39;parallel_for&amp;#60;size_t&amp;#62;&amp;#40;0u&amp;#39;&lt;/p&gt;</description><author>Niels_Dekker</author><pubDate>Thu, 01 Sep 2011 15:15:18 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110901031518P</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: jsh003guardz63 ** &lt;p&gt;Page 91 - given the text about CreateSentencesAgent, it&amp;#39;s odd that the corresponding code block is not shown on this page.&lt;/p&gt;</description><author>jsh003guardz63</author><pubDate>Tue, 19 Jul 2011 16:22:27 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110719042227P</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: jsh003guardz63 ** &lt;p&gt;The explanation of performance characteristics of pipelines on p96 needs clarification and possibly correction.&lt;/p&gt;&lt;p&gt;In particular, &amp;#8220;If there are enough available cores, and if all stages of a pipeline take an equal amount of time, the execution time for the pipeline as a whole is the same as the time for just one stage&amp;#8221;, would appear to be incorrect.&lt;/p&gt;&lt;p&gt;If&amp;#58;&lt;br /&gt;    S &amp;#61; the number of stages in figure 4 &amp;#40;&amp;#61; 4&amp;#41;&lt;br /&gt;    N &amp;#61; the number of images in figure 4 &amp;#40;&amp;#61; 6&amp;#41;&lt;br /&gt;    T &amp;#61; the duration to process one stage for one image &amp;#40;&amp;#61; t1 - t0 &amp;#61; t2 &amp;#8211; t1&amp;#41;&lt;br /&gt;Then&amp;#58;&lt;br /&gt;    The elapsed time for a completely parallel and completely efficient pipeline is &amp;#40;S&amp;#43;N-1&amp;#41; &amp;#42; T.&lt;br /&gt;    The elapsed time taken for one stage &amp;#61; N &amp;#42; T.&lt;br /&gt;But&amp;#58;&lt;br /&gt;    &amp;#40;S&amp;#43;N-1&amp;#41; x T is only equal to N &amp;#42; T when S &amp;#61; 1.&lt;/p&gt;&lt;p&gt;If the sidebar on p96 is referring to the case where S &amp;#61; 1, the phrasing of that sidebar needs changing, as it currently implies that &amp;#40;S&amp;#43;N-1&amp;#41; x T &amp;#61; N &amp;#42; T for any S. If the sidebar isn&amp;#39;t referring to the case where S &amp;#61; 1, it needs re-wording as its intended meaning is unclear and&amp;#47;or incorrect. Possibly, it&amp;#39;s trying to say that each core has an equal execution time, but I don&amp;#39;t think that&amp;#39;s the intended meaning... it&amp;#8217;s hard to be sure what it is trying to say.&lt;br /&gt;&lt;/p&gt;</description><author>jsh003guardz63</author><pubDate>Tue, 19 Jul 2011 16:20:17 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110719042017P</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: jsh003guardz63 ** &lt;p&gt;Minor typo &amp;#8211; page 115. &amp;#8220;use patterns&amp;#8221; should be &amp;#8220;usage patterns&amp;#8221; or &amp;#8220;patterns of use&amp;#8221;.&lt;/p&gt;</description><author>jsh003guardz63</author><pubDate>Tue, 19 Jul 2011 16:17:21 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110719041721P</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: jsh003guardz63 ** &lt;p&gt;Page 120 &amp;#8211; &amp;#8220;could cause bugs&amp;#8221; is incorrect. This &amp;#8220;is a defect in the design and&amp;#47;or implementation&amp;#8221; or &amp;#8220;might result in unintended behaviour&amp;#8221;, but it doesn&amp;#8217;t &amp;#8220;cause bugs&amp;#8221;.&lt;/p&gt;</description><author>jsh003guardz63</author><pubDate>Tue, 19 Jul 2011 16:14:49 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110719041449P</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: jsh003guardz63 ** &lt;p&gt;Minor typo - page 131. &amp;#34;proved by the Concurrency Runtime&amp;#34; should be &amp;#34;provided by the Concurrency Runtime &amp;#34;.&lt;/p&gt;</description><author>jsh003guardz63</author><pubDate>Tue, 19 Jul 2011 16:10:48 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110719041048P</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: jsh003guardz63 ** &lt;p&gt;Minor typo - page 72. &amp;#34;that implied data flow&amp;#34; should be &amp;#34;than implied data flow&amp;#34;.&lt;/p&gt;</description><author>jsh003guardz63</author><pubDate>Tue, 19 Jul 2011 16:09:50 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110719040950P</guid></item><item><title>Reviewed: Book Companion Release 1.0 (Jun 16, 2011)</title><link>http://parallelpatternscpp.codeplex.com/releases/view/60830#ReviewBy-smartljb</link><description>Rated 3 Stars &amp;#40;out of 5&amp;#41; - first time in here</description><author>smartljb</author><pubDate>Thu, 16 Jun 2011 13:41:57 GMT</pubDate><guid isPermaLink="false">Reviewed: Book Companion Release 1.0 (Jun 16, 2011) 20110616014157P</guid></item><item><title>Commented Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;Comments: ** Comment from web user: AdeMiller ** &lt;p&gt;There is an in Considerations for Small Loop Bodies section of fourth chapter&amp;#58;&lt;br /&gt; &lt;br /&gt;When you have small loop bodies, you can apply the techniques that were described in Chapter 3, &amp;#34;Parallel Loops&amp;#34; in the &amp;#34;Special Handling of Small Loop Bodies&amp;#34; section.&lt;br /&gt; &lt;br /&gt;But Parallel Loops is not the third chapter but second.&lt;br /&gt;&lt;/p&gt;</description><author>AdeMiller</author><pubDate>Thu, 12 May 2011 14:42:55 GMT</pubDate><guid isPermaLink="false">Commented Issue: Book Errata [573] 20110512024255P</guid></item><item><title>Created Issue: Book Errata [573]</title><link>http://parallelpatternscpp.codeplex.com/workitem/573</link><description>This issue is designed for tracking errata in the book text. Things like minor typos.&lt;br /&gt;&lt;br /&gt;Added as comments below...&lt;br /&gt;</description><author>AdeMiller</author><pubDate>Thu, 12 May 2011 14:42:29 GMT</pubDate><guid isPermaLink="false">Created Issue: Book Errata [573] 20110512024229P</guid></item><item><title>Updated Wiki: Home</title><link>http://parallelpatternscpp.codeplex.com/wikipage?version=44</link><description>
&lt;div class="wikidoc"&gt;
&lt;h3&gt;Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Design Patterns for Decomposition and Coordination on Multicore Architectures&lt;/strong&gt;
&lt;br&gt;
Colin Campbell and Ade Miller. Forewords by Tony Hey and Herb Sutter&lt;/p&gt;
&lt;img title="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=parallelpatternscpp&amp;DownloadId=208861" alt="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" align="right" style="padding-right:0.5em; display:inline; float:right"&gt;
 A book that introduces&amp;nbsp;C&amp;#43;&amp;#43; programmers to patterns for including parallelism in their applications. Examples of these patterns are parallel loops, parallel tasks and data aggregation with map-reduce. Each pattern has its own chapter. Each chapter includes
 a description of the problem, an example of where the pattern is applicable, and code that implements the solution. On this site you will find; the accompanying code samples as well as answers to the end of chapter questions.&lt;/div&gt;
&lt;div class="wikidoc"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="wikidoc"&gt;&lt;a title="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" href="http://oreilly.com/catalog/0790145310507/" target="_blank"&gt;&lt;strong&gt;Order the hardcopy book or buy the eBook from O&amp;rsquo;Reilly&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="wikidoc"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="wikidoc"&gt;$29.99 for the hardcopy, $23.99 for the eBook.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;Also on Safari Books online and &lt;a title="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" href="http://www.amazon.com/gp/product/0735651752/ref=as_li_tf_tl?ie=UTF8&amp;tag=alpineclimbin-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0735651752" target="_blank"&gt;
Amazon.com&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a title="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" href="http://msdn.microsoft.com/en-us/library/gg675934.aspx" target="_blank"&gt;&lt;strong&gt;Read the book online in the MSDN Library&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read the book content for free on MSDN! &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;a title="Book Companion Release 1.0" href="http://parallelpatternscpp.codeplex.com/releases/view/60830" target="_self"&gt;Download the samples for each chapter&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The samples are written in C&amp;#43;&amp;#43; and use the &lt;a title="Parallel Patterns Library" href="http://msdn.microsoft.com/en-us/library/dd492418.aspx" target="_blank"&gt;
Parallel Patterns Library&lt;/a&gt;&amp;nbsp;and &lt;a title="Asynchronous Agents Library" href="http://msdn.microsoft.com/en-us/library/dd492627.aspx" target="_blank"&gt;
Asynchronous Agents Library&lt;/a&gt;&amp;nbsp;that shipped with &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions"&gt;
Visual Studio 2010&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;System Requirements&lt;/strong&gt; &lt;br&gt;
&lt;br&gt;
You will need Visual C&amp;#43;&amp;#43; and at least &lt;a href="http://www.microsoft.com/express/"&gt;
Visual C&amp;#43;&amp;#43; 2010 Express&lt;/a&gt; to run the samples. However, you will need &lt;a href="http://www.microsoft.com/visualstudio/en-us/download"&gt;
Visual Studio 2010 Ultimate&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt; to use some the parallel diagnostic tools such as the Concurrency Visualizer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Relevant Blogs and Resources&lt;/strong&gt; &lt;br&gt;
&lt;br&gt;
Here are some blogs that will keep you up to date with what&amp;rsquo;s happening with this guide and with parallel programming at Microsoft.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://www.ademiller.com/blogs/tech/"&gt;Ade Miller: #2782&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt; - patterns &amp;amp; practices development lead and book author.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://blogs.msdn.com/nativeconcurrency/default.aspx"&gt;Parallel Programming in Native Code&lt;/a&gt; &amp;ndash; The native concurrency team&amp;rsquo;s blog.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://blogs.msdn.com/b/vcblog/" target="_blank"&gt;Visual C&amp;#43;&amp;#43; Team Blog&lt;/a&gt; - The Microsoft Visual C&amp;#43;&amp;#43; team's blog.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://herbsutter.com/" target="_blank"&gt;Sutter's Mill&lt;/a&gt; - Herb Sutter's blog&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=0e70b21e-3f10-4635-9af2-e2f7bddba4ae"&gt;Patterns and Practices for parallel programming in C&amp;#43;&amp;#43;&lt;/a&gt; - A white paper from the native concurrency team.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://code.msdn.microsoft.com/concrtextras"&gt;Code samples for the Concurrency Runtime and Parallel Pattern Library in Visual Studio 2010&lt;/a&gt; &amp;ndash; Additional code samples.&lt;/div&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;div id="x_x_x_x_x_x_x_x__mcePaste" style="width:1px; height:1px; overflow:hidden; top:0px; left:-10000px"&gt;
&amp;#65279;&lt;/div&gt;
</description><author>AdeMiller</author><pubDate>Fri, 11 Mar 2011 19:29:49 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110311072949P</guid></item><item><title>Updated Wiki: Home</title><link>http://parallelpatternscpp.codeplex.com/wikipage?version=43</link><description>
&lt;div class="wikidoc"&gt;
&lt;h3&gt;Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Design Patterns for Decomposition and Coordination on Multicore Architectures&lt;/strong&gt;
&lt;br&gt;
Colin Campbell and Ade Miller. Forewords by Tony Hey and Herb Sutter&lt;/p&gt;
&lt;img title="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=parallelpatternscpp&amp;DownloadId=208861" alt="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" align="right" style="padding-right:0.5em; display:inline; float:right"&gt;
 A book that introduces&amp;nbsp;C&amp;#43;&amp;#43; programmers to patterns for including parallelism in their applications. Examples of these patterns are parallel loops, parallel tasks and data aggregation with map-reduce. Each pattern has its own chapter. Each chapter includes
 a description of the problem, an example of where the pattern is applicable, and code that implements the solution. On this site you will find; the accompanying code samples as well as answers to the end of chapter questions.&lt;/div&gt;
&lt;div class="wikidoc"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="wikidoc"&gt;&lt;a title="http://oreilly.com/catalog/0790145310507/" href="http://oreilly.com/catalog/0790145310262" target="_blank"&gt;&lt;strong&gt;Order the hardcopy book or buy the eBook from O&amp;rsquo;Reilly&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="wikidoc"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="wikidoc"&gt;$29.99 for the hardcopy, $23.99 for the eBook.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;Also on Safari Books online and &lt;a title="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" href="http://www.amazon.com/gp/product/0735651752/ref=as_li_tf_tl?ie=UTF8&amp;tag=alpineclimbin-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0735651752" target="_blank"&gt;
Amazon.com&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a title="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" href="http://msdn.microsoft.com/en-us/library/gg675934.aspx" target="_blank"&gt;&lt;strong&gt;Read the book online in the MSDN Library&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read the book content for free on MSDN! &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;a title="Book Companion Release 1.0" href="http://parallelpatternscpp.codeplex.com/releases/view/60830" target="_self"&gt;Download the samples for each chapter&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The samples are written in C&amp;#43;&amp;#43; and use the &lt;a title="Parallel Patterns Library" href="http://msdn.microsoft.com/en-us/library/dd492418.aspx" target="_blank"&gt;
Parallel Patterns Library&lt;/a&gt;&amp;nbsp;and &lt;a title="Asynchronous Agents Library" href="http://msdn.microsoft.com/en-us/library/dd492627.aspx" target="_blank"&gt;
Asynchronous Agents Library&lt;/a&gt;&amp;nbsp;that shipped with &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions"&gt;
Visual Studio 2010&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;System Requirements&lt;/strong&gt; &lt;br&gt;
&lt;br&gt;
You will need Visual C&amp;#43;&amp;#43; and at least &lt;a href="http://www.microsoft.com/express/"&gt;
Visual C&amp;#43;&amp;#43; 2010 Express&lt;/a&gt; to run the samples. However, you will need &lt;a href="http://www.microsoft.com/visualstudio/en-us/download"&gt;
Visual Studio 2010 Ultimate&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt; to use some the parallel diagnostic tools such as the Concurrency Visualizer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Relevant Blogs and Resources&lt;/strong&gt; &lt;br&gt;
&lt;br&gt;
Here are some blogs that will keep you up to date with what&amp;rsquo;s happening with this guide and with parallel programming at Microsoft.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://www.ademiller.com/blogs/tech/"&gt;Ade Miller: #2782&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt; - patterns &amp;amp; practices development lead and book author.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://blogs.msdn.com/nativeconcurrency/default.aspx"&gt;Parallel Programming in Native Code&lt;/a&gt; &amp;ndash; The native concurrency team&amp;rsquo;s blog.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://blogs.msdn.com/b/vcblog/" target="_blank"&gt;Visual C&amp;#43;&amp;#43; Team Blog&lt;/a&gt; - The Microsoft Visual C&amp;#43;&amp;#43; team's blog.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://herbsutter.com/" target="_blank"&gt;Sutter's Mill&lt;/a&gt; - Herb Sutter's blog&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=0e70b21e-3f10-4635-9af2-e2f7bddba4ae"&gt;Patterns and Practices for parallel programming in C&amp;#43;&amp;#43;&lt;/a&gt; - A white paper from the native concurrency team.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://code.msdn.microsoft.com/concrtextras"&gt;Code samples for the Concurrency Runtime and Parallel Pattern Library in Visual Studio 2010&lt;/a&gt; &amp;ndash; Additional code samples.&lt;/div&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;div id="x_x_x_x_x_x_x__mcePaste" style="width:1px; height:1px; overflow:hidden; top:0px; left:-10000px"&gt;
&amp;#65279;&lt;/div&gt;
</description><author>AdeMiller</author><pubDate>Fri, 11 Mar 2011 19:28:40 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110311072840P</guid></item><item><title>Updated Wiki: Home</title><link>http://parallelpatternscpp.codeplex.com/wikipage?version=42</link><description>
&lt;div class="wikidoc"&gt;
&lt;h3&gt;Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Design Patterns for Decomposition and Coordination on Multicore Architectures&lt;/strong&gt;
&lt;br&gt;
Colin Campbell and Ade Miller. Forewords by Tony Hey and Herb Sutter&lt;/p&gt;
&lt;img title="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=parallelpatternscpp&amp;DownloadId=208861" alt="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" align="right" style="padding-right:0.5em; display:inline; float:right"&gt;
 A book that introduces&amp;nbsp;C&amp;#43;&amp;#43; programmers to patterns for including parallelism in their applications. Examples of these patterns are parallel loops, parallel tasks and data aggregation with map-reduce. Each pattern has its own chapter. Each chapter includes
 a description of the problem, an example of where the pattern is applicable, and code that implements the solution. On this site you will find; the accompanying code samples as well as answers to the end of chapter questions.&lt;/div&gt;
&lt;div class="wikidoc"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="wikidoc"&gt;&lt;a title="http://oreilly.com/catalog/0790145310507/" href="http://oreilly.com/catalog/0790145310262" target="_blank"&gt;&lt;strong&gt;Order the hardcopy book or buy the eBook from O&amp;rsquo;Reilly&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="wikidoc"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="wikidoc"&gt;$29.99 for the hardcopy, $23.99 for the eBook.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;Also on Safari Books online and &lt;a title="http://www.amazon.com/dp/0735651752?tag=alpineclimbin-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=0735651752&amp;adid=1MCMFJ53ZT963MZXHPQY&amp;" href="http://www.amazon.com/gp/product/0735651752/ref=as_li_tf_tl?ie=UTF8&amp;tag=alpineclimbin-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0735651752" target="_blank"&gt;
Amazon.com&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a title="Parallel Programming with Microsoft Visual C&amp;#43;&amp;#43;" href="http://msdn.microsoft.com/en-us/library/gg675934.aspx" target="_blank"&gt;&lt;strong&gt;Read the book online in the MSDN Library&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read the book content for free on MSDN! &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;a title="Book Companion Release 1.0" href="http://parallelpatternscpp.codeplex.com/releases/view/60830" target="_self"&gt;Download the samples for each chapter&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The samples are written in C&amp;#43;&amp;#43; and use the &lt;a title="Parallel Patterns Library" href="http://msdn.microsoft.com/en-us/library/dd492418.aspx" target="_blank"&gt;
Parallel Patterns Library&lt;/a&gt;&amp;nbsp;and &lt;a title="Asynchronous Agents Library" href="http://msdn.microsoft.com/en-us/library/dd492627.aspx" target="_blank"&gt;
Asynchronous Agents Library&lt;/a&gt;&amp;nbsp;that shipped with &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions"&gt;
Visual Studio 2010&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;System Requirements&lt;/strong&gt; &lt;br&gt;
&lt;br&gt;
You will need Visual C&amp;#43;&amp;#43; and at least &lt;a href="http://www.microsoft.com/express/"&gt;
Visual C&amp;#43;&amp;#43; 2010 Express&lt;/a&gt; to run the samples. However, you will need &lt;a href="http://www.microsoft.com/visualstudio/en-us/download"&gt;
Visual Studio 2010 Ultimate&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt; to use some the parallel diagnostic tools such as the Concurrency Visualizer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Relevant Blogs and Resources&lt;/strong&gt; &lt;br&gt;
&lt;br&gt;
Here are some blogs that will keep you up to date with what&amp;rsquo;s happening with this guide and with parallel programming at Microsoft.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://www.ademiller.com/blogs/tech/"&gt;Ade Miller: #2782&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt; - patterns &amp;amp; practices development lead and book author.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://blogs.msdn.com/nativeconcurrency/default.aspx"&gt;Parallel Programming in Native Code&lt;/a&gt; &amp;ndash; The native concurrency team&amp;rsquo;s blog.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://blogs.msdn.com/b/vcblog/" target="_blank"&gt;Visual C&amp;#43;&amp;#43; Team Blog&lt;/a&gt; - The Microsoft Visual C&amp;#43;&amp;#43; team's blog.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://herbsutter.com/" target="_blank"&gt;Sutter's Mill&lt;/a&gt; - Herb Sutter's blog&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=0e70b21e-3f10-4635-9af2-e2f7bddba4ae"&gt;Patterns and Practices for parallel programming in C&amp;#43;&amp;#43;&lt;/a&gt; - A white paper from the native concurrency team.&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div class="wikidoc"&gt;&lt;a href="http://code.msdn.microsoft.com/concrtextras"&gt;Code samples for the Concurrency Runtime and Parallel Pattern Library in Visual Studio 2010&lt;/a&gt; &amp;ndash; Additional code samples.&lt;/div&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;div id="x_x_x_x_x_x__mcePaste" style="width:1px; height:1px; overflow:hidden; top:0px; left:-10000px"&gt;
&amp;#65279;&lt;/div&gt;
</description><author>AdeMiller</author><pubDate>Fri, 11 Mar 2011 19:26:48 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110311072648P</guid></item><item><title>Updated Release: Book Companion Release 1.0 (Feb 12, 2011)</title><link>http://parallelpatternscpp.codeplex.com/releases/view/60830</link><description>&lt;div class="wikidoc"&gt;This is the final release to accompany &lt;i&gt;Parallel Programming with Microsoft&amp;#174; Visual C++&lt;/i&gt;. It includes:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;The C++ sample code for every chapter.&lt;/li&gt;
&lt;li&gt;An additional PDF containing answers to the end of chapter questions.&lt;/li&gt;
&lt;li&gt;Color versions of the screen shots in Appendix B.&lt;/li&gt;&lt;/ul&gt;
&lt;b&gt;System Requirements&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You will need at least &lt;a href="http://www.microsoft.com/express/" class="externalLink"&gt;Visual C++ 2010 Express&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to run the samples. However, you will need &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ultimate" class="externalLink"&gt;Visual Studio 2010 Ultimate&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to use some the parallel diagnostic tools such as the Concurrency Visualizer. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; Visual Studio Express users will see the following message when you open the Visual Studio solution (.sln) file for each of these samples: &amp;quot;Solution Folders are not supported in this version of Visual Studio. Solution Folder &amp;#39;Solution Items&amp;#39; will be displayed as unavailable.&amp;quot; Although this folder is not available in Visual Studio Express, you can still build and run the projects. A separate &amp;quot;Book Samples - Express&amp;quot; solution is also provided. Refer to the README.txt file for a brief description of each project and which chapter it relates to.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Getting the Book&lt;/b&gt;&lt;br /&gt;The eBook is already available from &lt;a href="http://oreilly.com/catalog/9780735651593/" class="externalLink"&gt;O&amp;#39;Reilly&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and &lt;a href="http://my.safaribooksonline.com/9780735651821" class="externalLink"&gt;Safari Books Online&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The printed book can also be pre-ordered from &lt;a href="http://oreilly.com/catalog/9780735651593/" class="externalLink"&gt;O&amp;#39;Reilly&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Most of the content is also available on the &lt;a href="http://msdn.microsoft.com/en-us/library/ff963553.aspx" class="externalLink"&gt;MSDN Library: Parallel programming with Microsoft .NET&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The layout isn’t as nice but all the content is there.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>AdeMiller</author><pubDate>Tue, 08 Mar 2011 01:14:24 GMT</pubDate><guid isPermaLink="false">Updated Release: Book Companion Release 1.0 (Feb 12, 2011) 20110308011424A</guid></item></channel></rss>