Fortran M is a small set of extensions to Fortran 77 that supports a modular approach to the design of message-passing programs. It has the following features. (1) Modularity. Programs are constructed by using explicitly-declared communication channels to plug together program modules called processes. A process can encapsulate common data, subprocesses, and internal communication. (2) Safety. Operations on channels are restricted so as to guarantee deterministic execution, even in dynamic computations that create and delete processes and channels. Channels are typed, so a compiler can check for correct usage. (3) Architecture Independence. The mapping of processes to processors can be speci ed with respect to a virtual computer with size and shape di erent from that of the target computer. Mapping is speci ed by annotations that in uence performance but not correctness. (4) E ciency. Fortran M can be compiled e ciently for uniprocessors, sharedmemory computers, distributed-memory computers, and networks of workstations. Because message passing is incorporated into the language, a compiler can optimize communication as well as computation.
Fortran M REF extends Fortran 77 with a set of features that support message-passing, according to a strictly enforced discipline.
Fortran M: A Language for Modular Parallel Programming
J. Parallel Distrib. Comput.
Computer Science