Mapping



next up previous contents index
Next: Virtual Computers Up: The Fortran M Previous: The PROBE Statement

Mapping

 

Process blocks and process do-loops define concurrent processes; channels and mergers define how these processes communicate and synchronize. A parallel program defined in terms of these constructs can be executed on both uniprocessor and multiprocessor computers. In the latter case, a complete program must also specify how processes are mapped to processors.

Fortran M incorporates specialized constructs designed specifically to support mapping. The PROCESSORS  declaration specifies the shape and dimension of a virtual processor array in which a program is assumed to execute, the LOCATION  annotation maps processes to specified elements of this array, and the SUBMACHINE  annotation specifies that a process should execute in a subset of the array. An important aspect of these constructs is that they influence performance but not correctness. Hence, we can develop a program on a uniprocessor and then tune performance on a parallel computer by changing mapping constructs.

 





Steve Tuecke
Tue Aug 30 12:20:34 CDT 1994