Co-arrays?

N.M. Maclaren nmm1@cam.ac.uk
Wed Jan 30 10:52:00 GMT 2013


On Jan 29 2013, Tobias Burnus wrote:
>
>> My contractor asked for other avenues using Fortran to improve
>> performance and, of course, this brought up co-arrays.
>
>If you are on a single shared-memory node, you could consider OpenMP; 
>that's one of the simpler approaches to retrofit parallelization to the 
>code. If you are using a distributed-memory machine, using MPI (Message 
>Passing Interface) could be currently the better approach - contrary to 
>coarrays it is very widely available and well tested. There are also a 
>few other possibilities …

MPI works equally well on single shared-memory nodes.  Despite being
involved with coarrays, I remain unconvinced that they any better than
a sort of shared-memory/MPI hybrid, with many of the disadvantages of
both.  The problem about MPI is that you have to distribute the data
explicitly and on day one.  The problems with OpenMP are even worse
that the PETSc people say - I am teaching it as I post, using gfortran
and gcc (which are NOT where the problems arise) :-)

I teach both (and describe various parallelism models) - see:

    http://people.ds.cam.ac.uk/nmm1/index.html


Regards,
Nick Maclaren.



More information about the Fortran mailing list