Newsgroups: comp.parallel,comp.parallel.mpi,comp.parallel.pvm
From: gale@wind.hpc.pko.dec.com (Israel Gale)
Subject: HPF (was:  MPI vs. PVM)
Organization: Digital Equipment Corporation
Date: 30 Apr 1996 16:11:32 -0400
Message-ID: <4m7k8n$kbe@usenet.srv.cis.pitt.edu>

Dave Kohr <kohr@mcs.anl.gov> writes:

> I've spent some time browsing DEC's HPF page, at
> http://www.digital.com/info/hpc/f90/f90.html, looking for performance
> results in particular.  Other than the numbers from the DEC Technical
> Journal paper (which I also looked at), and on the page
> http://www.digital.com/info/hpc/f90/optimizations.html, is there anything
> else?

I plan to post one more set of numbers tomorrow.  It is true that HPF
benchmark data is still hard to find.

BTW, the URL of our HPF page has changed (see my signature).

> I'd like to point out that all the benchmarks on this Web page and in the
> DTJ paper are relative small and amenable to compiler analysis, whereas
> despite your claim above, the jury is still out on whether HPF is effective
> for large, complex codes.  And I say this not as a skeptical HPF user but a
> developer of HPF extensions and libraries (and sometimes-user of HPF also)
> who would like to see the language succeed.

We have customers who are developing large, complex codes in HPF.  We
have seen sections of our customers' codes, but we are of course not
at liberty to discuss these in public.

There is no question that HPF is useful for codes of any given size.
Data parallel codes with somewhat regular data almost always perform
well with the better HPF compilers.

As you introduce less regular data sets and algorithms with complex
dependencies, the picture becomes murkier.  Even in these more
difficult cases, clever programmers frequently do quite well with HPF.
The language is still fairly new, and very little is known about the 
boundaries of its usefulness.

One fallacy is that you have an exclusive choice between HPF and
explicit messaging.  HPF is often used as a wrapper for explicit
messaging routines.  For example, you can use HPF to start up your job
and distribute your data around the cluster.  The HPF program will
then call a series of SPMD routines written with PVM or MPI.  In
between routines, HPF can handle data movement (re-mapping, summing up
results, etc.) if necessary.  The parts of your program suited to HPF
can be written in HPF, saving you time and effort;  other parts of
your program can be written the old way.

I would be quite interested to hear about any (positive or negative) 
experiences you have had with HPF.

-Israel Gale     ***********************************************
                 * For information about Digital Fortran/HPF,  *
                 * write to me at gale@hpc.pko.dec.com, or see *
                 * http://www.digital.com/info/hpc/fortran/    *
                 ***********************************************

