Compiling Techniques for Coarse Grained Runtime Reconfigurable Architectures

  • Mythri Alle
  • Keshavan Varadarajan
  • Alexander Fell
  • S. K. Nandy
  • Ranjani Narayan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5453)


In this paper we develop compilation techniques for the realization of applications described in a High Level Language (HLL) onto a Runtime Reconfigurable Architecture. The compiler determines Hyper Operations (HyperOps) that are subgraphs of a data flow graph (of an application) and comprise elementary operations that have strong producer-consumer relationship. These HyperOps are hosted on computation structures that are provisioned on demand at runtime. We also report compiler optimizations that collectively reduce the overheads of data-driven computations in runtime reconfigurable architectures. On an average, HyperOps offer a 44% reduction in total execution time and a 18% reduction in management overheads as compared to using basic blocks as coarse grained operations. We show that HyperOps formed using our compiler are suitable to support data flow software pipelining.


Execution Time Total Execution Time Binary Decision Diagram Ordered Binary Decision Diagram Deblocking Filter 
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.
    Alle, M., Varadarajan, K., Joseph, N., Reddy, C.R., Fell, A., Nandy, S.K., Narayan, R.: Synthesis of Application Accelerators on Runtime Reconfigurable Hardware. In: ASAP 2008: Proceedings of the 19th IEEE International Conference on Application specific Systems, Architectures and Processors (2008)Google Scholar
  2. 2.
    Beck, M., Johnson, R., Pingali, K.: From Control Flow to Data Flow. Journal of Parallel and Distributed Computing 12(2), 118–129 (1991)CrossRefGoogle Scholar
  3. 3.
    Lattner, C., Adve, V.: LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In: CGO 2004: Proceedings of the international symposium on Code generation and optimization, Washington, DC, USA (2004)Google Scholar
  4. 4.
    Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. ACM Transactions on Programming Languages and Systems 13(4), 451–490 (1991)CrossRefGoogle Scholar
  5. 5.
    Dennis, J.B., Gao, G.R.: An efficient pipelined dataflow processor architecture. In: Supercomputing 1988: Proceedings of the 1988 ACM/IEEE conference on Supercomputing, Los Alamitos, CA, USA (1988)Google Scholar
  6. 6.
    Gao, G.R.: Algorithmic aspects of balancing techniques for pipelined data flow code generation. J. Parallel Distrib. Comput. 6(1), 39–61 (1989)CrossRefGoogle Scholar
  7. 7.
    Goossens, K., Dielissen, J., Radulescu, A.: Æthereal Network on Chip: Concepts, Architectures and Implementations. IEEE Design & Test of Computers 22(5), 414–421 (2005)CrossRefGoogle Scholar
  8. 8.
    Gupta, S., Dutt, N., Gupta, R., Nicolau, A.: Spark: A high-level synthesis framework for applying parallelizing compiler transformations. In: Proceedings of 16th International Conference on VLSI Design, pp. 461–466 (2003)Google Scholar
  9. 9.
    Inagami, Y., Foley, J.F.: The specification of a new Manchester Dataflow Machine. In: ICS 1989: Proceedings of the 3rd International Conference on Supercomputing, New York, NY, USA (1989)Google Scholar
  10. 10.
    Joseph, N., Ramesh Reddy, C., Varadarajan, K., Alle, M., Fell, A., Nandy, S.K., Narayan, R.: RECONNECT: A NoC for polymorphic ASICs using a Low Overhead Single Cycle Router. In: ASAP 2008: Proceedings of the 19th IEEE International Conference on Application specific Systems, Architectures and Processors (2008)Google Scholar
  11. 11.
    Mahlke, S.A., Lin, D.C., Chen, W.Y., Hank, R.E., Bringmann, R.A.: Effective Compiler Support for Predicated Execution Using the Hyperblock. In: MICRO 25: Proceedings of the 25th Annual International Symposium on Microarchitecture, Portland, Oregon, December 1–4 (1992)Google Scholar
  12. 12.
  13. 13.
    Petersen, A., Putnam, A., Mercaldi, M., Schwerin, A., Eggers, S.J., Swanson, S., Oskin, M.: Reducing control overhead in dataflow architectures. In: Altman, E., Skadron, K., Zorn, B.G. (eds.) 15th PACT 2006: Proceedings of the 15th International Conference on Parallel Architecture and Compilation Techniques, Seattle, Washington, USA, pp. 182–191. ACM, New York (2006)Google Scholar
  14. 14.
    Akers, S.B.: Binary Decision Diagrams. IEEE Transactions on Computers C-27(6), 509–516 (1978)CrossRefzbMATHGoogle Scholar
  15. 15.
    Satrawala, A.N., Varadarajan, K., Alle, M., Nandy, S.K., Narayan, R.: REDEFINE: Architecture of a SOC Fabric for Runtime Composition of Computation Structures. In: FPL 2007: Proceedings of the International Conference on Field Programmable Logic and Applications (August 2007)Google Scholar
  16. 16.
    Swanson, S., Schwerin, A., Mercaldi, M., Petersen, A., Putnam, A., Michelson, K., Oskin, M., Eggers, S.J.: The WaveScalar architecture. ACM Transactions on Computer Systems 25(2), 1–54 (2007)CrossRefGoogle Scholar
  17. 17.
    Vassiliadis, S., Wong, S., Cotofana, S.: The molen rho-mu-coded processor. In: Brebner, G., Woods, R. (eds.) FPL 2001. LNCS, vol. 2147, pp. 275–285. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  18. 18.
    Kathail Vinod, A., Pingali, K.: A Dataflow Architecure with tagged Tokens. Technical Report MIT/LCS/TM-174, Massachusetts Institute of Technology, Laboratory for Computer Science (September 1980)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Mythri Alle
    • 1
  • Keshavan Varadarajan
    • 1
  • Alexander Fell
    • 1
  • S. K. Nandy
    • 1
  • Ranjani Narayan
    • 2
  1. 1.CAD LabIndian Institute Of ScienceBangaloreIndia
  2. 2.Morphing Machines Pvt. LtdBangaloreIndia

Personalised recommendations