Nothing Special   »   [go: up one dir, main page]

Skip to main content

Parametric computation of margins and of minimum cumulative register lifetime dates

  • Instruction Scheduling and Register Allocation
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1239))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. E. R. Altman “Optimal Software Pipelining with Function Unit and Register Constraints” Ph.D. thesis, ACAPS laboratory, McGill university, Montreal, Oct. 1995.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. J. C. Dehnert, R. A. Towle “Compiling for Cydra 5” Journal of Supercomputing, vol. 7, pp. 181–227, May 1993.

    Article  Google Scholar 

  5. B. Dupont de Dinechin “An Introduction to Simplex Scheduling” PACT'94, Montreal, Aug. 1994.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. D. Goldfarb, J. Hao, S-R. Kai “Shortest Path Algorithms Using Dynamic Breadth-First Search” Networks, vol. 21, pp. 29–50, 1991.

    Google Scholar 

  10. R. A. Huff “Lifetime-Sensitive Modulo Scheduling” Proceedings of the SIG-PLAN'93 Conference on Programming Language Design and Implementation, Albuquerque, June 1993.

    Google Scholar 

  11. 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.

    Article  Google Scholar 

  12. M. Lam “Software Pipelining: An Effective Scheduling Technique for VLIW Machines” Proceedings of the SIGPLAN'88 Conference on Programming Language Design and Implementation, 1988.

    Google Scholar 

  13. J. Llosa, M. Valero, E. Ayguade, A. Gonzalez “Hypernode Reduction Modulo Scheduling” Proceedings of the IEEE / ACM Annual Symposium on Microarchitecture / MICRO-28, 1995.

    Google Scholar 

  14. Q. Ning “Re: Question about the POPL paper”, private communication, Feb. 1996.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. B. R. Rau “Iterative Modulo Scheduling: An Algorithm for Software Pipelining Loops” IEEE / ACM 27th Annual Microprogramming Workshop, San Jose, California, Nov. 1994.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. R. E. Tarjan “Data Structures and Network Algorithms” CBMS-NSF Regional Conference Series in Applied Mathematics, no. 44, 1983.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. N. E. Young, R. E. Tarjan, J. B. Orlin “Faster Parametric Shortest Path and Minimum-Balance Algorithms” Networks, vol. 21, pp. 205–221, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Sehr Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints 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

Publish with us

Policies and ethics