<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Russel,<br>
    <br>
    You're making this way more complicated than it needs to be, and I
    think unintentionally making the parallelism much more fine-grained
    than it should be.  (This may be my fault for not making the docs
    better.)  You manually create blocks for the various threads to work
    on, and then reduce(), etc. does the same thing again.  I've
    attached a version that's much simpler and more idiomatic and gives
    near-linear speedups.  I've also put something very similar in the
    documentation
    (<a class="moz-txt-link-freetext" href="http://cis.jhu.edu/~dsimcha/d/phobos/std_parallelism.html#reduce">http://cis.jhu.edu/~dsimcha/d/phobos/std_parallelism.html#reduce</a>)
    as an example of using std.algorithm.map with TaskPool.reduce() and
    given you credit for the idea.<br>
    <br>
    --Dave<br>
    <br>
    On 3/6/2011 12:23 PM, Russel Winder wrote:
    <blockquote cite="mid:1299432191.3068.140.camel@anglides"
      type="cite">
      <pre wrap="">On Sun, 2011-03-06 at 11:57 -0500, David Simcha wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Please post the full code somewhere.  The second one really should
scale better, and I want to understand in context how you're
parallelizing this.
</pre>
      </blockquote>
      <pre wrap="">
No problem.  All the codes of all the variations in all the languages
are in a Bazaar branch which can be branched from
<a class="moz-txt-link-freetext" href="http://www.russel.org.uk/Bazaar/Pi_Quadrature">http://www.russel.org.uk/Bazaar/Pi_Quadrature</a> or if you just want to
browse the the URL is <a class="moz-txt-link-freetext" href="http://www.russel.org.uk:8080/Pi_Quadrature/">http://www.russel.org.uk:8080/Pi_Quadrature/</a>

This is a simple one stage scatter/gather, that is basically a large
number of additions partition to maximize use of processors.  It should
be embarrassingly parallel.

I use SCons as a compilation driver so as to not have to remember
lengthy command lines, but it is almost certainly the case that there
are a number of assumptions in the SConstruct file about location or
existence of environment variables.

</pre>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
phobos mailing list
<a class="moz-txt-link-abbreviated" href="mailto:phobos@puremagic.com">phobos@puremagic.com</a>
<a class="moz-txt-link-freetext" href="http://lists.puremagic.com/mailman/listinfo/phobos">http://lists.puremagic.com/mailman/listinfo/phobos</a></pre>
    </blockquote>
    <br>
  </body>
</html>