Optimal Unroll Factor for Reconfigurable Architectures

  • Ozana Silvia Dragomir
  • Elena Moscu-Panainte
  • Koen Bertels
  • Stephan Wong
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4943)


Loops are an important source of optimization. In this paper, we address such optimizations for those cases when loops contain kernels mapped on reconfigurable fabric. We assume the Molen machine organization and Molen programming paradigm as our framework. The proposed algorithm computes the optimal unroll factor u for a loop that contains a hardware kernel K such that u instances of K run in parallel on the reconfigurable hardware, and the targeted balance between performance and resource usage is achieved. The parameters of the algorithm consist of profiling information about the execution times for running K in both hardware and software, the memory transfers and the utilized area. In the experimental part, we illustrate this method by applying it to a loop nest from a real-life application (MPEG2), containing the DCT kernel.


Execution Time Memory Access Shared Memory Loop Nest Multiple Kernel 
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.
    Vassiliadis, S., Wong, S., Gaydadjiev, G.N., Bertels, K., Kuzmanov, G., Panainte, E.M.: The MOLEN Polymorphic Processor. IEEE Transactions on Computers, 1363–1375, (October 2004)Google Scholar
  2. 2.
    Panainte, E.M., Bertels, K., Vassiliadis, S.: The PowerPC Backend Molen Compiler. In: Becker, J., Platzner, M., Vernalde, S. (eds.) FPL 2004. LNCS, vol. 3203, pp. 434–443. Springer, Heidelberg (2004)Google Scholar
  3. 3.
    Yankova, Y.D., Kuzmanov, G., Bertels, K., Gaydadjiev, G., Lu, J., Vassiliadis, S.: DWARV: DelftWorkbench Automated Reconfigurable VHDL Generator. In: The 17th International Conference on Field Programmable Logic and Applications (FPL 2007) (August 2007), pp. 697–701 (2007)Google Scholar
  4. 4.
    Guo, Z., Buyukkurt, B., Najjar, W., Vissers, K.: Optimized Generation of data-path from C codes for FPGAs. In: DATE 2005: Proceedings of the conference on Design, Automation and Test in Europe (March 2005), pp. 112–117 (2005)Google Scholar
  5. 5.
    Gupta, S., Dutt, N., Gupta, R., Nicolau, A.: Loop shifting and compaction for the high-level synthesis of designs with complex control flow. In: DATE 2004: Proceedings of the conference on Design, Automation and Test in Europe (February 2004), pp. 114–119 (2004)Google Scholar
  6. 6.
    Mei, B., Vernalde, S., Verkest, D., Man, H.D., Lauwereins, R.: Exploiting Loop-Level Parallelism on Coarse-Grained Reconfigurable Architectures Using Modulo Scheduling. In: DATE 2003: Proceedings of the conference on Design, Automation and Test in Europe (March 2003), pp. 296–301 (2003)Google Scholar
  7. 7.
    Cardoso, J.M.P., Diniz, P.C.: Modeling loop unrolling: approaches and open issues. In: Pimentel, A.D., Vassiliadis, S. (eds.) SAMOS 2004. LNCS, vol. 3133, pp. 224–233. Springer, Heidelberg (2004)Google Scholar
  8. 8.
    Weinhardt, M., Luk, W.: Pipeline vectorization. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 234–248 (February 2001)Google Scholar
  9. 9.
    Liao, J., Wong, W.F., Mitra, T.: A model for hardware realization of kernel loops. In: Y. K. Cheung, P., Constantinides, G.A. (eds.) FPL 2003. LNCS, vol. 2778, pp. 334–344. Springer, Heidelberg (2003)Google Scholar
  10. 10.
    Banerjee, S., Bozorgzadeh, E., Dutt, N.: PARLGRAN: parallelism granularity selection for scheduling task chains on dynamically reconfigurable architectures. In: ASP-DAC 2006: Proceedings of the 2006 conference on Asia South Pacific design automation (January 2006), pp. 491–496 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Ozana Silvia Dragomir
    • 1
  • Elena Moscu-Panainte
    • 1
  • Koen Bertels
    • 1
  • Stephan Wong
    • 1
  1. 1.Computer Engineering, EEMCSDelft University of TechnologyDelftThe Netherlands

Personalised recommendations