Skip to main content

Explicit Dependence Metadata in an Active Visual Effects Library

  • Conference paper
Languages and Compilers for Parallel Computing (LCPC 2007)

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

Abstract

Developers need to be able to write code using high-level, reusable black-box components. Also essential is confidence that code can be mapped to an efficient implementation on the available hardware, with robust high performance. In this paper we present a prototype component library being developed to deliver this for industrial visual effects applications. Components are based on abstract algorithmic skeletons that provide metadata characterizing data accesses and dependence constraints. Metadata is combined at run-time to build a polytope representation which supports aggressive inter-component loop fusion. We present results for a wavelet-transform-based degraining filter running on multicore PC hardware, demonstrating 3.4x–5.3x speed-ups, improved parallel efficiency and a 30% reduction in memory consumption without compromising the program structure.

This work was partly funded by the EPSRC (ref EP/E002412).

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. Ashby, T.J., Kennedy, A.D., O’Boyle, M.F.P.: Cross component optimisation in a high level category-based language. In: Danelutto, M., Vanneschi, M., Laforenza, D. (eds.) Euro-Par 2004. LNCS, vol. 3149, pp. 654–661. Springer, Heidelberg (2004)

    Google Scholar 

  2. Bacon, D.F., Graham, S.L., Sharp, O.J.: Compiler transformations for high-performance computing. ACM Comput. Surv. 26(4), 345–420 (1994)

    Article  Google Scholar 

  3. Bastoul, C.: Code generation in the polyhedral model is easier than you think. In: PACT 13 IEEE International Conference on Parallel Architecture and Compilation Techniques, Juan-les-Pins, pp. 7–16 (September 2004)

    Google Scholar 

  4. Beckmann, O., Houghton, A., Mellor, M., Kelly, P.: Runtime code generation in C++ as a foundation for domain-specific optimisation. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 291–306. Springer, Heidelberg (2004)

    Google Scholar 

  5. Beckmann, O., Kelly, P., Liniker, P.: Delayed evaluation, self-optimising software components as a programming model. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 323–342. Springer, Heidelberg (2002)

    Google Scholar 

  6. Beckmann, O., Kelly, P.H.J.: Efficient interprocedural data placement optimisation in a parallel library. In: O’Hallaron, D.R. (ed.) LCR 1998. LNCS, vol. 1511, pp. 123–138. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  7. Benoit, A., Cole, M., Hillston, J., Gilmore, S.: Flexible skeletal programming with eSkel. In: Cunha, J.C., Medeiros, P.D. (eds.) Euro-Par 2005. LNCS, vol. 3648, pp. 761–770. Springer, Heidelberg (2005)

    Google Scholar 

  8. Bourdev, L., Jin, H.: Generic Image Library design guide (December 2006), http://opensource.adobe.com/gil/gil_design_guide.pdf

  9. Cohen, A., Girbal, S., Parello, D., Sigler, M., Temam, O., Vasilache, N.: Facilitating the search for compositions of program transformations. In: ACM Int. Conf. on Supercomputing (ICS 2005), Boston, Massachusetts (June 2005)

    Google Scholar 

  10. Czarnecki, K., Eisenecker, U.W., Glück, R., Vandevoorde, D., Veldhuizen, T.L.: Generative programming and active libraries. In: Jazayeri, M., Musser, D.R., Loos, R.G.K. (eds.) Dagstuhl Seminar 1998. LNCS, vol. 1766, pp. 25–39. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  11. Furmento, N., Mayer, A., McGough, S., Newhouse, S., Field, T., Darlington, J.: Optimisation of component-based applications within a grid environment. In: Supercomputing 2001: Proceedings of the 2001 ACM/IEEE conference on Supercomputing (CDROM). ACM Press, New York (2001)

    Google Scholar 

  12. Kelly, P., Beckmann, O., Field, A.J., Baden, S.: THEMIS: Component dependence metadata in adaptive parallel computations. Parallel Processing Letters 11(4) (2001)

    Google Scholar 

  13. Lengauer, C.: Loop parallelization in the polytope model. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 398–416. Springer, Heidelberg (1993)

    Google Scholar 

  14. Nicolescu, C., Jonker, P.: EASY PIPE: An “easy to use” parallel image processing environment based on algorithmic skeletons. In: IPDPS 1901: Proceedings of the 15th International Parallel & Distributed Processing Symposium, p. 114. IEEE Computer Society Press, Los Alamitos (2001)

    Google Scholar 

  15. Osmond, K., Beckmann, O., Field, A.J., Kelly, P.H.J.: A domain-specific interpreter for parallelizing a large mixed-language visualisation application. In: Rauchwerger, L. (ed.) LCPC 2003. LNCS, vol. 2958, pp. 347–361. Springer, Heidelberg (2004)

    Google Scholar 

  16. Pop, S., Silber, G.-A., Cohen, A., Bastoul, C., Girbal, S., Vasilache, N.: GRAPHITE: Polyhedral analyses and optimizations for GCC. In: GNU Compilers Collection Developers Summit, Ottawa, Canada (2006)

    Google Scholar 

  17. Rabhi, F.A., Gorlatch, S. (eds.): Patterns and skeletons for parallel and distributed computing. Springer, London (2003)

    MATH  Google Scholar 

  18. Russell, F.P., Mellor, M.R., Kelly, P.H.J., Beckmann, O.: An active linear algebra library using delayed evaluation and runtime code generation. In: Library-Centric Software Design LCSD 2006 (2006)

    Google Scholar 

  19. Schordan, M., Quinlan, D.: A source-to-source architecture for user-defined optimizations. In: Böszörményi, L., Schojer, P. (eds.) JMLC 2003. LNCS, vol. 2789, pp. 214–223. Springer, Heidelberg (2003)

    Google Scholar 

  20. Song, Y., Xu, R., Wang, C., Li, Z.: Data locality enhancement by memory reduction. In: ICS 2001: Proceedings of the 15th International Conference on Supercomputing, pp. 50–64. ACM Press, New York (2001)

    Chapter  Google Scholar 

  21. De Stefano, A., Collis, B., White, P.: Synthesising and reducing film grain. Journal of Visual Communication and Image Representation 17(1), 163–182

    Google Scholar 

  22. Veldhuizen, T.L., Gannon, D.: Active libraries: Rethinking the roles of compilers and libraries. In: Proceedings of the SIAM Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing (OO 1998). SIAM, Philadelphia (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Vikram Adve María Jesús Garzarán Paul Petersen

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cornwall, J.L.T., Kelly, P.H.J., Parsonage, P., Nicoletti, B. (2008). Explicit Dependence Metadata in an Active Visual Effects Library. In: Adve, V., Garzarán, M.J., Petersen, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2007. Lecture Notes in Computer Science, vol 5234. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85261-2_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-85261-2_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-85260-5

  • Online ISBN: 978-3-540-85261-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics