Terence Parr, Aaron Sawdey, S. E. Anderson, Matthew O'Keefe, and Paul
University of Minnesota &
Army High Performance Computing Research Center, Minneapolis, MN
Research Objective: To produce a Fortran-P precompiler which automatically produces efficient parallel CM-Fortran code for the CM-5 Connection Machine from a stylized Fortran-77 source which is called Fortran-P.
Methodology: Working closely together, the computational scientists and computer scientists on this team developed a careful definition of Fortran-P, including all directives and coding conven-tions (semantics), along with clear rules for generating the appropriate code transformations to yield efficient CM-Fortran translations. Using his recently developed SORCERER tool, Terence Parr then wrote an all new and more complete Fortran-P precompiler for the CM-5. At the invitation of Ken Kennedy, this work was presented in early July at the Center for Research in Parallel Computation at Rice University. At this meeting, possible relations between this work and the developing High Performance Fortran (HPF) standard were discussed, and Ken Kennedy suggested that a representative from this team be sent to the High Performance Fortran Forum meetings in the coming year.
Accomplishments: Terence Parr produced a new and much cleaner Fortran-P precompiler for the CM-5 Connection Machine. However, two months later Thinking Machines announced that there would be no follow-on machine to the CM-5. As a result of this event, the Fortran-P precompiler for CM-Fortran was reconsidered as a prototype of a precompiler for HPF, and the Fortran-P efforts were redirected away from data parallel languages like CM-Fortran and toward the popular message passing Fortran language extensions such as MPI and PVM. However, the precompiler for the CM-5 has served this group well in its various versions over the last two years and will continue to make writing the group's programs for this machine a practical matter in the year ahead. Not the least consideration is that use of the precompiler by this group means that all their CM-5 programs have Fortran-P (extended Fortran-77) sources which are easily ported to other parallel machines like the Cray T3D, the IBM SP-2, and the SGI Power Challenge Array.
Significance: The purpose of the Fortran-P precompiler for the CM-5 was to support a variety of application programs based upon the self-similar algorithms which are expressible in Fortran-P. This development was intended to reduce the barrier for use of the CM-5, and thus to increase the usefulness to the Army of this important AHPCRC parallel computing resource. Since the D.o.E. labs had invested heavily in CM-5 and CM-5 look-alike systems, this Fortran-P precompiler was intended to benefit the D.o.E. community as well. The recent bankruptcy of Thinking Machines Corp. has made these efforts much less significant than they were intended to be. Nevertheless, the Fortran-P precompiler will form the basis for other efforts targeted at standard Fortran language extensions and computer architectures which we expect to persist.
Future Plans: The Fortan-P to CM-Fortran translator will be used as a starting point for a Fortran-P to HPF translator. Other Fortran-P efforts will be redirected toward support of other machines, such as the Cray T3D, the IBM SP-2, and the Silicon Graphics Power Challenge Array. Until HPF compilers become available on these machines, translations to Fortran-77 plus extensions supported by these vendors will be generated.