IEEE Transactions on Computers · 2021 · 40 citations · 9 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureField-programmable Gate ArraysField-programmable Gate Array ArchitectureFpga ArchitectureFpga Programming ModelsHardware AccelerationHigh-level SynthesisReconfigurable AcceleratorsCompilation For Reconfigurable HardwareCompiler-based High-level SynthesisData Type InferenceDesign IterationDesign Iteration ManagementEfficiency RequirementsSoftware-to-hardware CompilationType Inference
The exploding complexity and computation efficiency requirements of applications are stimulating a strong demand for hardware acceleration with heterogeneous platforms such as FPGAs. However, a high-quality FPGA design is very hard to create as it requires FPGA expertise and a long design iteration time. In contrast, software applications are typically developed in a short development cycle, with high-level languages like Python, which is at a much higher level of abstraction than all existing hardware design flows. To close this gap and simplify FPGA programming, we create PyLog, a high-level, algorithm-centric programming and synthesis flow for FPGA. PyLog features a set of compiler optimization passes and a type inference system to generate high-quality design. It abstracts away the implementation details, and allows designers to focus on algorithm specification. PyLog takes in Python functions and generates complete optimized FPGA system design. PyLog also has a runtime that allows users to run the PyLog code directly on the target FPGA platform without any extra code development. The whole design flow is automated. The evaluation shows that PyLog significantly improves FPGA design productivity and generates highly efficient FPGA designs that outperform highly optimized CPU and FPGA versions by 3.17x and 1.24x on average.
9
Jonathan Ragan‐Kelley, Connelly Barnes, Andrew Adams et al. · 2013 · 895 citations
Jonathan Ragan‐Kelley, Connelly Barnes, Andrew Adams et al. · ACM SIGPLAN Notices · 2013 · 490 citations · Full text
Auto-tuning a high-level language targeted to GPU codes
Scott Grauer-Gray, Lifan Xu, Robert Searles et al. · 2012 · 460 citations
Arvind K. Sujeeth, Kevin J. Brown, HyoukJoong Lee et al. · ACM Transactions on Embedded Computing Systems · 2014 · 173 citations · Full text