<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Unless you've got a *lot* of in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976368#M25060</link>
    <description>&lt;P&gt;Unless you've got a *lot* of nested cilk_for's you shouldn't be coming near the spawn depth limit.&amp;nbsp; cilk_for implements a divide-and-conquer algorithm that should divide your data into approximately 8P grains.&amp;nbsp; That usually results in a spawn of 3.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Barry&lt;/P&gt;</description>
    <pubDate>Tue, 19 Mar 2013 19:41:20 GMT</pubDate>
    <dc:creator>Barry_T_Intel</dc:creator>
    <dc:date>2013-03-19T19:41:20Z</dc:date>
    <item>
      <title>spawn depth</title>
      <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976366#M25058</link>
      <description>&lt;P&gt;Dear all, is the 1024 limit to spawn depth still valid? If so, is there any way we can run a sanity check to see whether we have reached that level while using a cilk_for? Thanks.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 19:28:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976366#M25058</guid>
      <dc:creator>leoferres</dc:creator>
      <dc:date>2013-03-19T19:28:34Z</dc:date>
    </item>
    <item>
      <title>Yes, the 1024 limit is still</title>
      <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976367#M25059</link>
      <description>&lt;P&gt;Yes, the 1024 limit is still in place.&lt;/P&gt;
&lt;P&gt;There's no easy way to check your spawn depth.&amp;nbsp; The only thing you could do is to&amp;nbsp;pass in a depth counter and increment it each spawn.&lt;/P&gt;
&lt;P&gt;Of course, the runtime sources are available on the cilkplus.org website at &lt;A href="http://cilkplus.org/download#runtime-sources"&gt;http://cilkplus.org/download#runtime-sources&lt;/A&gt;.&amp;nbsp; You should be able to change the limit by changing ltqsize in global_state.cpp.&amp;nbsp; It's currently hardcoded to 1024.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Barry&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 19:37:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976367#M25059</guid>
      <dc:creator>Barry_T_Intel</dc:creator>
      <dc:date>2013-03-19T19:37:05Z</dc:date>
    </item>
    <item>
      <title>Unless you've got a *lot* of</title>
      <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976368#M25060</link>
      <description>&lt;P&gt;Unless you've got a *lot* of nested cilk_for's you shouldn't be coming near the spawn depth limit.&amp;nbsp; cilk_for implements a divide-and-conquer algorithm that should divide your data into approximately 8P grains.&amp;nbsp; That usually results in a spawn of 3.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Barry&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 19:41:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976368#M25060</guid>
      <dc:creator>Barry_T_Intel</dc:creator>
      <dc:date>2013-03-19T19:41:20Z</dc:date>
    </item>
    <item>
      <title>Roughly speaking, a cilk_for</title>
      <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976369#M25061</link>
      <description>&lt;P&gt;Roughly speaking, a cilk_for over n iterations decomposes into a divide-and-conquer tree that has a spawn depth of at most lg n, give or take a small additive constant.&amp;nbsp;&amp;nbsp; To reach the spawn depth limit with a cilk_for loop, you would need something like a loop of n = 2^1000 iterations.&amp;nbsp; In other words, it seems highly unlikely that you are reaching the spawn depth limit with only a cilk_for.&amp;nbsp;&amp;nbsp;Usually, you need to be doing&amp;nbsp;many explicit _Cilk_spawn statements to&amp;nbsp;reach that limit.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;There are probably ways to reach into the runtime library, retrieve the current worker, and check the address of the worker's head and tail pointers.&amp;nbsp;&amp;nbsp; But I don't recall if these will require you to modify sources.&lt;/P&gt;
&lt;P&gt;If you were using icc, then it is also possible to look at the length of the current pedigree, and get an approximate value for the spawn depth.&lt;BR /&gt;&lt;BR /&gt;Is there a particular issue you are trying to debug?&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 19:45:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976369#M25061</guid>
      <dc:creator>Jim_S_Intel</dc:creator>
      <dc:date>2013-03-19T19:45:56Z</dc:date>
    </item>
    <item>
      <title>Thanks to both. Alright, I</title>
      <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976370#M25062</link>
      <description>&lt;P&gt;Thanks to both. Alright, I never thought of recompiling the runtime... that may come handy at some point in the future. Thanks.&lt;/P&gt;
&lt;P&gt;Jim, yes, we're trying to debug some cilkplus code with using gcc-cilk, and it's giving us&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;./../../gcc-cilk-src/libcilkrts/runtime/sysdep-unix.c:725: cilk assertion failed: sd-&amp;gt;stack_op_routine == NULL&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;we thought we may have achieved the spawn limit, but if as Jim says the cilk_for should be doing 2^1000 iters to reach the limit, then that's out of the question... maybe we're just running out of mem or segfaulting somewhere else.&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 19:55:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976370#M25062</guid>
      <dc:creator>leoferres</dc:creator>
      <dc:date>2013-03-19T19:55:49Z</dc:date>
    </item>
    <item>
      <title>Nope.  That's the TBB-interop</title>
      <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976371#M25063</link>
      <description>&lt;P&gt;Nope.&amp;nbsp; That's the TBB-interop stuff.&amp;nbsp; It's flagging a logic flaw.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Barry&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 20:12:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976371#M25063</guid>
      <dc:creator>Barry_T_Intel</dc:creator>
      <dc:date>2013-03-19T20:12:21Z</dc:date>
    </item>
    <item>
      <title>Agreed. I don't know what the</title>
      <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976372#M25064</link>
      <description>&lt;P&gt;Agreed. I don't know what the "tbb-interop" stuff is, but I agree it's a logic flaw somewhere else. In any case, being so wrong helped me understand a few other things about cilk. Thanks again.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 20:20:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976372#M25064</guid>
      <dc:creator>leoferres</dc:creator>
      <dc:date>2013-03-19T20:20:58Z</dc:date>
    </item>
    <item>
      <title>Trust me, you don't want to</title>
      <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976373#M25065</link>
      <description>&lt;P&gt;Trust me, you don't want to try to debug the TBB-interop stuff. &amp;nbsp;Can you give us a (small) program that reproduces the problem?&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; - Barry&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 20:23:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976373#M25065</guid>
      <dc:creator>Barry_T_Intel</dc:creator>
      <dc:date>2013-03-19T20:23:18Z</dc:date>
    </item>
    <item>
      <title>Oh, ok. I thought you meant a</title>
      <link>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976374#M25066</link>
      <description>&lt;P&gt;Oh, ok. I thought you meant a logic flaw in *my* code. And no, I wouldn't touch the TBB stuff with a ten-foot pole :)&lt;/P&gt;
&lt;P&gt;Let me debug my code a little bit longer... if the problem persists, I will try to reproduce the error and send it your way.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Mar 2013 20:29:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/spawn-depth/m-p/976374#M25066</guid>
      <dc:creator>leoferres</dc:creator>
      <dc:date>2013-03-19T20:29:42Z</dc:date>
    </item>
  </channel>
</rss>

