• DocumentCode
    3638885
  • Title

    OpenCL-based design methodology for application-specific processors

  • Author

    Pekka O. Jäskeläinen;Carlos S. de La Lama;Pablo Huerta;Jarmo H. Takala

  • Author_Institution
    Tampere University of Technology, Department of Computer Systems, Tampere, Finland
  • fYear
    2010
  • Firstpage
    223
  • Lastpage
    230
  • Abstract
    OpenCL is a programming language standard which enables the programmer to express the application by structuring its computation as kernels. The OpenCL compiler is given the explicit freedom to parallelize the execution of kernel instances at all the levels of parallelism. In comparison to the traditional C programming language which is sequential in nature, OpenCL enables higher utilization of parallelism naturally available in hardware constructs while still having a feasible learning curve for engineers familiar with the C language. This paper describes methodology and compiler techniques involved in applying OpenCL as an input language for a design flow of application-specific processors. At the core of the methodology is a whole program optimizing compiler that links together the host and kernel codes of the input OpenCL program and parallelizes the result on a customized statically scheduled processor. The OpenCL vendor extension mechanism is used to provide clean access to custom operations. The methodology is studied with a design case to verify the scalability of the implementation at the instruction level and to exemplify the use of custom operations. The case shows that the use of OpenCL allows producing scalable application-specific processor designs and makes it possible to gradually reach the performance of hand-tailored RTL designs by exploiting the OpenCL extension mechanism to access custom hardware operations of varying complexity.
  • Keywords
    "Kernel","Program processors","Registers","Hardware","Parallel processing","Computer architecture","Programming"
  • Publisher
    ieee
  • Conference_Titel
    Embedded Computer Systems (SAMOS), 2010 International Conference on
  • Print_ISBN
    978-1-4244-7936-8
  • Type

    conf

  • DOI
    10.1109/ICSAMOS.2010.5642061
  • Filename
    5642061