Hello,
Ian Chivers wrote:
> I'm currently updating our Fortran Resource file
> and wanted to get a feel for how many people were
> involved in parallel programming in Fortran.
I believe that two questions of greater pertinence are:
How many Fortran programmers would use parallel programming
if it were easier to do efficiently in Fortran?
-and-
How many Fortran programmers will be using parallel programming
when their desktop system is a multiprocessor?
When the state-of-the-art is changing as fast as it is today,
answers about the past don't say much about the future.
> the current file can be found at
>
> http://www.kcl.ac.uk/fortran/pdfs/fortran_resources.pdf
>
> In that file we identify the following types
> of parallel programming
>
> automatic
> co-array fortran
> hpf
> mpi
> openmp
> posix threads
>
> So could you take the time to answer the following questions.
>
> do you do parallel programming?
Yes, for 25+ years.
> if so which method do you use?
Co-arrays whenever possible.
Any of MPI, OpenMP, & pthreads, unfortunately, usually.
I haven't used HPF, PVM or tcgmsg in years.
Automatic usually isn't. That is, automatic parallelization
will work right after application compilers work (nearly) perfectly.
> if you currently are doing parallel programming
> would you move to co-arrays if they were
> available?
Every time. In a heartbeat.
The only downside to co-arrays is _if_ they are removed
from the f08 standard, and relegated to a secondary document,
there will be substantial doubt over the standard's commitment
to parallel programming. Aside from creating a subset standard
(that has proven to be disastrous every time it's been tried),
it will encourage vendors to _not_ implement co-arrays,
on the grounds that at least one motivation of the secondary document
is to enable the easy removal of co-arrays later.
> would you move to another hardware platform and operating
> system to be able to use co-arrays?
I think the term "another hardware platform" is ill-stated;
nearly everything is x86 these days. How different is different?
Many compiler vendors make their compilers available
for Windows and MacOSX and Linux. The availability of the compiler
is a greater concern than the OS.
And this question depends upon many variables beyond Fortran.
Such as, but not limited to: the overall performance of the systems
within my range of choice, what my customer wants me to use
(read: has available for their own use), the perceived need
for portability of the resulting program, the anticipated lifetime
of the resulting program, and the relative cost of using
any of the available systems.
Modulo the above, when I purchase a new system, or influence
the purchase of a new system, the "co-arrays story" is of primary
importance.
--
Dan Nagle
Purple Sage Computing Solutions, Inc.
|