std.concurrency wrapper over MPI?

Russel Winder russel at russel.org.uk
Sat Aug 6 07:59:10 PDT 2011


On Sat, 2011-08-06 at 10:09 -0400, dsimcha wrote:
[ . . . ]
> Anyhow, D has one key advantage that makes it more tolerant of 
> communication overhead than most languages:  std.parallelism.  At least 
> the way things are set up on the cluster here at Johns Hopkins, each 
> node has 8 cores.  The "traditional" MPI way of doing things is 
> apparently to allocate 8 MPI processes per node in this case, one per 
> core.  Instead, I'm allocating one process per node, using MPI only for 
> very coarse grained parallelism and using std.parallelism for more 
> fine-grained parallelism to keep all 8 cores occupied with one MPI process.

I think increasingly the idiom in the Fortran/C/C++ HPC community is to
use MPI on a per address space basis, rather than a per ALU basis, and
to use OpenMP to handle the thread control in a given address space
handling the multicores.  (OpenMP being something totally different to
OpenMPI.)

In the C++ arena though there is Threading Building Blocks (TBB) which
has element of arcane-ness but is a whole lot better than OpenMP.

As you point out there are much better, generally higher-level,
abstractions that would make HPC code faster as well as much, much
easier to maintain.  However even with Intel's high budget marketing of
some of the alternatives, the HPC community seem steadfast in their
support of MPI and OpenMP.  Of course they also have codes from the
1970s and 1980s they are in continued use because no-one is prepared to
rewrite them.
 
-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20110806/75442196/attachment.pgp>


More information about the Digitalmars-d mailing list