Abstract
We present simple and efficient algorithms for solving three basic problems which occur while modulo scheduling loops: a) computing the minimum initiation interval which satisfies the recurrence constraints, and exposing the most constraining recurrence cycle; b) computing and maintaining, as scheduling proceeds, the earliest and latest possible schedule dates (the margins) of the not yet scheduled instructions; c) computing and maintaining the tentative schedule dates of the not yet scheduled instructions which minimize the cumulative lifetimes of the registers. In addition, these problems are solved parametrically with the initiation interval.
On leave from the CEA CEL-V, 94195 Villeneuve St Georges cedex France. Part of this research was funded by the DGA grant ERE/SC N∘ 95-1137/A000/DRET/DS/SR.
Preview
Unable to display preview. Download preview PDF.
References
E. R. Altman “Optimal Software Pipelining with Function Unit and Register Constraints” Ph.D. thesis, ACAPS laboratory, McGill university, Montreal, Oct. 1995.
R. K. Ahuja, T. L. Magnanti, J. B. Orlin “Network Flows” Optimization, G. L. Nemhauser, A. H. G. Rinnooy Kan, M. J. Todd editors, North-Holland 1989.
A. Ali, R. Helgason, J. Kennington, H. Lall “Primal Simplex Network Codes: State-of-the-Art Implementation Technology” Networks, vol. 8, pp. 315–339, 1978.
J. C. Dehnert, R. A. Towle “Compiling for Cydra 5” Journal of Supercomputing, vol. 7, pp. 181–227, May 1993.
B. Dupont de Dinechin “An Introduction to Simplex Scheduling” PACT'94, Montreal, Aug. 1994.
B. Dupont de Dinechin “Simplex Scheduling: More than Lifetime-Sensitive Instruction Scheduling” PRISM research report 1994.22, available under anonymous ftp from ftp.prism.uvsq.fr, July 94.
B. Dupont de Dinechin “Insertion Scheduling: An Alternative to List Scheduling for Modulo Schedulers”, Proceedings of 8th international workshop on Language and Compilers for Parallel Computers, LNCS #1033, Columbus, Ohio, Aug. 1995.
B. Dupont de Dinechin “A Unified Software Pipeline Construction Scheme for Modulo Scheduled Loops”, PRISM research report 1996.xx, ftp://ftp.prism.uvsq.fr, Nov. 1996.
D. Goldfarb, J. Hao, S-R. Kai “Shortest Path Algorithms Using Dynamic Breadth-First Search” Networks, vol. 21, pp. 29–50, 1991.
R. A. Huff “Lifetime-Sensitive Modulo Scheduling” Proceedings of the SIG-PLAN'93 Conference on Programming Language Design and Implementation, Albuquerque, June 1993.
R. M. Karp, J. B. Orlin “Parametric Shortest Path Algorithms with an Application to Cyclic Staffing” Discrete Applied Mathematics, vol. 3, pp. 37–45, 1981.
M. Lam “Software Pipelining: An Effective Scheduling Technique for VLIW Machines” Proceedings of the SIGPLAN'88 Conference on Programming Language Design and Implementation, 1988.
J. Llosa, M. Valero, E. Ayguade, A. Gonzalez “Hypernode Reduction Modulo Scheduling” Proceedings of the IEEE / ACM Annual Symposium on Microarchitecture / MICRO-28, 1995.
Q. Ning “Re: Question about the POPL paper”, private communication, Feb. 1996.
Q. Ning, G. R. Gao “A Novel Framework of Register Allocation for Software Pipelining” Proceedings of the ACM SIGPLAN'93 Symposium on Principles of Programming Languages, Jan. 1993.
B. R. Rau, C. D. Glaeser “Some Scheduling Techniques and an Easily Schedulable Horizontal Architecture for High Performance Scientific Computing” IEEE / ACM 14th Annual Microprogramming Workshop, Oct. 1981.
B. R. Rau “Iterative Modulo Scheduling: An Algorithm for Software Pipelining Loops” IEEE / ACM 27th Annual Microprogramming Workshop, San Jose, California, Nov. 1994.
J. Ruttenberg, G. R. Gao, A. Stoutchinin, W. Lichtenstein “Software Pipelining Showdown: Optimal vs. Heuristic Methods in a Production Compiler” Proceedings of the SIGPLAN'96 Conference on Programming Language Design and Implementation, Philadelphia, May 1996.
R. E. Tarjan “Data Structures and Network Algorithms” CBMS-NSF Regional Conference Series in Applied Mathematics, no. 44, 1983.
J. C. Tiernan “An Efficient Search Algorithm to Find the Elementary Circuits of a Graph” Communications of the ACM, vol. 13, no. 12, Dec. 1970.
N. E. Young, R. E. Tarjan, J. B. Orlin “Faster Parametric Shortest Path and Minimum-Balance Algorithms” Networks, vol. 21, pp. 205–221, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dupont de Dinechin, B. (1997). Parametric computation of margins and of minimum cumulative register lifetime dates. In: Sehr, D., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1996. Lecture Notes in Computer Science, vol 1239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017256
Download citation
DOI: https://doi.org/10.1007/BFb0017256
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63091-3
Online ISBN: 978-3-540-69128-0
eBook Packages: Springer Book Archive