<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx</link><description>In the next several blog posts I want to continue the early look of what we're considering in the Concurrency Runtime and the Parallel Libraries built on top of it. Today, I'll share primitives for expressing fine-grained parallelism and concurrency.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8677873</link><pubDate>Tue, 01 Jul 2008 20:16:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8677873</guid><dc:creator>aaron</dc:creator><description>&lt;p&gt;I notice that reference semantics were used for the lambdas here. &amp;nbsp;I was curious if that offers any particular value -- couldn't value semantics also be used, allowing for less indirection? &amp;nbsp;ex:&lt;/p&gt;
&lt;p&gt;g.run([]{quicksort(a,s);});&lt;/p&gt;
&lt;p&gt;#aaron&lt;/p&gt;
</description></item><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8677984</link><pubDate>Tue, 01 Jul 2008 20:42:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8677984</guid><dc:creator>rickmolloy</dc:creator><description>&lt;p&gt;Value semantics could just as easily used, but you would need to capture the variables explicitly so it would look like this:&lt;/p&gt;
&lt;p&gt; &amp;nbsp;g.run([a,s](){quicksort(a,s);});&lt;/p&gt;
</description></item><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8678230</link><pubDate>Tue, 01 Jul 2008 21:54:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8678230</guid><dc:creator>Ben L</dc:creator><description>&lt;p&gt;This blog is exactly what I'm looking for. But there is no mention of what libraries this uses. Is this an upcoming library or one I can use? All I'm finding are .net assemblies.&lt;/p&gt;
</description></item><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8678585</link><pubDate>Tue, 01 Jul 2008 23:46:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8678585</guid><dc:creator>rickmolloy</dc:creator><description>&lt;p&gt;I'm glad it's helpful to you. &amp;nbsp;As I mentioned, this is technology we're currently exploring and I don't have any ship or CTP dates to announce. &amp;nbsp;I will definitely make sure to post any of information if it becomes public.&lt;/p&gt;
</description></item><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8678906</link><pubDate>Wed, 02 Jul 2008 01:28:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8678906</guid><dc:creator>fredo</dc:creator><description>&lt;p&gt;are you aware of some effort put by the boost library to develop such concurrent primitives library?&lt;/p&gt;
&lt;p&gt;it's already working and uses functors instead of lambdas for imediate availability...&lt;/p&gt;
&lt;p&gt;why don't help them instead of reinventing the wheel, as their implementation has great potential to become a c++ standard ?&lt;/p&gt;
</description></item><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8684909</link><pubDate>Thu, 03 Jul 2008 20:45:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8684909</guid><dc:creator>aaron</dc:creator><description>&lt;p&gt;fredo,&lt;/p&gt;
&lt;p&gt;You may want to note that C++0x lambdas are a shorthand way of implementing functors. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think at this point the C++ standards folks have their hands full adding memory atomics, barriers, threads, and intialization semantics, to be supported over all ranges of computing hardware, not just desktop and server PC's. &amp;nbsp;But I agree it would be very interesting to see other concurrency primitives libraries enter the C++ standard at some point.&lt;/p&gt;
&lt;p&gt;#aaron&lt;/p&gt;
</description></item><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8685701</link><pubDate>Fri, 04 Jul 2008 00:33:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8685701</guid><dc:creator>rickmolloy</dc:creator><description>&lt;p&gt;functors are intended to have full support. &amp;nbsp;It's a lot more convenient, particularly in a blog, to use lambdas than it is to create a functor and construct it. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Writing:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; tg.run([&amp;amp;i]{doSomething(i);})&lt;/p&gt;
&lt;p&gt;is a lot easier than writing the following:&lt;/p&gt;
&lt;p&gt;class DoSomethingFunctor{&lt;/p&gt;
&lt;p&gt;private:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; const int&amp;amp; i_;&lt;/p&gt;
&lt;p&gt;public:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; DoSomethingFunctor(const int&amp;amp; i):i_(i){};&lt;/p&gt;
&lt;p&gt; &amp;nbsp; void operator()(){&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;doSomething(i_);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;};&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;tg.run(DoSomethingFunctor(i));&lt;/p&gt;
</description></item><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8686386</link><pubDate>Fri, 04 Jul 2008 04:38:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8686386</guid><dc:creator>Art Scott</dc:creator><description>&lt;p&gt;I'm way interested.&lt;/p&gt;
&lt;p&gt;Thanks for the blog.&lt;/p&gt;
&lt;p&gt;Any chance of using F# for some examples?&lt;/p&gt;
&lt;p&gt;And more graphics examples, less PLINQ?&lt;/p&gt;
</description></item><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8686669</link><pubDate>Fri, 04 Jul 2008 06:09:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8686669</guid><dc:creator>rickmolloy</dc:creator><description>&lt;p&gt;Art,&lt;/p&gt;
&lt;p&gt;take a look at the parallel extensions team blog if you haven't already and they have a downloadable CTP available: &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/pfxteam/"&gt;http://blogs.msdn.com/pfxteam/&lt;/a&gt; &lt;/p&gt;
</description></item><item><title>re: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#8708271</link><pubDate>Tue, 08 Jul 2008 16:36:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8708271</guid><dc:creator>Arch Robison</dc:creator><description>&lt;p&gt;There's a subset implementation of task_group at &lt;a rel="nofollow" target="_new" href="http://softwareblogs.intel.com/2008/07/02/implementing-task_group-interface-in-tbb/"&gt;http://softwareblogs.intel.com/2008/07/02/implementing-task_group-interface-in-tbb/&lt;/a&gt; . &amp;nbsp;I implemented enough functionality there to support examples like quicksort.&lt;/p&gt;
</description></item><item><title>Parallel Tasks � new VS2010 debugger window</title><link>http://blogs.msdn.com/nativeconcurrency/archive/2008/07/01/guided-tour-of-the-concurrency-runtime-and-parallel-libraries-part-1-supporting-fine-grained-tasks.aspx#9618225</link><pubDate>Fri, 15 May 2009 13:05:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9618225</guid><dc:creator>Daniel Moth</dc:creator><description>&lt;p&gt;Parallel Tasks � new Visual Studio 2010 debugger window&lt;/p&gt;
</description></item></channel></rss>