Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 6 (1997), Issue 3, Pages 275-284

F--: A Parallel Extension to Cray Fortran

Robert W. Numrich

Cray Research, 655 Lone Oak Drive, Eagan, MN 55121, USA

Received 6 March 1995; Accepted 6 January 1996

Copyright © 1997 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


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.