• DocumentCode
    2679971
  • Title

    Massively parallel programming models used as hardware description languages: The OpenCL case

  • Author

    Owaida, Muhsen ; Bellas, Nikolaos ; Antonopoulos, Christos D. ; Daloukas, Konstantis ; Antoniadis, Charalambos

  • Author_Institution
    Dept. of Comput. & Commun. Eng., Univ. of Thessaly, Volos, Greece
  • fYear
    2011
  • fDate
    7-10 Nov. 2011
  • Firstpage
    326
  • Lastpage
    333
  • Abstract
    The problem of automatically generating hardware modules from high level application representations has been at the forefront of EDA research during the last few years. In this paper, we introduce a methodology to automatically synthesize hardware accelerators from OpenCL applications. OpenCL is a recent industry supported standard for writing programs that execute on multicore platforms and accelerators such as GPUs. Our methodology maps OpenCL kernels into hardware accelerators, based on architectural templates that explicitly decouple computation from memory communication whenever this is possible. The templates can be tuned to provide a wide repertoire of accelerators that meet user performance requirements and FPGA device characteristics. Furthermore, a set of high- and low-level compiler optimizations is applied to generate optimized accelerators. Our experimental evaluation shows that the generated accelerators are tuned efficiently to match the applications memory access pattern and computational complexity, and to achieve user performance requirements. An important objective of our tool is to expand the FPGA development user base to software engineers, thereby expanding the scope of FPGAs beyond the realm of hardware design.
  • Keywords
    computational complexity; field programmable gate arrays; graphics processing units; hardware description languages; multiprocessing systems; optimising compilers; parallel programming; EDA research; FPGA development; FPGA device characteristics; GPU; OpenCL case; applications memory access pattern; architectural templates; compiler optimizations; computational complexity; hardware accelerator synthesis; hardware description languages; hardware modules; high level application representations; multicore platforms; parallel programming models; Computational modeling; Field programmable gate arrays; Hardware; Kernel; Optimization; Pipelines; Synchronization; Electronic Design Automation; Embedded Systems; FPGA; OpenCL; Reconfigurable Computing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer-Aided Design (ICCAD), 2011 IEEE/ACM International Conference on
  • Conference_Location
    San Jose, CA
  • ISSN
    1092-3152
  • Print_ISBN
    978-1-4577-1399-6
  • Electronic_ISBN
    1092-3152
  • Type

    conf

  • DOI
    10.1109/ICCAD.2011.6105349
  • Filename
    6105349