<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Fri, 25 May 2012 22:26:21 -0700 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network Comments Feed</title>
    <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>By Mallesh</title>
      <description><![CDATA[ I think, this is simple logic for effective solution for most of the applications using number of threads based on CPU (core) with tasks in parallelism.
Application can create number of threads based on CPU_cores (Environment.ProcessorCount) and assign taks to those threads. ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-43328</link>
      <pubDate>Thu, 13 May 2010 07:14:53 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-43328</guid>
    </item>
    <item>
      <title>By Hugo Van den Berg</title>
      <description><![CDATA[ The Fibonacci example is poorly implemented, even for tasks. First Fib(n-1) is obtained, then Fib(n-2). But in obtaining Fib(n-1), Fib(n-2) is already accessed (Fib(n-2) is also Fib((n-1)-1)) and instead of reusing this value the Fib function is called again. This makes this algorithm perform linear to n^2 instead of linear to n, which would be the case if the value of Fib(n-2) were reused.

The article is clear and useful, but you need a better (or at least a correctly implemented) example. Why not try Takeuchi? ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-43439</link>
      <pubDate>Mon, 17 May 2010 05:22:13 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-43439</guid>
    </item>
    <item>
      <title>By Eric Moore (Intel)</title>
      <description><![CDATA[ In general task based programming based on TBB, Cilk, OpenMP and some others, is the way to go for most programmers (it is a nice compromise between code complexity and scalability)... One issue to realize that when doing "task" based programming, is that thread state is not guaranteed between tasks.  So therefore - things like changing the FP exception state of the CPU - is not guaranteed to be there for a subsequent task (as the context switch of the OS normally sets that for you on a per thread basis), therefore you will need to set/unset thread based state for each task invocation that needs something which is not the default for the entire process. ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-43929</link>
      <pubDate>Wed, 26 May 2010 14:38:06 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-43929</guid>
    </item>
    <item>
      <title>By Kirill</title>
      <description><![CDATA[ First Fibbonacci example can be rewritten better. First remark was left by Hugo Van den Berg, and there is another one. There is no need to spawn second task, because we already have a thread, that does nothing.
Was:
[code]
g.run([&]{x=Fib(n-1);});
g.run([&]{y=Fib(n-2);});
g.wait();
[/code]

Suggested:
[code]
g.run([&]{x=Fib(n-1);});
y=Fib(n-2);
g.wait();
[/code] ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-44259</link>
      <pubDate>Thu, 03 Jun 2010 04:14:31 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-44259</guid>
    </item>
    <item>
      <title>By pkroy</title>
      <description><![CDATA[ Using the same code gives me errors

 expected primary-expression before ‘[’ token
expected primary-expression before ‘]’ token
expected primary-expression before ‘[’ token
expected primary-expression before ‘]’ token

What could be the error ?

Thanks ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-44372</link>
      <pubDate>Sat, 05 Jun 2010 11:43:04 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-44372</guid>
    </item>
    <item>
      <title>By ilnarb</title>
      <description><![CDATA[ pkroy, seems like your compiler doesn't support lambdas. ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-53533</link>
      <pubDate>Thu, 16 Dec 2010 00:25:39 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-53533</guid>
    </item>
    <item>
      <title>By Game Engine Tasking Sample now live &amp;#8211; Intel Software Network Blogs</title>
      <description><![CDATA[ n/a ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-56981</link>
      <pubDate>Thu, 03 Mar 2011 12:10:39 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-56981</guid>
    </item>
    <item>
      <title>By  Game Engine Tasking Sample now live &amp;mdash; CaHLaS.com</title>
      <description><![CDATA[ n/a ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-59908</link>
      <pubDate>Thu, 19 May 2011 02:34:23 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-59908</guid>
    </item>
    <item>
      <title>By Gene</title>
      <description><![CDATA[ Unfortunately nothing was mentioned about filling up the thread pool queue. When the small tasks come and a thread queue is empty, and threads are suspended, it takes the same time for thread pool to resume the threads as in the case of allowing the OS to create new threads for those tasks. So for frequent short tasks that cause suspend/resume, thread pool performance is no better than spanning new threads and letting OS to map them into physical threads. The waste doesn't come from thread object creation/destruction, which is in nanosec/microsec range, but from the thread suspension/resumption, which is in millisec range. ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-60809</link>
      <pubDate>Thu, 16 Jun 2011 19:29:45 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-60809</guid>
    </item>
    <item>
      <title>By Intel Guide for Developing Multithreaded Applications | Conceptual Space</title>
      <description><![CDATA[ n/a ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-65503</link>
      <pubDate>Sat, 15 Oct 2011 21:53:29 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-65503</guid>
    </item>
    <item>
      <title>By brownsmith</title>
      <description><![CDATA[ Application can create number of threads based on CPU and assign taks to those threads. ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-66450</link>
      <pubDate>Tue, 08 Nov 2011 01:09:53 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-66450</guid>
    </item>
    <item>
      <title>By Intel Guide for Developing Multithreaded Applications | nullptr</title>
      <description><![CDATA[ n/a ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-69003</link>
      <pubDate>Mon, 02 Jan 2012 23:34:52 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-69003</guid>
    </item>
    <item>
      <title>By sumanthyssgmail.com</title>
      <description><![CDATA[ Can someone throw more light on the task directive when used in recursive functions? ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-72031</link>
      <pubDate>Sun, 25 Mar 2012 04:01:15 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-72031</guid>
    </item>
    <item>
      <title>By  Intel Guide for Developing Multithreaded Applications</title>
      <description><![CDATA[ n/a ]]></description>
      <link>http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-73940</link>
      <pubDate>Fri, 11 May 2012 02:33:18 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-tasks-instead-of-threads/#comment-73940</guid>
    </item>
  </channel></rss>
