Skip to main content

Towards Dynamic Shaping

  • Chapter
Communication-Based Systems
  • 111 Accesses

Abstract

Shape theory supports techniques for static analysis of the shapes of data structures. This information is being used both to detect errors and to optimise sequential computation. The same techniques will improve the compilation of data parallel programs when all shapes can be statically determined. Even when shapes are not known until execution, research into nested data parallel languages shows that shape information may also be beneficial. This paper considers how shape analysis should be approached in the dynamic setting.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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. Guy E. Blelloch, Siddhartha Chatterjee, Jonathan C. Hardwick, Jay Sipelstein, and Marco Zagha. Implementation of a portable nested data-parallel language. In 4th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 1993.

    Google Scholar 

  2. Guy E. Blelloch and Gary W. Sabot. Compiling collection-oriented languages onto massively parallel computers. Journal of Parallel and Distributed Computing, 8:119–134, 1990.

    Article  Google Scholar 

  3. S. Chatterjee. Compiling nested data-parallel programs for shared-memory multiprocessors. ACM Transactions on Programming Languages and Systems, 15(3):400–462, July 1993.

    Article  Google Scholar 

  4. D.E. Culler and all. Log P: Towards a realistic model of parallel computation. In Proceedings of the Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 1993.

    Google Scholar 

  5. High Performance Fortran Forum. High Performance Fortran language specification. Technical report, Rice University, 1993. Version 1.0.

    Google Scholar 

  6. K. Hammond and G. Michaelson, editors. Research Directions in Parallel Functional Programming, chapter Shaping Distributions. Springer, 1999.

    MATH  Google Scholar 

  7. Jonathan C. Hardwick. Porting a vector library: a comparison of MPI, Paris, CMMD and PVM. In Proceedings 1994 Scalable Parallel Libraries Conference, pages 68–77, October 1994.

    Google Scholar 

  8. R. Harper and G. Morrisett. Compiling polymorphism using intensional type analysis. In Conference Record of POPL ’95: 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 130–141, San Francisco, California, January 1995.

    Chapter  Google Scholar 

  9. C.B. Jay. A semantics for shape. Science of Computer Programming, 25:251–283, 1995.

    Article  MathSciNet  MATH  Google Scholar 

  10. C.B. Jay. The FISh language definition. http://www-staif.socs.uts.edu.au/~cbj/Publications/fishdef.ps.gz, 1998.

    Google Scholar 

  11. C.B. Jay. Costing parallel programs as a function of shapes. Science of Computer Programming, 1999. in press.

    Google Scholar 

  12. C.B. Jay. Partial evaluation of shaped programs: experience with FISh. In O. Dan-vey, editor, ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM ′99) San Antonio, Texas, January 22–23, 1999: Proceedings, pages 147–158. BRICS, 1999.

    Google Scholar 

  13. C.B. Jay, M.I. Cole, M. Sekanina, and P.A. Steckler. A monadic calculus for parallel costing of a functional language of arrays. In C. Lengauer, M. Griebl, and S. Gorlatch, editors, Euro-Par’97 Parallel Processing, volume 1300 of Lecture Notes in Computer Science, pages 650–661. Springer, August 1997.

    Google Scholar 

  14. Gabriele Keller. Transformation-based Implementation of Nested Parallelism for Distributed Memory Machines. PhD thesis, Technical University of Berlin, 1999.

    Google Scholar 

  15. E. Moggi. Notions of computation and monads. Information and Computation, 93(l):55–92, 1991.

    Article  MathSciNet  MATH  Google Scholar 

  16. Jan Prins and Daniel Palmer. Transforming high-level data-parallel programs into vector operations. In Proceedings of the Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 119–128, San Diego, CA., May 19–22, 1993. ACM.

    Chapter  Google Scholar 

  17. D.B. Skillicorn, M. Danelutto, S. Pelagatti, and A. Zavanella. Optimising data-parallel programs using the BSP cost model. In Proceedings of Europar ’98, 1998.

    Google Scholar 

  18. P. Wadler. Comprehending monads. Mathematical Structures in Computer Science, 1993. Special issue of selected papers from 6’th Conference on Lisp and Functional Programming, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer Science+Business Media Dordrecht

About this chapter

Cite this chapter

Jay, C.B., Keller, G. (2000). Towards Dynamic Shaping. In: Hommel, G. (eds) Communication-Based Systems. Springer, Dordrecht. https://doi.org/10.1007/978-94-015-9608-4_8

Download citation

  • DOI: https://doi.org/10.1007/978-94-015-9608-4_8

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-90-481-5399-2

  • Online ISBN: 978-94-015-9608-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics