Parallelism in D?
    Tim Burrell 
    tim at timburrell.net
       
    Fri Mar 28 10:31:52 PDT 2008
    
    
  
Ansible wrote:
> Parallel programming being the Next Big Thing these days, I'm wondering 
> what is out there as far as parallel programming 
> libraries/utilities/whatever for D?
> 
> Has anyone created a D layer for MPI, for instance?  What about 
> transactional memory?
> 
> I have a game engine that I wrote in C++ and I'm thinking about porting 
> to D one of these days.  Making use of those extra cores is high on the 
> priority list for me in the future.
I'm with you.  OpenMP support (or something similar) would really be 
ideal.  I think if D wants to continue to sway developers from other 
system languages parallel support is a must have.  Maybe gdc could be a 
reasonable path to OpenMP as it already has support for C and C++ (and I 
think Obj-C too).
Honestly even MPI isn't really sufficient these days.  MPI is [sort-of] 
great for doing clustered / distributed stuff, but no where near where 
we need to be for SMP / shared memory parallelism.
Pretty much every C++ compiler has OpenMP support these days, so it's a 
bit sad to see D lagging in this respect.  OpenMP is by no means the 
be-all / end-all of parallelism, but it's a lot better than nothing.
I get why it's a non-trivial thing for D -- first of all the use of mark 
/ sweep style GC means parallelism is more difficult.  Obviously you 
can't have a parallel system where every thread is halted whenever a 
sweep occurs, so I suspect some fairly major redesign would have to 
occur?  I'm open to being wrong about this though...
Personally I think a more advanced memory management scheme would be a 
good thing anyway, but perhaps that's just me :).
    
    
More information about the Digitalmars-d-learn
mailing list