Skip to main content

Extending the Applicability of Scalar Replacement to Multiple Induction Variables

  • Conference paper
Languages and Compilers for High Performance Computing (LCPC 2004)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3602))

Abstract

Scalar replacement or register promotion uses scalar variables to save data that can be reused across loop iterations, leading to a reduction of the number of memory operations at the expense of a possibly large number of registers. In this paper we present a compiler data reuse analysis capable of uncovering and exploiting reuse opportunities for array references that exhibit Multiple-Induction-Variable (MIV) subscripts, beyond the reach of current data reuse analysis techniques. We present experimental results of the application of scalar replacement to a sample set of kernel codes targeting a programmable hardware computing device — a Field-Programmable-Gate-Array (FPGA). The results show that, for memory bound designs, scalar replacement alone leads to speedups that range between 2x to 6x at the expense of an increase in the FPGA design area in the range of 6x to 20x.

This work is supported by the National Science Foundation (NSF) under Grants 0209228 and 0204040. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the NSF.

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. So, B., Hall, M.: Increasing the Applicability of Scalar Replacement. In: Duesterwald, E. (ed.) CC 2004. LNCS, vol. 2985, pp. 185–201. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  2. Kandemir, M., Choudhary, A.: Compiler-Directed Scratch Pad Memory Hierarchy Design and Management. In: Proc. of the 2002 ACM/IEEE Design Automation Conference (DAC 2002). IEEE Computer Society Press, Los Alamitos (2002)

    Google Scholar 

  3. Bairagi, D., Pande, S., Agrawal, D.: Framework for Containing Code Size in Limited Register Set Embedded Processors. In: Proc. ACM Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES 2000). ACM Press, New York (2000)

    Google Scholar 

  4. Pugh, W.: Counting Solutions to Presburger Formulas: How and Why. In: Proc. of the ACM Conf. on Prog. Language Design and Implementation, PLDI (1994)

    Google Scholar 

  5. Wolf, M., Lam, M.: A Data Locality Optimization Algorithm. In: Proc. of the ACM Conf. on Programming Language Design and Implementation, PLDI (1991)

    Google Scholar 

  6. Carr, S., Kennedy, K.: Improving the Ratio of Memory Operations to Floating-point Operations in Loops. ACM Trans. on Prog. Lang. and Syst. 16, 1768–1810 (1994)

    Article  Google Scholar 

  7. Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures. Morgan Kaufmann Publishers, San Francisco (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Baradaran, N., Diniz, P.C., Park, J. (2005). Extending the Applicability of Scalar Replacement to Multiple Induction Variables. In: Eigenmann, R., Li, Z., Midkiff, S.P. (eds) Languages and Compilers for High Performance Computing. LCPC 2004. Lecture Notes in Computer Science, vol 3602. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11532378_32

Download citation

  • DOI: https://doi.org/10.1007/11532378_32

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-28009-5

  • Online ISBN: 978-3-540-31813-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics