Skip to main content

Polyhedral Process Networks

  • Chapter
  • First Online:
Handbook of Signal Processing Systems

Abstract

Reference implementations of signal processing applications are often written in a sequential language that does not reveal the available parallelism in the application. However, if an application satisfies some constraints then a parallel specification can be derived automatically. In particular, if the application can be represented in the polyhedral model, then a polyhedral process network can be constructed from the application. After introducing the required polyhedral tools, this chapter details the construction of the processes and the communication channels in such a network. Special attention is given to various properties of the communication channels including their buffer sizes.

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 219.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 279.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

Notes

  1. 1.

    http://freecode.com/projects/barvinok/

  2. 2.

    http://freecode.com/projects/isl/

  3. 3.

    http://www.piplib.org/

  4. 4.

    http://www.chunchen.info/omega/

  5. 5.

    http://icps.u-strasbg.fr/pco/bernstein.htm

  6. 6.

    http://www.cloog.org/

References

  1. Amarasinghe, S.P., Anderson, J.M., Lam, M.S., Tseng, C.W.: The SUIF compiler for scalable parallel machines. In: Proceedings of the Seventh SIAM Conference on Parallel Processing for Scientific Computing (1995)

    Google Scholar 

  2. Bastoul, C.: Code generation in the polyhedral model is easier than you think. In: PACT ’04: Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, pp. 7–16. IEEE Computer Society, Washington, DC, USA (2004). DOI 10.1109/PACT. 2004.11

    Google Scholar 

  3. Clauss, P., Fernández, F.J., Gabervetsky, D., Verdoolaege, S.: Symbolic polynomial maximization over convex sets and its application to memory requirement estimation. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 17, 983–996 (2009)

    Google Scholar 

  4. Cook, W., Rutherford, T., Scarf, H.E., Shallcross, D.F.: An implementation of the generalized basis reduction algorithm for integer programming. ORSA Journal on Computing 5(2) (1993)

    Google Scholar 

  5. Darte, A., Schreiber, R., Villard, G.: Lattice-based memory allocation. IEEE Trans. Comput. 54(10), 1242–1257 (2005). DOI 10.1109/TC.2005. 167

    Article  Google Scholar 

  6. Devos, H., Van Campenhout, J., Stroobandt, D.: Finding bounds on ehrhart quasi-polynomials. In: Architecture and Compilers for Embedded Systems (ACES 2007), Edegem. 2007 (2007). DOI 1854/11101

    Google Scholar 

  7. Feautrier, P.: Parametric integer programming. Operationnelle/Operations Research 22(3), 243–268 (1988)

    MathSciNet  MATH  Google Scholar 

  8. Feautrier, P.: Dataflow analysis of array and scalar references. International Journal of Parallel Programming 20(1), 23–53 (1991)

    Article  MATH  Google Scholar 

  9. Geilen, M., Basten, T.: Kahn process networks and a reactive extension. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, second edn. Springer (2013)

    Google Scholar 

  10. Grosser, T., Zheng, H., A, R., Simbürger, A., Grösslinger, A., Pouchet, L.N.: Polly - polyhedral optimization in LLVM. In: First International Workshop on Polyhedral Compilation Techniques (IMPACT’11). Chamonix, France (2011)

    Google Scholar 

  11. Kahn, G.: The semantics of a simple language for parallel programming. In: Proc. of the IFIP Congress 74, pp. 471–475. North-Holland Publishing Co. (1974)

    Google Scholar 

  12. Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The Omega library. Tech. rep., University of Maryland (1996)

    Google Scholar 

  13. Kelly, W., Pugh, W., Rosser, E.: Code generation for multiple mappings. In: Frontiers’95 Symposium on the Frontiers of Massively Parallel Computation. McLean (1995)

    Google Scholar 

  14. Kienhuis, B., Rijpkema, E., Deprettere, E.: Compaan: Deriving process networks from Matlab for embedded signal processing architectures. In: CODES ’00: Proceedings of the eighth international workshop on Hardware/software codesign, pp. 13–17. ACM Press, New York, NY, USA (2000). DOI 10.1145/334012.334015

    Google Scholar 

  15. Meijer, S., Nikolov, H., Stefanov, T.: Throughput modeling to evaluate process merging transformations in polyhedral process networks. In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE ’10, pp. 747–752. European Design and Automation Association, 3001 Leuven, Belgium (2010)

    Google Scholar 

  16. Meister, B., Verdoolaege, S.: Polynomial approximations in the polytope model: Bringing the power of quasi-polynomials to the masses. In: J. Sankaran, T. Vander Aa (eds.) Digest of the 6th Workshop on Optimization for DSP and Embedded Systems, ODES-6 (2008)

    Google Scholar 

  17. Pop, S., Cohen, A., Bastoul, C., Girbal, S., Jouvelot, P., Silber, G.A., Vasilache, N.: Graphite: Loop optimizations based on the polyhedral model for GCC. In: 4th GCC Developer’s Summit. Ottawa, Canada (2006)

    Google Scholar 

  18. Schrijver, A.: Combinatorial Optimization - Polyhedra and Efficiency. Springer (2003)

    Google Scholar 

  19. Schweitz, E., Lethin, R., Leung, A., Meister, B.: R-stream: A parametric high level compiler. In: J. Kepner (ed.) Proceedings of HPEC 2006, 10th Annual Workshop on High Performance Embedded Computing. Lincoln Labs, Lexington, MA (2006)

    Google Scholar 

  20. Turjan, A.: Compaan - A Process Network Parallelizing Compiler. VDM Verlag (2008)

    Google Scholar 

  21. Verdoolaege, S.: isl: An integer set library for the polyhedral model. In: K. Fukuda, J. Hoeven, M. Joswig, N. Takayama (eds.) Mathematical Software - ICMS 2010, Lecture Notes in Computer Science, vol. 6327, pp. 299–302. Springer (2010)

    Google Scholar 

  22. Verdoolaege, S.: Counting affine calculator and applications. In: First International Workshop on Polyhedral Compilation Techniques (IMPACT’11). Chamonix, France (2011)

    Google Scholar 

  23. Verdoolaege, S., Beyls, K., Bruynooghe, M., Catthoor, F.: Experiences with enumeration of integer projections of parametric polytopes. In: R. Bodik (ed.) Proceedings of 14th International Conference on Compiler Construction, Edinburgh, Scotland, Lecture Notes in Computer Science, vol. 3443, pp. 91–105. Springer-Verlag, Berlin (2005). DOI 10.1007/ b107108

    Google Scholar 

  24. Verdoolaege, S., Nikolov, H., Stefanov, T.: pn: A tool for improved derivation of process networks. EURASIP Journal on Embedded Systems, special issue on Embedded Digital Signal Processing Systems 2007 (2007). DOI 10.1155/2007/75947

    Google Scholar 

  25. Verdoolaege, S., Seghir, R., Beyls, K., Loechner, V., Bruynooghe, M.: Counting integer points in parametric polytopes using Barvinok’s rational functions. Algorithmica 48(1), 37–66 (2007). DOI 10.1007/ s00453-006-1231-0

    Article  MathSciNet  MATH  Google Scholar 

  26. Ziegler, G.M.: Lectures on Polytopes. Springer-Verlag, Berlin (1995)

    Book  MATH  Google Scholar 

Download references

Acknowledgements

This work was supported by FWO-Vlaanderen, project G.0232.06N. The author would like to thank Maurice Bruynooghe and Sjoerd Meijer for their feedback on earlier versions of this chapter.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sven Verdoolaege .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Verdoolaege, S. (2013). Polyhedral Process Networks. In: Bhattacharyya, S., Deprettere, E., Leupers, R., Takala, J. (eds) Handbook of Signal Processing Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-6859-2_41

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-6859-2_41

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-6858-5

  • Online ISBN: 978-1-4614-6859-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics