Scheduling in the Z-Polyhedral Model
2007 IEEE International Parallel and Distributed Processing Symposium
The polyhedral model is extensively used for analyses and transformations of regular loop programs, one of the most important being automatic parallelization. The model, however, is limited in expressivity and the need for the generalization to more general class of programs has been widely known. Analyses and transformations in the polyhedral model rely on certain closure properties. Recently, these closure properties were extended to programs where variables may be defined over unions of
... yhedra which are the intersection of polyhedra and lattices. We present the scheduling analysis for the automatic parallelization of programs in the Z-polyhedral model, and obtain multidimensional schedules through an ILP formulation that minimizes latency. The resultant schedule can then be used to construct a space-time transformation to obtain an equivalent program in the Z-polyhedral model. In addition to expressibility, the Z-polyhedral model also enables more sophisticated analyses and transformations by providing greater information in the specifications viz., pertaining to lattices. Example 2 Consider the following loop that elaborates the advantages of manipulating Z-polyhedral domains. Note that the equation is not executed for every iteration of the form 6j + 1 and 6j + 5 where j is an integer. Below is a constant-time parallelization of this Θ(n) loop. forall i = 2 ... n step 6 X[i] = X[i-1]; forall i = 6 ... n step 6 X[i] = X[i-1]; forall i = 3 ... n step 6 X[i] = X[i-1]; forall i = 4 ... n step 6 X[i] = X[i-1]; • A unique representative element in each set of matrices that are column equivalent is the one in Hermite normal form  .