Skip to main content

Automatic Analysis of Loops to Exploit Operator Parallelism on Reconfigurable Systems

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1998)

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

Abstract

With rapid advances in FPGA and other hardware technologies, architectures based on configurable computing engines, in which the Arithmetic Logic Unit (ALU) can be modified on-the-fly during computation, are becoming popular. Configurable architectures offer an opportunity for adapting the underlying hardware to the computation for efficiency. Typically, the need for configuration arises due to the fact that a given hardware ALU configuration is better suited for execution of a given algorithmic step. Since a program is an abstraction of a sequence of algorithmic steps, the need for such a reconfiguration (i.e., changing from one configuration to another), would thus, arise at different program points corresponding to these algorithmic steps. The problem of identifying the optimal configurations at different steps in a program is a very complex issue but allows the power of these architectures to be maximally used if solved. The success of these architectures critically depends on the effectiveness of the compiler and the research in this area is just beginning. The purpose of this paper is to specifically focus on an automatic compilation framework developed to effectively exploit operator parallelism.

This work is supported by the DARPA contract ARMY DABT63-97-C-0029

Responsible for all communication.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Randy Allen and Ken Kennedy. Automatric tranlation of FORTRAN programs to vector form. ACM Transactions on Programming Languages and Systems, 9(4):491–542, Oct 1987.

    Article  MATH  Google Scholar 

  2. Peter M. Athanas and Harvey F. Silverman. Processor reconfiguration through instruction-set metamorphosis. IEEE Computer, 26(3):11–18, March 1993.

    Google Scholar 

  3. Utpal Banerjee. Loop Parallelization. Loop transformations for restructuring compilers. Boston: Kluwer Academic, 1994.

    Google Scholar 

  4. G. E. Blelloch, S. Chatterjee, and M. Zagha. Solving linear recurrences with loop raking. Journal of Parallel and Distributed Computing, 25(1):91–97, Feb 1995.

    Article  Google Scholar 

  5. D. A. Clark and B. L. Hutchings. Supporting FPGA microprocessors through retargettable software tools. In Proceedings of the IEEE Workshop on FPGAs for Custom Computing Machines., pages 195–203, April 1996.

    Google Scholar 

  6. Bau D., Kodukula I., Kotlyar V., Pingali K., and Stodghill P. Solving alignment using elementary linear algebra. In Proceedings of 7th International Workshop on Languages and Compilers for Parallel Computing, pages 46–60, June 1994. LNCS 892.

    Chapter  Google Scholar 

  7. Kaushik S. D., Huang C.-H., Johnson R. W., and Sadayappan P. An approach to communication-efficient data redistribution. In Proceedings of the 1994 ACM International Conference on Supercomputing, pages 364–373, June 1994.

    Google Scholar 

  8. High Performance Fortran Forum. High performance fortran language specification, version 1.0. Technical Report CRPC-TR92225, Center for Research on Parallel Computation, Rice University, Houston, TX, 1992. Revised January 1993.

    Google Scholar 

  9. M. Gokhale and W. Carlson. An introduction to compilation issues for parallel machines. Journal of Supercomputing, 6(3-4):283–314, Dec 1992.

    Article  Google Scholar 

  10. Anderson J. and Lam M. Global optimizations for parallelism and locality on scalable paralle machines. In Proceedings of SIGPLAN’ 93 conference on Programming Language Design and Implementation, pages 112–125, 1993.

    Google Scholar 

  11. Tu P. and Padua D. Automatic array privatization. In Proceedings of the Sixth Workshop on Language and Compilers for Parallel Computing, August 1993.

    Google Scholar 

  12. Pande S. S. A compile time partitioning method for doall loops on distributed memory systems. In Proceedings of the 1996 International Conference on Parallel Processing, pages 35–44, August 1996.

    Google Scholar 

  13. Stanford University. The SUIF Library, 1994. This manual is a part of the SUIF compiler documentation set, http://suif.stanford.edu/.

  14. Elliot Waingold, Michael Taylor, Devabhaktuni Srikrishna, Vivek Sarkar, Walter Lee, Victor Lee, Jang Kim, Matthew Frank, Peter Finch, Rajeev Barua, Jonathan Babb, Saman Amarasinghe, and Anant Agarwal. Baring it all to software: Raw machines. IEEE Computer, 30(9):86–93, September 1997.

    Google Scholar 

  15. M. Weinhardt. Compilation and pipeline synthesis for reconfigurable architectures. In “Reconfigurable Architectures-High Performance by Configware” (Proceedings of the RAW’97), April 1997.

    Google Scholar 

  16. A. Wenben and G. Brown. A software development system for FPGA-based data acqusition system. In Proceedings of the IEEE Workshop Custom Computing Machines, pages 28–37, April 1996.

    Google Scholar 

  17. Michael J. Wirthlin and Brad L. Hutchings. A dynamic instruction set computer. In Proceedings of the IEEE Workshop on FPGAs for Custom Computing Machines, pages 99–107, April 1995.

    Google Scholar 

  18. Michael Wolfe. High Performance Compilers for Parallel Computing. Addison-Wesley Publishing Company, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ramasubramanian, N., Subramanian, R., Pande, S. (1999). Automatic Analysis of Loops to Exploit Operator Parallelism on Reconfigurable Systems. In: Chatterjee, S., et al. Languages and Compilers for Parallel Computing. LCPC 1998. Lecture Notes in Computer Science, vol 1656. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48319-5_20

Download citation

  • DOI: https://doi.org/10.1007/3-540-48319-5_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66426-0

  • Online ISBN: 978-3-540-48319-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics