๐”– Bobbio Scriptorium
โœฆ   LIBER   โœฆ

Profile-guided floating- to fixed-point conversion for hybrid FPGA-processor applications

โœ Scribed by Chen, Doris; Singh, Deshanand


Book ID
118277217
Publisher
Association for Computing Machinery
Year
2013
Tongue
English
Weight
939 KB
Volume
9
Category
Article
ISSN
1544-3566

No coin nor oath required. For personal study only.

โœฆ Synopsis


The key to enabling widespread use of FPGAs for algorithm acceleration is to allow programmers to create efficient designs without the time-consuming hardware design process. Programmers are used to developing scientific and mathematical algorithms in high-level languages (C/C++) using floating point data types. Although easy to implement, the dynamic range provided by floating point is not necessary in many applications; more efficient implementations can be realized using fixed point arithmetic. While this topic has been studied previously [Han et al. 2006; Olson et al. 1999; Gaffar et al. 2004; Aamodt and Chow 1999], the degree of full automation has always been lacking. We present a novel design flow for cases where FPGAs are used to offload computations from a microprocessor. Our LLVM-based algorithm inserts value profiling code into an unmodified C/C++ application to guide its automatic conversion to fixed point. This allows for fast and accurate design space exploration on a host microprocessor before any accelerators are mapped to the FPGA. Through experimental results, we demonstrate that fixed-point conversion can yield resource savings of up to 2x--3x reductions. Embedded RAM usage is minimized, and 13%--22% higher
F
~max~

than the original floating-point implementation is observed. In a case study, we show that 17% reduction in logic and 24% reduction in register usage can be realized by using our algorithm in conjunction with a High-Level Synthesis (HLS) tool.


๐Ÿ“œ SIMILAR VOLUMES