Next: Partially Specified Distribution Up: High Performance Fortran Journal Previous: VIEW Directive
The HPF specification states that if the dist-format-clause is omitted from the attributed form of a DISTRIBUTE or REDISTRIBUTE directive, then the language processor may make an arbitrary choice of distribution formats for each template or array.
It would be convenient for the user to be able to specify defaults to be applied in this situation, rather than leaving the choice entirely to the language processor. Think of it as ``IMPLICIT'' distributions.
One specific proposal is to have a separate default for each possible array rank; given the current Fortran 90 limit of 7 on array rank, there would be seven defaults. A default for a scoping unit could be specified by a DISTRIBUTE directive that mentions no distributee. For example: !HPF DISTRIBUTE (BLOCK) ONTO ALLPROCS !HPF DISTRIBUTE (CYCLIC,CYCLIC,*) ONTO XY_PROCS !HPF DISTRIBUTE (*,CYCLIC,CYCLIC,*) ONTO XY_PROCS would mean that any one-dimensional array or template in the scoping unit for which no explicit alignment or distribution is specified would be distributed (BLOCK) onto ALLPROCS; any two-dimensional array or template not explicitly mapped would be distributed (CYCLIC, CYCLIC) onto XY_PROCS; and so on.