Abstract:
We present Hot & Spicy an open-source infrastructure and tool suite for integrating FPGA accelerators in Python applications, provided entirely as Python source code and ...Show MoreMetadata
Abstract:
We present Hot & Spicy an open-source infrastructure and tool suite for integrating FPGA accelerators in Python applications, provided entirely as Python source code and available at https://spicy.isi.edu. This suite of tools eases the packaging, integration, and binding of accelerators and their C/C++ based drivers callable from a Python application. The Hot & Spicy tools can: (1) translate Python functions to HLS-suitable C functions, (2) generate Python C wrapper bindings, (3) automate the FPGA EDA tool flow, and (4) retarget Python source code to use accelerated libraries. For FPGA experts, this enables increased productivity and supports research on each stage of the flow by providing a framework to integrate additional compilers and optimizations. For everyone else this enables fast, consistent, acceleration of applications on FPGAs. We describe the design principles and flows for supporting high-level Python abstractions in an FPGA development flow. Then we evaluate the overheads of calling C/C++ routines from Python. Lastly, we show the results of accelerating a kernel in a Python image processing application and achieve a 39,137× speedup over the original Python implementation, and 6× speedup over an high-performance, hand-optimized OpenCV library implementation.
Published in: 2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)
Date of Conference: 29 April 2018 - 01 May 2018
Date Added to IEEE Xplore: 11 September 2018
ISBN Information:
Electronic ISSN: 2576-2621