The [NO]SEQUENCE directive explicitly declares that variables or common blocks are to be treated by the compiler as either sequential or nonsequential.
The [NO]SEQUENCE directive takes one of the following forms:
The NOSEQUENCE directive tells the compiler that named (or all) data objects in a procedure do not depend on array element order or storage association, so they can be mapped by data placement and layout directives.
The SEQUENCE directive informs the compiler that named (or all) data objects in a procedure depend on array element order or storage association, so they cannot be mapped by data placement and layout directives.
The default is NOSEQUENCE if the -hpf
compiler option
is specified (the program is compiled for parallel execution). For
all other programs, the default is SEQUENCE.
The [NO]SEQUENCE directive can appear only in the specification part of a scoping unit.
If NOSEQUENCE is specified, an optional blank can appear between NO and SEQUENCE.
If no v-list is specified, the directive is treated as if it contained the names of all implicitly mapped variables and common blocks in the scoping unit that cannot otherwise be determined to be sequential or nonsequential by their language context.
The result variable of an array-valued function that is not an intrinsic function is a nonsequential array. It cannot appear in any [NO]SEQUENCE directive.
For More Information:
For details on syntax rules for all HPF directives, see Section 15.3.1.