<?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 C++ exceptions to abort spawned work? in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/C-exceptions-to-abort-spawned-work/m-p/740063#M64</link>
    <description>&lt;DIV&gt;Thanks for the quick response! It turns out that some MIT students already have implemented the native inlet/abort features from Cilk5 in Cilk++ (I missed this on Google because I for my earlier post I had searched for "speculative Cilk-Plus" rather than "speculative Cilk++") Parallel game tree search was indeed the application I was interested in.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_presentation.pdf"&gt;http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_presentation.pdf&lt;/A&gt;&lt;/DIV&gt;&lt;A href="http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_paper.pdf"&gt;http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_paper.pdf&lt;/A&gt;&lt;DIV&gt;&lt;A href="http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_paper.pdf"&gt;&lt;/A&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;A href="http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha.tar.bz2" target="_blank"&gt;http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha.tar.bz2&lt;/A&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Rein&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Tue, 11 Jan 2011 10:27:45 GMT</pubDate>
    <dc:creator>rhalbersma</dc:creator>
    <dc:date>2011-01-11T10:27:45Z</dc:date>
    <item>
      <title>C++ exceptions to abort spawned work?</title>
      <link>https://community.intel.com/t5/Software-Archive/C-exceptions-to-abort-spawned-work/m-p/740061#M62</link>
      <description>&lt;DIV id="_mcePaste"&gt;The Cilk-Plus language specification is silent about speculative / non-deterministic parallelism. In particular, it does not state whether C++ exceptions can abort spawned work.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;The older Cilk++ specs explicitly ruled out such behavior:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;DIV id="_mcePaste"&gt;"... throwing an exception does not abort existing children or siblings of the strand in which the exception is thrown; these strands will run normally to completion. This behavior may changein a future version of the Intel Cilk++ SDK."&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;But still, given the old roots of Cilk in the world of parallel chess, it would be nice to have some sort of abort-mechanism. In particular, the behavior of JCilk would be nice to have:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;"JCilk extends the notion of abruptlycompletes to encompass the implicit aborting of any spawned sidecomputations along the path from the point where the exception isthrown to the point where it is caught&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif; padding: 0px; margin: 0px;"&gt;JCilk extends the notion of abruptlycompletes to encompass the implicit aborting of any spawned side computations along the path from the point where the exception isthrown to the point where it is caught."&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif; padding: 0px; margin: 0px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif; padding: 0px; margin: 0px;"&gt;Are there any technical obstacles from implementing such features in Cilk-Plus? I&lt;/SPAN&gt;s any such speculative parallelism on the roadmap for the near future of Cilk-Plus?&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Thanks!&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Rein&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 07 Jan 2011 20:14:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/C-exceptions-to-abort-spawned-work/m-p/740061#M62</guid>
      <dc:creator>rhalbersma</dc:creator>
      <dc:date>2011-01-07T20:14:41Z</dc:date>
    </item>
    <item>
      <title>C++ exceptions to abort spawned work?</title>
      <link>https://community.intel.com/t5/Software-Archive/C-exceptions-to-abort-spawned-work/m-p/740062#M63</link>
      <description>The obstacles to aborting C++ code are both technical and linguistic. There are few things more difficult than writing C++ code that is robust in the presence of exceptions. This difficulty is compounded ten-fold if the exception can occur asynchronously. For this reason, the C++ Standard committee chose not to define what happens if you throw an exception from a signal handler. In addition exceptions, especially asynchonous excpetions, get in the way of optimization. Java code is less susceptable to the problems because it does not have destructors and because it is not so focused on performance. Having had discussions with people who are intimately familiar with JCilk, it is not clear that the JCilk approach is the best approach even for Java.&lt;BR /&gt;&lt;BR /&gt;We are unlikely to use the JCilk approach to speculation in Intel Cilk Plus. Sadly, I can't give a timeline for any kind of speculation in Intel Cilk Plus. I can say only that the omission of speculation in the current offeringwas neither an oversite nor (solely) an inability to implement it.&lt;BR /&gt;&lt;BR /&gt;In the mean time, there are several polling techniques that can be used to explicitly return from a child (either normally or via an exception) if an abort is desired. The best approach probably depends on the specific application.&lt;BR /&gt;&lt;BR /&gt;- Pablo</description>
      <pubDate>Fri, 07 Jan 2011 22:04:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/C-exceptions-to-abort-spawned-work/m-p/740062#M63</guid>
      <dc:creator>Pablo_H_Intel</dc:creator>
      <dc:date>2011-01-07T22:04:04Z</dc:date>
    </item>
    <item>
      <title>C++ exceptions to abort spawned work?</title>
      <link>https://community.intel.com/t5/Software-Archive/C-exceptions-to-abort-spawned-work/m-p/740063#M64</link>
      <description>&lt;DIV&gt;Thanks for the quick response! It turns out that some MIT students already have implemented the native inlet/abort features from Cilk5 in Cilk++ (I missed this on Google because I for my earlier post I had searched for "speculative Cilk-Plus" rather than "speculative Cilk++") Parallel game tree search was indeed the application I was interested in.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_presentation.pdf"&gt;http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_presentation.pdf&lt;/A&gt;&lt;/DIV&gt;&lt;A href="http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_paper.pdf"&gt;http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_paper.pdf&lt;/A&gt;&lt;DIV&gt;&lt;A href="http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha_paper.pdf"&gt;&lt;/A&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;A href="http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha.tar.bz2" target="_blank"&gt;http://courses.csail.mit.edu/6.884/spring10/projects/rmperez-gmalecha.tar.bz2&lt;/A&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Rein&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 11 Jan 2011 10:27:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/C-exceptions-to-abort-spawned-work/m-p/740063#M64</guid>
      <dc:creator>rhalbersma</dc:creator>
      <dc:date>2011-01-11T10:27:45Z</dc:date>
    </item>
  </channel>
</rss>

