\documentstyle{article}

\begin{document}

\pagestyle{empty}

\section*{NTI-282---High Performance Fortran Translation: Final Report}

\subsection*{Background}

In late 1993 we proposed to develop a portable translation system for
the newly defined parallel language {\em High Performance Fortran}
(HPF).  This system would be made freely available to higher
education establishments.

At that time fully commercial HPF compilers were not widely available
(commercial systems have since become available but even now remain
quite experimental).  It was suggested that a public domain
translator---although it may not provide the performance eventually
expected from proprietary compilers---would fulfil a valuable
educational need, allowing students and researchers to experiment with
this potentially important new scientific programming language.

Southampton was well placed to produce such a product, on account of
research into HPF and precursor languages that had been pursued for
several years in the University's Department of Electronics and
Computer Science (ECS).  That research had already generated a body of
software that could form the basis of a Subset HPF translation system.

\subsection*{The NTI contribution}

The proposed system was to consist of two major components: a {\em
translator} from HPF to sequential Fortran 90, and a {\em run-time
library}.

The translator would convert an HPF program to an ordinary Fortran
program with calls to a communication library.  Copies of the Fortran
program could then be executed in parallel.  To realistically support
the complex HPF programming model, much of functionality of the
translation system would be shifted into the high-level communication
library (the ``run-time system'').  This library would directly support
general data remapping and matrix arithmetic on HPF arrays.

The translator would be based on the ADAPT translation tool already
under development in ECS.  The run-time library, to be called ADLIB,
would be specially developed for the new HPF system.

Work on enhancement of the ADAPT translator was done mainly by its
original author, John Merlin, who was eventually supported by an
independent SERC award.  The NTI funding supported one
researcher---Bryan Carpenter---who worked principally on development of
the new library, and also on integration, documentation, distribution
and support of the complete system.

\subsection*{Development of Adlib and SHPF}

Much of 1994 was taken up with an intensive design effort.  Initially this
concentrated on a translation scheme for HPF---before the library
interface could be specified, it was important to know what the generated
Fortran code might look like.  Mid-year the emphasis shifted to
specification of the library itself.  It was decided early on that the
implementation would be in C++ (with a Fortran interface), assuming the
new MPI standard as the message passing platform (rather than PVM, as
stated in the original proposal).  By September the requirements for
the C++ interface to the library were reasonably well understood, and a
first specification was in place by October.

Between November and early '95 the initial implementation of Adlib
took shape.  By mid-February the translator could translate simple test
programs, and enough of the library was available to run the generated
codes.  The translator and library were extended and improved over
the next two months.  May was spent building a software
release, and debugging.

The first release of SHPF (Southampton HPF) was announced to our beta
test sites---the other JISC HPC Centres---on June 9th.

The rest of the year was spent improving the software---extending
functionality, debugging, improving efficiency, rationalising the
implementation, and improving portability---and installing the
and supporting the software at various sites, on various platforms.
A fully public domain version of the SHPF software was finally made
available earlier this year.


\subsection*{Products}

The main deliverable of the project was, of course, the SHPF translation
system.  This is available by anonymous FTP from
\begin{verbatim}
  ftp.ccg.ecs.soton.ac.uk
\end{verbatim}
in
\begin{verbatim}
  pub/packages/shpf
\end{verbatim}
It can be downloaded directly through the Web page:
\begin{verbatim}
  http://www.ccg.ecs.soton.ac.uk/shpf/shpf.html
\end{verbatim}
Many associated documents are also available through this page.

\subsection*{HPF Workshop}

The NTI project also funded an HPF tutorial and workshop held
at the University of Southampton 10-11th October, 1995.
About 35 people attended the tutorial, and over 50 the
workshop.  On-line proceedings are available through the Web page:
\begin{verbatim}
  http://www.ccg.ecs.soton.ac.uk/shpf/hpf-workshop.html
\end{verbatim}

\subsection*{Current and future work}

Both the SHPF system and Adlib are still under very active development.
The SHPF system is now maintained principally by John Merlin
(\verb$jhm@ecs.soton.ac.uk$).  Recent developments include a hybrid
HPF/C++ system to be demonstrated at Supercomputing `96.

The Adlib library is being used by its developer (now employed at NPAC,
Syracuse, USA) as a basis for a new run-time library being developed in
the PCRC (Parallel Compiler Runtime Consortium) project at Syracuse.
The library will probably be used in at least one new public domain HPF
compiler.  A standalone Adlib release is likely to be made public in
the new year.

\end{document}

