Parallel arrays are the primary means of specifying parallelism in ZPL. While the use of this data type has sequential semantics, the compiler will distribute parallel arrays for execution on parallel machines. Parallel arrays are declared using regions (Regions are described in Section 3.5.) and no explicit indexing is allowed. Instead, parallel arrays are manipulated as whole entities. All of the operators listed in Table 5 can be applied to parallel arrays; these are described in more detail in Section 5. Parallel arrays may be arbitrarily composed with indexed arrays and records, but they cannot be nested inside of other parallel arrays, i.e., the elements of a parallel array cannot be a parallel array.
The rank of a parallel array is its number of dimensions. There is no limit on the number of dimensions that a parallel array may have.