Some efficient solutions to the affine scheduling problem. Part II. Multidimensional time
- 512 Downloads
This paper extends the algorithms which were developed in Part I to cases in which there is no affine schedule, i.e. to problems whose parallel complexity is polynomial but not linear. The natural generalization is to multidimensional schedules with lexicographic ordering as temporal succession. Multidimensional affine schedules, are, in a sense, equivalent to polynomial schedules, and are much easier to handle automatically. Furthermore, there is a strong connection between multidimensional schedules and loop nests, which allows one to prove that a static control program always has a multidimensional schedule. Roughly, a larger dimension indicates less parallelism. In the algorithm which is presented here, this dimension is computed dynamically, and is just sufficient for scheduling the source program. The algorithm lends itself to a “divide and conquer” strategy. The paper gives some experimental evidence for the applicability, performances and limitations of the algorithm.
Key WordsLoop nest scheduling affine computation automatic parallelism detection parallelizing compilers
Unable to display preview. Download preview PDF.
- 1.Paul Feautrier, Some efficient solutions to the affine scheduling problem, part I, onedimensional time,IJPP,21(5):313–348 (October 1992).Google Scholar
- 2.Randy Allen and Ken Kennedy, Automatic translation of fortran programs to vector form,ACM TOPLAS,9(4):491–542 (October 1987).Google Scholar
- 3.Paul Feautrier, Dataflow analysis of scalar and array references,IJPP,20(1):23–53 (February 1991).Google Scholar
- 4.Michael L. Dowling, Optimal code parallelization using unimodular transformations,Parallel Computing,16:157–171 (1990).Google Scholar
- 5.A. Schrijver,Theory of Linear and Integer Programming, Wiley, New York (1986).Google Scholar
- 6.Alain Darte and Yves Robert, Affine-by-statement Scheduling of Uninform Loop Nests over Parametric Domains. Technical Report 92-16, LIP-IMAG (April 1992).Google Scholar
- 7.Paul Feautrier, Parametric integer programming,RAIRO Recherche Opérationelle,22:243–268 (September 1988).Google Scholar
- 8.Paul Feautrier and Nadia Tawbi, Résolution de Systèmes d'Inéquations Linéaires; mode d'emploi du logiciel PIP. Technical Report 90.2, IBP-MASI (January 1990).Google Scholar
- 9.M. Wolf and Monica S. Lam, A loop transformation theory and an algorithm to maximize parallelism,IEEE Trans. on Parallel and Distributed Systems,2(4):452–471 (October 1991).Google Scholar
- 10.Corinne Ancourt and François Irigoin, Scanning polyhedra with do loops, InProc. Third SIGPLAN Symp. on Principles and Practice of Parallel Programming, ACM Press, pp. 39–50 (April 1991).Google Scholar