• DocumentCode
    1950811
  • Title

    Automatic generation of application-specific accelerators for FPGAs from python loop nests

  • Author

    Sheffield, David ; Anderson, Michael ; Keutzer, Kurt

  • Author_Institution
    Dept. of Electr. Eng. & Comput. Sci., UC Berkeley, Berkeley, CA, USA
  • fYear
    2012
  • fDate
    29-31 Aug. 2012
  • Firstpage
    567
  • Lastpage
    570
  • Abstract
    We present Three Fingered Jack, a highly productive approach to mapping vectorizable applications to the FPGA. Our system applies traditional dependence analysis and reordering transformations to a restricted set of Python loop nests. It does this to uncover parallelism and divide computation between multiple parallel processing elements (PEs) that are automatically generated through high-level synthesis of the optimized loop body. Design space exploration on the FPGA proceeds by varying the number of PEs in the system. Over four benchmark kernels, our system achieves 3× to 6× relative to soft-core C performance.
  • Keywords
    field programmable gate arrays; logic design; parallel processing; FPGA; application-specific accelerators; automatic generation; benchmark kernels; design space exploration; high-level synthesis; multiple parallel processing elements; optimized loop body; python loop nests; soft-core C performance; three-fingered Jack; Benchmark testing; Field programmable gate arrays; Image color analysis; Kernel; Random access memory; Table lookup; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Field Programmable Logic and Applications (FPL), 2012 22nd International Conference on
  • Conference_Location
    Oslo
  • Print_ISBN
    978-1-4673-2257-7
  • Electronic_ISBN
    978-1-4673-2255-3
  • Type

    conf

  • DOI
    10.1109/FPL.2012.6339372
  • Filename
    6339372