首页> 外文期刊>ACM Transactions on Architecture and Code Optimization >Profile-Guided Floating- to Fixed-Point Conversion for Hybrid FPGA-Processor Applications
【24h】

Profile-Guided Floating- to Fixed-Point Conversion for Hybrid FPGA-Processor Applications

机译:轮廓引导的浮点到定点转换,用于混合FPGA处理器应用

获取原文
获取原文并翻译 | 示例
           

摘要

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 hovel 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.
机译:使FPGA广泛用于算法加速的关键在于允许程序员创建高效的设计而无需耗时的硬件设计过程。程序员习惯于使用浮点数据类型以高级语言(C / C ++)开发科学和数学算法。尽管易于实现,但在许多应用中并不需要由浮点提供的动态范围。使用定点算法可以实现更有效的实现。尽管以前已经研究了这个主题[Han等。 2006年; Olson等。 1999年; Gaffar等。 2004; Aamodt and Chow 1999],一直缺乏完全自动化的程度。对于使用FPGA卸载微处理器中的计算量的情况,我们提出了一个临时设计流程。我们基于LLVM的算法将值配置文件代码插入未经修改的C / C ++应用程序中,以指导其自动转换为定点,这允许在将任何加速器映射到FPGA之前在主机微处理器上进行快速准确的设计空间探索。通过实验结果,我们证明了定点转换可以节省多达2x-3x的资源。嵌入式RAM使用被最小化,并且观察到的F_(max)比原始浮点实现高出13%-22%。在一个案例研究中,我们表明通过结合使用我们的算法和高级综合(HLS)工具,可以实现逻辑上的17%的减少和24%的寄存器使用的减少。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号