Skip to main content

Data Movement Optimisation in Point-Free Form

  • Conference paper
Algebraic Methodology and Software Technology (AMAST 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4019))

Abstract

Programs written in point-free form express computation purely in terms of functions. Such programs are especially amenable to local transformation. In this paper, we describe a process for optimising the transport of data through point-free programs. This process systematically applies local transformations to achieve effective global optimisation. We describe the strategies we employ to ensure this process is tractable. This process has been implemented as an intermediate stage of a compiler. The optimiser is shown to be highly effective, producing code of comparable efficiency to hand-written code.

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. Alexander, B., Wendelborn, A.L.: Automated Transformation of BMF Programs. In: The First International Workshop on Object Systems and Software Architectures, pp. 133–141 (2004), http://www.cs.adelaide.edu.au/~wossa2004/HTML/19-brad-2.pdf

  2. Alexander, B.: Compilation of Parallel Applications via Automated Transformation of BMF Programs, Phd. Thesis, University of Adelaide (2006), http://www.cs.adelaide.edu.au/~brad/thesis/main.pdf

  3. Backus, J.: Can Programming Be Liberated from the von Neumann Style? A functional Style and Its Algebra of Programs. Communications of the ACM 21(8), 613–641 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  4. Borras, P., Clément, D., Despeyroux, T., Incerpi, J., Kahn, G.: CENTAUR: the system. In: SIGSOFT software engineering notes SIGPLAN: SIGPLAN notices, vol. 24(2), ACM, New York (1989)

    Google Scholar 

  5. Cunha, A., Pinto, S.P., Proenca, J.: Down with Variables, Technical report, No. DI-PURe-05.06.01 (2005)

    Google Scholar 

  6. Crooke, D.C.: Practical Structured Parallelism Using BMF, Thesis, University of Edinburgh (1999)

    Google Scholar 

  7. Gibbons, J.: An introduction to the Bird-Meertens Formalism, New Zealand Formal Program Development Colloquium, Hamilton, NZ (1994)

    Google Scholar 

  8. Hamdan, M.: A Combinational Framework for Parallel Programming Using Algorithmic Skeletons, Thesis, Department of Computing and Electrical Engineering. Heriot-Watt University (2000)

    Google Scholar 

  9. Jones, S., Hoare, T., Hoare, T., Tolmach, A.: Playing by the rules: rewriting as a practical optimisation technique. In: ACM SIGPLAN Haskell Workshop (2001)

    Google Scholar 

  10. Johann, P., Visser, E.: Warm fusion in Stratego: A case study in the generation of program transformation systems, Technical report, Department of Computer Science, Universiteit Utrecht, 1997 (1999)

    Google Scholar 

  11. Kahn, G.: Natural Semantics. In: Brandenburg, F.J., Wirsing, M., Vidal-Naquet, G. (eds.) STACS 1987. LNCS, vol. 247, Springer, Heidelberg (1987)

    Chapter  Google Scholar 

  12. Martin, U., Nipkow, T.: Automating Squiggol. In: Broy, M., Jones, C.D. (eds.) Programming Concepts and Methods, pp. 233–247. North-Holland, Amsterdam (1990)

    Google Scholar 

  13. Mauny, M., Suarez, A.: Implementing functional languages in the Categorical Abstract Machine. In: LFP 1986: Proceedings of the 1986 ACM conference on LISP and functional programming, pp. 266–278. ACM Press, New York (1986)

    Chapter  Google Scholar 

  14. Onoue, Y., Hu, Z., Takeichi, M., Iwasaki, H.: A calculational fusion system HYLO. In: Proceedings of the IFIP TC 2 WG 2.1 international workshop on Algorithmic languages and calculi, pp. 76–106. Chapman & Hall, Ltd., Boca Raton (1997)

    Google Scholar 

  15. Pettge, S.: A Fast Code Generator for Point-Free Form, Hons. Thesis, University of Adelaide (2005), http://www.cs.adelaide.edu.au/~brad/students/seanp.pdf

  16. Rao, P., Walinsky, C.: An equational language for data-parallelism. In: Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 112–118. ACM Press, New York (1993)

    Chapter  Google Scholar 

  17. Sands, D.: Total correctness by local improvement in the transformation of functional programs. ACM Trans. Program. Lang. Syst. 18(2) (1996)

    Google Scholar 

  18. Skillicorn, D.B., Cai, W.: Equational code generation: Implementing categorical data types for data parallelism. In: TENCON 1994, IEEE, Singapore (1994)

    Google Scholar 

  19. de Jonge, M., Visser, J.: Grammars as Contracts. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000. LNCS, vol. 2177, Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  20. Visser, E.: Stratego: A Language for Program Transformation Based on Rewriting Strategies. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–362. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  21. Walinksy, C., Banerjee, D.: A Data-Parallel FP Compiler. Journal of Parallel and Distributed Computing 22, 138–153 (1994)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Alexander, B., Wendelborn, A. (2006). Data Movement Optimisation in Point-Free Form. In: Johnson, M., Vene, V. (eds) Algebraic Methodology and Software Technology. AMAST 2006. Lecture Notes in Computer Science, vol 4019. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11784180_5

Download citation

  • DOI: https://doi.org/10.1007/11784180_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-35633-2

  • Online ISBN: 978-3-540-35636-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics