Phased Computation Graphs in the Polyhedral Model

We present a translation scheme that allows a broad class of dataflow graphs to be considered under the optimization framework of the polyhedral model. The input to our analysis is a Phased Computation Graph, which we define as a generalization of the most widely used dataflow representations, including synchronous dataflow, cyclo-static dataflow, and computation graphs. The output of our analysis is a System of Affine Recurrence Equations (SARE) that exactly captures the data dependences between the nodes of the original graph. Using the SARE representation, one can apply many techniques from the scientific community that are new to the DSP domain. For example, we propose simple optimizations such as node splitting, decimation propagation, and steady-state invariant code motion that leverage the fine-grained dependence information of the SARE to perform novel transformations on a stream graph. We also propose ways in which the polyhedral model can offer new approaches to classic problems of the DSP community, such as minimizing buffer size, code size, and optimizing the schedule.

[1]  M. Engels,et al.  Grape-II: A System-Level Prototyping Environment for DSP Applications , 1995, Computer.

[2]  Patrice Quinton Automatic synthesis of systolic arrays from uniform recurrent equations , 1984, ISCA '84.

[3]  Praveen K. Murthy,et al.  Shared buffer implementations of signal processing systems usinglifetime analysis techniques , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  R. Karp,et al.  Properties of a model for parallel computations: determinacy , 1966 .

[5]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[6]  Edward A. Lee,et al.  Joint Minimization of Code and Data for Synchronous Dataflow Programs , 1997, Formal Methods Syst. Des..

[7]  Shuvra S. Bhattacharyya,et al.  Parameterized dataflow modeling of DSP systems , 2000, 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.00CH37100).

[8]  M. Manjunathaiah,et al.  Uniformization tool for systolic array designs , 2000 .

[9]  Sanjay V. Rajopadhye,et al.  Optimizing memory usage in the polyhedral model , 2000, TOPL.

[10]  Edward A. Lee,et al.  Scheduling dynamic dataflow graphs with bounded memory using the token flow model , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[11]  Monica S. Lam,et al.  Maximizing Parallelism and Minimizing Synchronization with Affine Partitions , 1998, Parallel Comput..

[12]  Edward A. Lee,et al.  Overview of the Ptolemy project , 2001 .

[13]  Henry Hoffmann,et al.  A stream compiler for communication-exposed architectures , 2002, ASPLOS X.

[14]  P. Quinton Automatic synthesis of systolic arrays from uniform recurrent equations , 1984, ISCA 1984.

[15]  Edward A. Lee,et al.  Multidimensional synchronous dataflow , 2002, IEEE Trans. Signal Process..

[16]  Yves Robert,et al.  Scheduling and Automatic Parallelization , 2000, Birkhäuser Boston.

[17]  Edward A. Lee,et al.  Software Synthesis from Dataflow Graphs , 1996 .

[18]  William Thies,et al.  StreamIt: A Language for Streaming Applications , 2002, CC.

[19]  FeautrierPaul Some efficient solutions to the affine scheduling problem , 1992 .

[20]  PAUL CASPI,et al.  The Synchronous Data Flow Programming Language , 2004 .

[21]  Edward A. Lee,et al.  Resynchronization for multiprocessor DSP systems , 2000, IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications.

[22]  Edward A. Lee,et al.  APGAN and RPMC: Complementary Heuristics for Translating DSP Block Diagrams into Efficient Software Implementations , 1997, Des. Autom. Embed. Syst..

[23]  Paul Feautrier,et al.  Automatic Storage Management for Parallel Programs , 1998, Parallel Comput..

[24]  E.A. Lee,et al.  A comparison of synchronous and cycle-static dataflow , 1995, Conference Record of The Twenty-Ninth Asilomar Conference on Signals, Systems and Computers.

[25]  N. Meyers,et al.  H = W. , 1964, Proceedings of the National Academy of Sciences of the United States of America.

[26]  Paul Le Guernic,et al.  SIGNAL: A declarative language for synchronous programming of real-time systems , 1987, FPCA.

[27]  Jean A. Peperstraete,et al.  Cycle-static dataflow , 1996, IEEE Trans. Signal Process..

[28]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[29]  Frédéric Vivien,et al.  A unified framework for schedule and storage optimization , 2001, PLDI '01.

[30]  Richard M. Karp,et al.  The Organization of Computations for Uniform Recurrence Equations , 1967, JACM.

[31]  Guang R. Gao,et al.  Minimizing memory requirements in rate-optimal schedules , 1994, Proceedings of IEEE International Conference on Application Specific Array Processors (ASSAP'94).

[32]  Monica S. Lam,et al.  Blocking and array contraction across arbitrarily nested loops using affine partitioning , 2001, PPoPP '01.