std.parallelism: Final review

dsimcha dsimcha at yahoo.com
Sat Mar 19 12:26:19 PDT 2011


On 3/19/2011 3:08 PM, Caligo wrote:
>
>
> On Fri, Mar 4, 2011 at 3:05 PM, Lars T. Kyllingstad
> <public at kyllingen.nospamnet> wrote:
>
>     David Simcha has made a proposal for an std.parallelism module to be
>     included in Phobos.  We now begin the formal review process.
>
>     The code repository and documentation can be found here:
>
>     https://github.com/dsimcha/std.parallelism/wiki
>     http://cis.jhu.edu/~dsimcha/d/phobos/std_parallelism.html
>     <http://cis.jhu.edu/%7Edsimcha/d/phobos/std_parallelism.html>
>
>     Please review the code and the API, and post comments in this thread
>     within the next three weeks.
>
>     On 25 March I will start a new thread for voting over the inclusion of
>     the module.  Voting will last one week, until 1 April.  Votes cast
>     before
>     or after this will not be counted.
>
>     David, do you have any comments?
>
>     -Lars
>
>
> Is std.parallelism better suited for data parallelism, task parallelism,
> or both?

Both to some degree, but with more emphasis on data parallelism.

> And how does it compare to something like OpenMP?

It was not **explicitly** designed to be an OMP killer, but supports 
parallel foreach(which can be made into parallel for using 
std.range.iota), and parallel reduce.  The synchronization primitives 
that OMP supports are already in druntime.

A major advantage over OpenMP is that std.parallelism is implemented 
within the language.  This means it's mostly portable across compilers 
and platforms and can easily be modified if you don't like something in 
it.  It also means that the syntax is more consistent with standard D 
syntax rather than being a bunch of weird looking pragmas.



More information about the Digitalmars-d mailing list