A Fusion-Embedded Skeleton Library
This paper addresses a new framework for designing and implementing skeleton libraries, in which each skeleton should not only be efficiently implemented as is usually done, but also be equipped with a structured interface to combine it efficiently with other skeletons. We illustrate our idea with a new skeleton library for parallel programming in C++. It is simple and efficient to use just like other C++ libraries. A distinctive feature of the library is its modularity: Our optimization framework treats newly defined skeletons equally to existing ones if the interface is given. Our current experiments are encouraging, indicating that this approach is promising both theoretically and in practice.
KeywordsSkeletal Parallel Programming Optimization Program Transformation Fusion Transformation Bird-Meertens Formalism
Unable to display preview. Download preview PDF.
- 1.Cole, M.: Algorithmic skeletons: A structured approach to the management of parallel computation. Research Monographs in Parallel and Distributed Computing. Pitman, London (1989)Google Scholar
- 2.Rabhi, F., Gorlatch, S. (eds.): Patterns and Skeletons for Parallel and Distributed Computing. Springer, Heidelberg (2002)Google Scholar
- 3.Skillicorn, D.B.: The Bird-Meertens Formalism as a Parallel Model. In: NATO ARW “Software for Parallel Computation” (1992)Google Scholar
- 6.Hu, Z., Takeichi, M., Chin, W.: Parallelization in calculational forms. In: 25th ACMSymposium on Principles of Programming Languages, San Diego, California, USA, pp. 316–328 (1998)Google Scholar
- 8.Cole, M.: eSkel home page (2002), http://homepages.inf.ed.ac.uk/mic/eSkel/
- 10.Adachi, S., Iwasaki, H., Hu, Z.: Diff: A powerful parallel skeleton. In: The 2000 International Conference on Parallel and Distributed Processing Techniques and Application, Las Vegas, vol. 4, pp. 525–527. CSREA Press (2000)Google Scholar
- 15.Gill, A., Launchbury, J., Peyton Jones, S.: A short cut to deforestation. In: Proc. Conference on Functional Programming Languages and Computer Architecture, Copenhagen, pp. 223–232 (1993)Google Scholar
- 16.Chiba, S.: A metaobject protocol for C++. In: ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 1995), Austin, Texas, USA. SIGPLAN Notices, vol. 30(10), pp. 285–299 (1995)Google Scholar
- 17.Bird, R.S.: An introduction to the theory of lists. In: Broy, M. (ed.) Logic of Programming and Calculi of Discrete Design. NATO ASI Series F, vol. 36, pp. 5–42. Springer, Heidelberg (1987)Google Scholar
- 18.Bird, R.: Introduction to Functional Programming using Haskell. Prentice-Hall, Englewood Cliffs (1998)Google Scholar