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

Skip to main content

Index Vector Elimination – Making Index Vectors Affordable

  • Conference paper
Implementation and Application of Functional Languages (IFL 2006)

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

Included in the following conference series:

Abstract

Compiling indexing operations on n-dimensional arrays into efficiently executable code is a challenging task. This paper focuses on the reduction of offset computations as they typically occur when transforming index vectors into offsets for linearized representations of ndimensional arrays. We present a high-level optimization to that effect which is generally applicable, even in the presence of statically unknown rank (n). Our experiments show run-time improvements between a factor of 2 and 16 on a set of real-world benchmarks.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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.

Similar content being viewed by others

References

  1. Iverson, K.E.: Notation as a tool of thought. Communications of the ACM 23(8) (1979)

    Google Scholar 

  2. International Standards Organization: International Standard for Programming Language APL. ISO N8485 edn (1984)

    Google Scholar 

  3. Scholz, S.B.: Single Assignment C — efficient support for high-level array operations in a functional setting. Journal of Functional Programming 13(6), 1005–1059 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  4. Hui, R.K., Iverson, K.E.: J Dictionary (1998)

    Google Scholar 

  5. Cann, D.: Compilation Techniques for High Performance Applicative Computation. Technical Report CS-89-108, Lawrence Livermore National Laboratory, LLNL, Livermore California (1989)

    Google Scholar 

  6. Cann, D., Evripidou, P.: Advanced Array Optimizations for High Performance Functional Languages. IEEE Transactions on Parallel and Distributed Systems 6(3), 229–239 (1995)

    Article  Google Scholar 

  7. Grelck, C., Trojahner, K.: Implicit Memory Management for SaC. In: Grelck, C., Huch, F., Michaelson, G.J., Trinder, P. (eds.) IFL 2004. LNCS, vol. 3474, pp. 335–348. Springer, Heidelberg (2005)

    Google Scholar 

  8. Pierce, B.: Types and Programming Languages. MIT Press, Cambridge (2002)

    Google Scholar 

  9. Grelck, C., Scholz, S.B., Shafarenko, A.: A Binding-Scope Analysis for Generic Programs on Arrays. In: Butterfield, A., Grelck, C., Huch, F. (eds.) IFL 2005. LNCS, vol. 4015, Springer, Heidelberg (2006)

    Google Scholar 

  10. Bernecky, R.: Shape Cliques. In: Horváth, Z., Zsók, V., (eds.) Proceedings of the 18th International Symposium on Implementation of Functional Languages (IFL’06), Eötvös Loránd University (2006)

    Google Scholar 

  11. Trojahner, K., Grelck, C., Scholz, S.B.: On Optimising Shape-Generic Array Language Programs using Symbolic Structural Information. In: Horváth, Z., Zsók, V. (eds.) Proceedings of the 18th International Symposium on Implementation of Functional Languages (IFL 2006). LNCS, vol. 4449, Springer, Heidelberg (2006)

    Google Scholar 

  12. Morel, E., Renvoise, C.: Global optimization by suppression of partial redundancies. Commun. ACM 22(2), 96–103 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  13. Bernecky, R., Brenner, C., Jaffe, S.B., Moeckel, G.P.: ACORN: APL to C on real numbers. ACM SIGAPL Quote Quad 20(4), 40–49 (1990)

    Article  Google Scholar 

  14. Weigang, J.: An Introduction to STSC’s apl compiler. APL89 Conference Proceedings, ACM SIGAPL Quota Quad 15, 231–238 (1989)

    Article  Google Scholar 

  15. Ching, W.M.: An APL/370 compiler and some performance comparisons with APL interpreter and FORTRAN. ACM SIGAPL Quote Quad 16(4), 143–147 (1986)

    Article  Google Scholar 

  16. Wiedmann, C.: Field results with the APL compiler. ACM SIGAPL Quote Quad 16(4), 187–196 (1986)

    Article  Google Scholar 

  17. Budd, T.A.: An APL compiler for the UNIX timesharing system. ACM SIGAPL Quote Quad 13(3) (1983)

    Google Scholar 

  18. Bernecky, R.: APEX: The APL parallel executor. Master’s thesis, University of Toronto (1997)

    Google Scholar 

  19. Cann, D.: The Optimizing SISAL Compiler: Version 12.0. Lawrence Livermore National Laboratory, LLNL, Livermore California. Part of the SISAL distribution (1993)

    Google Scholar 

  20. Oldehoeft, R.: Implementing Arrays in SISAL 2.0. In: Proceedings of the Second SISAL Users’ Conference. pp. 209–222 (1992)

    Google Scholar 

  21. Böhm, A., Cann, D., Oldehoeft, R., Feo, J.: SISAL Reference Manual Language Version 2.0. CS 91-118, Colorado State University, Fort Collins, Colorado (1991)

    Google Scholar 

  22. Fitzgerald, S., Oldehoeft, R.: Update-in-place Analysis for True Multidimensional Arrays. In: Böhm, A., Feo, J., (eds.) High Performance Functional Computing. pp. 105–118 (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Zoltán Horváth Viktória Zsók Andrew Butterfield

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bernecky, R., Herhut, S., Scholz, SB., Trojahner, K., Grelck, C., Shafarenko, A. (2007). Index Vector Elimination – Making Index Vectors Affordable. In: Horváth, Z., Zsók, V., Butterfield, A. (eds) Implementation and Application of Functional Languages. IFL 2006. Lecture Notes in Computer Science, vol 4449. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74130-5_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74130-5_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74129-9

  • Online ISBN: 978-3-540-74130-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics