Skip to main content

Axis Control in SAC

  • Conference paper
  • First Online:

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

Abstract

High-level array processing is characterized by the composition of generic operations, which treat all array elements in a uniform way. This paper proposes a mechanism that allows programmers to direct effects of such array operations to non-scalar subarrays of argument arrays without sacrificing the high-level programming approach. A versatile notation for axis control is presented, and it is shown how the additional language constructs can be transformed into regular SaC code. Furthermore, an optimization technique is introduced which achieves the same runtime performance regardless of whether code is written using the new notation or in a substantially less elegant style employing conventional language features.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Allen and K. Kennedy. Optimizing Compilers for Modern Architectures. Morgan Kaufmann Publishers, 2001. ISBN 1-55860-286-0.

    Google Scholar 

  2. I.P Sharp & Associates. SHARP APL Release 19.0 Guide for APL Programmers. I.P Sharp & Associates, Ltd., 1987.

    Google Scholar 

  3. D.F. Bacon, S.L. Graham, and O.J. Sharp. Compiler Transformations for High-Performance Computing. ACM Computing Surveys, 26(4):345–420, 1994.

    Article  Google Scholar 

  4. J.P. Benkard. Nested Arrays and Operators — Some Issues in Depth. In Proceedings of the International Conference on Array Processing Languages (APL’92), St.Petersburg, Russia, APL Quote Quad, pages 7–21. ACM Press, 1992.

    Google Scholar 

  5. R. Bernecky. An Introduction to Function Rank. In Proceedings of the International Conference on Array Processing Languages (APL’88), Sydney, Australia, volume 18 of APL Quote Quad, pages 39–43. ACM Press, 1988.

    Google Scholar 

  6. D.C. Cann. The Optimizing SISAL Compiler: Version 12.0. Lawrence Livermore National Laboratory, Livermore, California, 1993. part of the SISAL distribution.

    Google Scholar 

  7. J.T. Feo, P.J. Miller, S.K. Skedzielewski, S.M. Denton, and C.J. Solomon. Sisal 90. In A.P.W. Bohm and J.T. Feo, editors, Proceedings of the Conference on High Performance Functional Computing (HPFC’95), Denver, Colorado, USA, pages 35–47. Lawrence Livermore National Laboratory, Livermore, California, USA, 1995.

    Google Scholar 

  8. C. Grelck. Implementing the NAS Benchmark MG in SAC. In Proceedings of the 16th International Parallel and Distributed Processing Symposium (IPDPS’02), Fort Lauderdale, Florida, USA. IEEE Computer Society Press, 2002.

    Google Scholar 

  9. C. Grelck and S.-B. Scholz. HPF vs. SAC — A Case Study. In A. Bode, T. Ludwig, W. Karl, and R. Wismüller, editors, Proceedings of the 6th European Conference on Parallel Processing (Euro-Par’00), Munich, Germany, volume 1900 of Lecture Notes in Computer Science, pages 620–624. Springer-Verlag, Berlin, Germany, 2000.

    Google Scholar 

  10. R.K.W. Hui. Rank and Uniformity. In Proceedings of the International Conference on Array Processing Languages (APL’95), San Antonio, Texas, USA, APL Quote Quad, pages 83–90. ACM Press, 1995.

    Google Scholar 

  11. International Standards Organization. International Standard for Programming Language APL. ISO N8485, ISO, 1984.

    Google Scholar 

  12. International Standards Organization. Programming Language APL, Extended. ISO N93.03, ISO, 1993.

    Google Scholar 

  13. K.E. Iverson. Programming in J. Iverson Software Inc., Toronto, Canada, 1991.

    Google Scholar 

  14. M.A. Jenkins and J.I. Glagow. A Logical Basis for Nested Array Data Structures.Computer Languages Journal, 14(1):35–51, 1989.

    Article  Google Scholar 

  15. M.A. Jenkins and W.H. Jenkins. The Q’Nial Language and Reference Manual. Nial Systems Ltd., Ottawa, Canada, 1993.

    Google Scholar 

  16. J.R. McGraw, S.K. Skedzielewski, S.J. Allan, R.R. Oldehoeft, et al. Sisal: Streams and Iteration in a Single Assignment Language: Reference Manual Version 1.2. M 146, Lawrence Livermore National Laboratory, Livermore, California, USA, 1985.

    Google Scholar 

  17. R.R. Oldehoeft. Implementing Arrays in SISAL 2.0. In Proceedings of the 2nd SISAL Users Conference, San Diego, California, USA, pages 209–222. Lawrence Livermore National Laboratory, 1992.

    Google Scholar 

  18. S.-B. Scholz. With-loop-folding in SAC — Condensing Consecutive Array Operations. In Proc. 9th International Workshop on Implementation of Functional Languages (IFL’97), St. Andrews, Scotland, UK, selected papers, volume 1467 of LNCS, pages 72–92. Springer, 1998.

    Google Scholar 

  19. S.-B. Scholz. Single Assignment C — Efficient Support for High-Level Array Operations in a Functional Setting. Journal of Functional Programming, 2003. Accepted for publication.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Grelck, C., Scholz, SB. (2003). Axis Control in SAC. In: Peña, R., Arts, T. (eds) Implementation of Functional Languages. IFL 2002. Lecture Notes in Computer Science, vol 2670. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44854-3_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-44854-3_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics