Case study 16 



High Performance Fortran and Its 

 Environment 



In an effort to provide a machine-independent 

 programming interface, a working group of rep- 

 resentatives from industry, academia and gov- 

 ernment laboratories has defined an informal 

 standard called High Performance Fortran 

 (HPF). HPF consists of language extensions to 

 Fortran 90 that support data-parallel program- 

 ming by permitting specification of the distribu- 

 tion of data structures across the processors of a 

 scalable parallel computer system. The ideas 

 behind HPF have been taken in large part from 

 earlier research on a language called Fortran D. 

 This work, which was conducted at the Center 

 for Research on Parallel Computation at Rice 

 University and at Syracuse University, was 

 sponsored under the HPCC Program by NSF and 

 ARPA. The Fortran D project designed a scal- 

 able language on the basis of analysis of existing 

 parallel applications, prototype compiler imple- 

 mentations and an extensive benchmark suite 

 that are all available to the HPCC community. 

 The HPF draft standard, which was produced 

 over a single year, promises to dramatically 

 reduce the burden of specifying parallel scientif- 

 ic programs for the new generation of massively 

 parallel computer systems. Four companies 

 have already announced HPF compilers that will 

 be available in 1993. HPF will accelerate the 

 use of parallel machines, as now users can use a 

 high level software with the assurance that their 

 applications will be supported by future as well 

 as current systems. 



Since HPF hides many of the details of parallel 

 programming for a specific target machine, the 

 programmer will need assistance in preparing, 

 debugging and tuning HPF programs. To this 

 end, ARPA is sponsoring a research project at 

 Rice University and the University of Illinois at 



Champaign-Urbana to design and build a collec- 

 tion of programming tools for HPF, including an 

 intelligent editor to help construct efficient data 

 distributions, a debugger to locate data races and 

 other programmer errors and a performance 

 analysis and visualization system. This project 

 has a secondary goal of providing a platform for 

 the development of other software tools for HPF. 

 When complete, this software platform will be 

 distributed throughout the computational science 

 community in source form. 



The current version of HPF supports data paral- 

 lel programming for about 50-75 percent of 

 applications but has limited support for "unstruc- 

 tured" or "irregular" problems. Since this class 

 includes many important science and engineer- 

 ing problems. NASA. ARPA, ONR and NSF are 

 jointly sponsoring a research project at Rice, 

 Syracuse and the University of Maryland to 

 design and implement extensions to HPF to sup- 

 port this important problem class. This work 

 will affect the next round of HPF standardiza- 

 tion, scheduled for calendar vear 1994. 



SPONSORING AGENCIES AND 

 ORGANIZATIONS 



ARPA 



NASA 



NSF 



ONR 



PERFORMING ORGANIZATIONS 



Center for Research on Parallel Computation 

 Syracuse University 



University of Illinois at Champaign-Urbana 

 University of Maryland 



156 



