Polyhedral Process Networks

  • Sven Verdoolaege


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.


Communication Channel Buffer Size Array Element Lexicographic Order Process Network 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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).Google Scholar
  3. 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 Sarge Scale Integration (VLSI) Systems (2009). AcceptedGoogle Scholar
  4. 4.
    Darte, A., Schreiber, R., Villard, G.: Lattice-based memory allocation. IEEE Trans. Comput. 54(10), 1242–1257 (2005).CrossRefGoogle Scholar
  5. 5.
    Devos, H., Verdoolaege, S., Van Campenhout, J., Stroobandt, D.: Bounds on quasipolynomials for static program analysis (2010). Manuscript in preparationMATHGoogle Scholar
  6. 6.
    Feautrier, P.: Parametric integer programming. Operationnelle/Operations Research 22(3), 243–268 (1988)MATHMathSciNetGoogle Scholar
  7. 7.
    Feautrier, P.: Dataflow analysis of array and scalar references. International Journal of Parallel Programming 20(1), 23–53 (1991)MATHCrossRefGoogle Scholar
  8. 8.
    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)MathSciNetGoogle Scholar
  9. 9.
    Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The Omega library. Tech. rep., University of Maryland (1996)Google Scholar
  10. 10.
    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
  11. 11.
    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).Google Scholar
  12. 12.
    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
  13. 13.
    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 Developper’s Summit. Ottawa, Canada (2006)Google Scholar
  14. 14.
    Schrijver, A.: Combinatorial Optimization - Polyhedra and Efficiency. Springer (2003)Google Scholar
  15. 15.
    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
  16. 16.
    Turjan, A.: Compaan - A Process Network Parallelizing Compiler. VDM Verlag (2008)Google Scholar
  17. 17.
    Verdoolaege, S.: An integer set library for program analysis (2009). ACES symposium, Edegem, 7–8 SeptemberGoogle Scholar
  18. 18.
    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).Google Scholar
  19. 19.
    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).Google Scholar
  20. 20.
    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).MATHMathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Department of Computer ScienceKatholieke Universiteit LeuvenLeuvenBelgium

Personalised recommendations