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
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;
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
DOI :
10.1109/FPL.2012.6339372