Parallel FORTRAN(ID:4051/par016)Parallel FORTRAN Parallel Computing Forum (PCF) 1990 Related languages
References: X-MP and Y-MPs, etc.). The frame of mind in which this standard was put together is described in the Forward, which is followed by a Table of Contents. The topics covered by this draft include basic parallel constructs, explicit synchronization, storage management, parallel regions, details about certain specific conditions, a discussion of intrinsic functions, a glossary, and "dead features", that is, features considered for inclusion in the standard but rejected. The PCF consists of representatives from various vendors who make the machines on which Fortran can execute in parallel and several universities which have strong research interests in this area. Extract: Forward Forward This proposed standard was constructed as an effort to provide a uniform spelling of well understood parallel constructs. There was a conscious effort to resist the lure of new constructs unless the evolutionary path from existing practice was clear. The only reason that one bothers with the complexity of parallel processing is performance. Hence, any definition of parallel constructs must be judged by the ability of the programmer to achieve performance by reasonable application of these constructs. Another constraint must be considered as well. Most programming is done by people that are trying to solve problems in fields other than computer science. This means that it is unreasonable to assume that the average programmer has a deep understanding of the actual machine. All of the parallel constructs should feel Fortran-like to the programmer. This means that they should be easy to understand, normally generate efficient code, and if some functionality is necessary but expensive, isolate the expense in a construct so that the programmer can easily learn when something expensive is being coded. The portability of applications written using these parallel constructs is a primary concern. This portability cannot be achieved by sacrificing performance. What is needed from this proposed standard is portable performance from the exploitation of parallelism. It is understood that optimal performance on certain machines may not be achieved by initial implementations. The target machine is assumed to be a shared-memory parallel processor. One of the reasons that the shared-memory model was selected was the existing experience in extending Fortran for such machines. Another reason was the shared-memory model allows the programmer to ignore the data partitioning problem that must be addressed for the typical distributed-memory models. Note that it is not necessary that the machine actually be a shared-memory parallel processor. This is simply the model presented to the programmer. Underlying all of the design decisions was the old saying: Keep It Simple, Stupid! |