Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1023833.1023864acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Translating affine nested-loop programs to process networks

Published: 22 September 2004 Publication History
  • Get Citation Alerts
  • Abstract

    New heterogeneous multiprocessor platforms are emerging that are typically composed of loosely coupled components that exchange data using programmable interconnections. The components can be CPUs or DSPs, specialized IP cores, reconfigurable units, or memories. To program such platform, we use the Process Network (PN) model of computation. The localized control and distributed memory are the two key ingredients of a PN allowing us to program the platforms. The localized control matches the loosely coupled components and the distributed memory matches the style of interaction between the components. To obtain applications in a PN format, we have built the Compaan compiler that translates affine nested-loop programs into functionally equivalent PNs. In this paper, we describe a novel analytical translation procedure we use in our compiler that is based on integer linear programming. The translation procedure consists of four main steps and we will present each step by describing the main idea involved, followed by a representative example.

    References

    [1]
    U. Banerjee. Dependence analysis. The Kluwer Int. Series in Engineering and Computer Science. Kluwer Academic Publishers, 1997.
    [2]
    T. Basten and J. Hoogerbrugge. Efficient execution of process networks. In Communicating Process Architectures - 2001, Proceedings, pages 1--14, Bristol, UK, September 2001.
    [3]
    F. Catthoor, S. Wuytack, E. De Greef, F. Balasa, L. Nachtergaele, and A. Vandecappelle. Custom Memory Management Methodology. Kluwer Academic Publishers, 1998.
    [4]
    I. Cimpian, A. Turjan, E. de~Kock, and E. Deprettere. Communication Optimization in Compaan Process Networks. In Proceedings of the 4th Int. Workshop on Systems, Architectures, MOdeling, and Simulation SAMOS'04, Samos, Greece, July 19-21 2004.
    [5]
    P. Clauss and V. Loechner. Parametric analysis of polyhedral iteration spaces. Journal of VLSI Signal Processing, 19:179--194, July 1998.
    [6]
    A. Darte, Y. Robert, and F. Vivien. Scheduling and Automatic Parallelization. Birkhauser Boston, 2000.
    [7]
    E. de Kock. Multiprocessor Mapping of Process Networks: A JPEG Decoding Case Study. In Proc. 15th Int. Symposium on System Synthesis (ISSS'2002), pages 68--73, Kyoto, Japan, Oct. 2-4 2002.
    [8]
    E. de Kock, G. Essink, W. Smits, P. van der Wolf, J.-Y. Brunel, W. Kruijtzer, P. Lieverse, and K. Vissers. YAPI: Application modeling for signal processing systems. In Proc. 37th Design Automation Conference (DAC'2000), pages 402--405, Los Angeles, CA, June~5-9 2000.
    [9]
    E. Ehrhart. Polynomes arithmetiques et Methode des Polyedres en Combinatoire. Birkhauser Verlag, Basel, Int. series of numerical mathematics vol. 35 edition, 1977.
    [10]
    P. Feautrier. Parametric Integer Programming. In RAIRO Recherche Operationnelle, 22(3):243-268, 1988.
    [11]
    P. Feautrier. Dataflow Analysis of Scalar and Array References. Int. J. of Parallel Programming, 20(1):23--53, 1991.
    [12]
    T. Harriss, R. Walke, B. Kienhuis, and E. Deprettere. Compilation from matlab to process networks realized in fpga. Design automation of Embedded Systems, 7(4), Nov. 2002.
    [13]
    P. Held. Functional Design of Data-Flow Networks. PhD thesis, Delft University of Technology, The Netherlands, 1996.
    [14]
    R. Kannan and A. Bachem. Polynomial algorithms for computing the Smith and Hermite normal forms of an integer matrix. In SIAM J. Comput., 8 4, pages 499--507, 1979.
    [15]
    V. Kathail, S. Aditya, R. Schreiber, and B. Rau. PICO: Automatically Designing Custom Computers. IEEE Computer, 35(9), Sept. 2002.
    [16]
    B. Kienhuis. MatParser: An array dataflow analysis compiler. Technical report, University of California at Berkeley, 2000. UCB/ERL M00/9.
    [17]
    B. Kienhuis, E. Rijpkema, and E. F. Deprettere. Compaan: Deriving process networks from matlab for embedded signal processing architectures. In 8th Int. Workshop on Hardware/Software Codesign (CODES'2000), San Diego, USA, May 2000.
    [18]
    E. A. Lee and T. M. Parks. Dataflow process networks. Proceedings of the IEEE, 83(5):773--799, May 1995.
    [19]
    E. Lee et al. PtolemyII: Heterogeneous Concurrent Modeling and Design in Java. Technical report, University of California at Berkeley, 1999. UCB/ERL M99/40.
    [20]
    D. Maydan, S. Amarashinghe, and M. Lam. Data Dependence and Data-Flow Analysis of Arrays. In Proc. of 5th Workshop of Languages and Compilers for Parallel Computing, pages 434--448, Aug. 1992.
    [21]
    T. Parks. Bounded scheduling of process networks, Dec. 1995. T. M. Parks, Bounded Scheduling of Process Networks, Technical Report UCB/ERL-95-105. PhD Dissertation. EECS Department, University of California, Berkeley.
    [22]
    http://www.picochip.com.
    [23]
    W. Pugh. The Omega Test: A Fast and Practical Integer Programming Algorithm for Dependence Analysis. Communications of the ACM, 35(8):102--114, 1992.
    [24]
    W. Pugh and D. Wonnacott. An Exact Method for Analysis of Value-based Array Data Dependences. In Proceedings of the Sixth Workshop on Programming Languages and Compilers for Parallel Computing, Dec 93.
    [25]
    E. Rijpkema. Modeling Task Level Parallelism in Piece-wise Regular Programs. PhD thesis, Leiden Institute of Advanced Computer Science, Leiden University, The Netherlands, Sept. 2002.
    [26]
    T. Stefanov, B. Kienhuis, and E. Deprettere. Algorithmic Transformation Techniques for Efficient Exploration of Alternative Application Instances. In Proc. 10th Int. Symposium on Hardware/Software Codesign (CODES'02), pages 7--12, Estes Park CO, USA, May~6-8 2002.
    [27]
    T. Stefanov, C. Zissulescu, A. Turjan, B. Kienhuis, and E. Deprettere. System Design using Kahn Process Networks: The Compaan/Laura Approach. In Proc. 7th Int. Conf. Design, Automation and Test in Europe (DATE'04), Paris, France, Feb. 16 -- 20 2004.
    [28]
    P. Stravers and J. Hoogerbrugge. Homogeneous multiprocessoring and the future of silicon design paradigms. In Proc. of the Int. Symposium on VLSI Technology, Systems, and Applications, Apr. 2001.
    [29]
    http://www.synfora.com.
    [30]
    L. Thiele. On the Design of Piecewise Regular Processor Arrays. In Proc. IEEE Symp. on Circuits and Systems, pages 2239--2242, Portland, USA, 1989.
    [31]
    A. Turjan and B. Kienhuis. Storage Management in Process Networks using the Lexicographically Maximal Preimage. In Proceedings of the IEEE 14th Int. Conf. on Application-specific Systems, Architectures and Processors (ASAP'03), The Hague, The Netherlands, June 24-26 2003.
    [32]
    A. Turjan, B. Kienhuis, and E. Deprettere. Realizations of the Extended Linearization Model. Marcel Dekker, Inc., Domain-Specific Processors: Systems, Architectures, Modeling, and Simulation edition, 2003.
    [33]
    A. Turjan, B. Kienhuis, and E. Deprettere. A Hierarchical Classification Scheme to Derive Interprocess Communication in Process Networks. In Proceedings of the IEEE 14th Int. Conf. on Application-specific Systems, Architectures and Processors (ASAP'04), Galveston, Texas, Sept 27-29 2004.
    [34]
    A. Turjan, B. Kienhuis, and E. Deprettere. An Integer Linear Programming Approach to Classify Communication in Process Networks. In 8th Int. Workshop on Software and Compilers for Embedded Systems (SCOPES), Amsterdam, Sept. 2--3 2004.
    [35]
    S. Verdoolaege, K. Beyis, M. Bruynooghe, R. Seghir, and V. Loechner. Analytical Computation of Ehrhart Polynomials and its Applications for Embedded Systems. In 2nd Workshop on Optimizations for DSP and Embedded Systems, (ODES'02), Palo Alto, CA, 2004.
    [36]
    D. Wilde. A library for doing polyhedral operations. In Technical Report PI 785, IRISA, Rennes, France, 1993.
    [37]
    http://www.xilinx.com.
    [38]
    C. Zissulescu, T. Stefanov, B. Kienhuis, and E. Deprettere. LAURA: Leiden Architecture Research and Exploration Tool. In Proc. 13th Int. Conference on Field Programmable Logic and Applications (FPL'03), 2003.

    Cited By

    View all
    • (2019)Polyhedral Compilation for Multi-dimensional Stream ProcessingACM Transactions on Architecture and Code Optimization10.1145/333099916:3(1-26)Online publication date: 18-Jul-2019
    • (2019)Verification of parallelising transformations of KPN modelsIET Cyber-Physical Systems: Theory & Applications10.1049/iet-cps.2018.5008Online publication date: 11-Mar-2019
    • (2019)Circular Buffers with Multiple Overlapping Windows for Cyclic Task GraphsTransactions on High-Performance Embedded Architectures and Compilers V10.1007/978-3-662-58834-5_3(39-58)Online publication date: 23-Feb-2019
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CASES '04: Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems
    September 2004
    324 pages
    ISBN:1581138903
    DOI:10.1145/1023833
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 22 September 2004

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. heterogeneous embedded systems
    2. integer linear programming
    3. process networks

    Qualifiers

    • Article

    Conference

    CASES04

    Acceptance Rates

    Overall Acceptance Rate 52 of 230 submissions, 23%

    Upcoming Conference

    ESWEEK '24
    Twentieth Embedded Systems Week
    September 29 - October 4, 2024
    Raleigh , NC , USA

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 28 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Polyhedral Compilation for Multi-dimensional Stream ProcessingACM Transactions on Architecture and Code Optimization10.1145/333099916:3(1-26)Online publication date: 18-Jul-2019
    • (2019)Verification of parallelising transformations of KPN modelsIET Cyber-Physical Systems: Theory & Applications10.1049/iet-cps.2018.5008Online publication date: 11-Mar-2019
    • (2019)Circular Buffers with Multiple Overlapping Windows for Cyclic Task GraphsTransactions on High-Performance Embedded Architectures and Compilers V10.1007/978-3-662-58834-5_3(39-58)Online publication date: 23-Feb-2019
    • (2017)PRESGenProceedings of the 2017 Workshop on Software Engineering Methods for Parallel and High Performance Applications10.1145/3085158.3086158(13-20)Online publication date: 26-Jun-2017
    • (2017)Daedalus: System-Level Design Methodology for Streaming Multiprocessor Embedded Systems on ChipsHandbook of Hardware/Software Codesign10.1007/978-94-017-7358-4_30-1(1-36)Online publication date: 11-Apr-2017
    • (2016)Parametrized system level design: Real-time X-Ray image processing case study2016 IEEE 27th International Conference on Application-specific Systems, Architectures and Processors (ASAP)10.1109/ASAP.2016.7760793(196-201)Online publication date: Jul-2016
    • (2014)SDG2KPN: System Dependency Graph to function-level KPN generation of legacy code for MPSoCs2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC)10.1109/ASPDAC.2014.6742901(267-273)Online publication date: Jan-2014
    • (2013)Automated generation of polyhedral process networks from affine nested-loop programs with dynamic loop boundsACM Transactions on Embedded Computing Systems10.1145/2536747.253675013:1s(1-24)Online publication date: 6-Dec-2013
    • (2013)A unified execution model for multiple computation models of streaming applications on a composable MPSoCJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2013.07.00659:10(1032-1046)Online publication date: 1-Nov-2013
    • (2012)Applications of behavioural transformations in embedded system designIETE Technical Review10.4103/0256-4602.10316629:5(372)Online publication date: 2012
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media