Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Take a look at <a href="http://braddock.com/~braddock/future/" rel="nofollow noreferrer">boost::future</a> (but see also this <a href="http://comments.gmane.org/gmane.comp.lib.boost.announce/220" rel="nofollow noreferrer">discussion</a> and <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2561.html" rel="nofollow noreferrer">proposal</a>) which looks like a really nice foundation for parallelism (in particular it seems to offer excellent support for C-depends-on-A-and-B type situations).</p> <p>I looked at OpenMP a bit but (like you) wasn't convinced it would work well for anything but Fortran/C numeric code. Intel's <a href="http://en.wikipedia.org/wiki/Intel_Threading_Building_Blocks" rel="nofollow noreferrer">Threading Building Blocks</a> looked more interesting to me.</p> <p>If it comes to it, it's not too hard to <a href="http://voluminium.svn.sourceforge.net/viewvc/voluminium/trunk/libcelebritas/" rel="nofollow noreferrer">roll your own</a> on top of boost::thread. [Explanation: a thread <a href="http://voluminium.svn.sourceforge.net/viewvc/voluminium/trunk/libcelebritas/farm.h?view=markup" rel="nofollow noreferrer">farm</a> (most people would call it a pool) draws work from a thread-safe <a href="http://voluminium.svn.sourceforge.net/viewvc/voluminium/trunk/libcelebritas/queue.h?view=markup" rel="nofollow noreferrer">queue</a> of functors (tasks or jobs). See the <a href="http://voluminium.svn.sourceforge.net/viewvc/voluminium/trunk/libcelebritas/farm_test.cpp?view=markup" rel="nofollow noreferrer">tests</a> and <a href="http://voluminium.svn.sourceforge.net/viewvc/voluminium/trunk/libcelebritas/farm_bench.cpp?view=markup" rel="nofollow noreferrer">benchmark</a> for examples of use. I have some extra complication to (optionally) support tasks with priorities, and the case where executing tasks can spawn more tasks into the work queue (this makes knowing when all the work is actually completed a bit more problematic; the references to "pending" are the ones which can deal with the case). Might give you some ideas anyway.]</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload