Abstract

F--is a parallel extension to Cray Fortran 77 for distributed memory computers. It adds exactly one new symbol to the language, a vertical line that separates two sets of indices. The first set contains the coordinates for data in a local data grid. The second set contains the coordinates for processors in a global processor grid. A statement such as x(i,j)=y(i,j| p,q) generates a load from remote address y(i,j) in the data grid on processor (p,q) followed by a store to local address x(i,j) in the local data grid. F--syntax requires an explicit statement of the relationship between data layout and processor layout. It assumes that good performance on a distributed memory computer requires the programmer to understand and to exploit data locality. Programmers use the F--syntax only when it is needed. 0therwise all data are local and all code is local. Compiler and library developers concentrate on generating well-optimized local code.

Highlights

  • P-- is a parallel syntax added to Cray Fortran 77

  • Its simple design is based on the assumption that the Fortran 77 language already contains most of what it needs to support parallel programming

  • As its name is meant to imply, the p-- philosophy is quite opposite from the philosophy of other parallel extensions to Fortran [1,2,3,4] that, for the most part, adopt some variation of a data parallel model. p-- is an alternative to the message-passing style of programming but it is not message-passing

Read more

Summary

INTRODUCTION

P-- is a parallel syntax added to Cray Fortran 77. Its simple design is based on the assumption that the Fortran 77 language already contains most of what it needs to support parallel programming. No handshaking between processors is necessary such as the send/receive mechanism required by message-passing It assumes an underlying global address mechanism, supported either by hardware. Since Cray Fortran 77 already incorporates some of the features of Fortran 90, such as array syntax, p-- includes them It excludes other Fortran 90 features such as passing array sections and the use of intrinsic functions that accept arbitrary data structures. Each processor runs independently with its own copy of the code with its own data It supports the multiple-program-multiple-data (MIMD) style of programming through explicit use of IF. Its syntax is a minimum addition to sequential Fortran that requires the programmer to perform explicit mappings between local and global addresses. The benefit to the programmer is that it exposes the relationship between data and processors and allows the programmer to assume control of the underlying global address space using a familiar syntax. The syntax is a flag to the programmer as well as to the compiler that remote references are taking place

FORTRAN ADDRESSES
THE F-- EXTENSION
DATA TRANSFER BETWEEN PROCESSORS
DYNAMIC MEMORY ALLOCATION
LIBRARY SUPPORT
SYNCHRONIZATION AND CONTROL
12 CURRENT IMPLEMENTATION
13 SUMMARY
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call