Bridging the FPGA programmability-portability Gap via automatic OpenCL code generation and tuning

Bridging the FPGA programmability-portability Gap via automatic OpenCL code generation and tuning
复制标题

通过自动 OpenCL 代码生成和调整来缩小 FPGA 可编程性与可移植性之间的差距

DOI:
10.1109/asap.2016.7760796
复制
发表时间:
2016
期刊:
2016 IEEE 27th International Conference on Application-specific Systems, Architectures and Processors (ASAP)
影响因子:
--
通讯作者:
Wu
Wu
中科院分区:
--
文献类型:
--
作者:
K. Krommydas;Ruchira Sasanka;Wu

文献摘要

被引文献

相似文献

FPGA编程一直是一项艰巨的任务,需要广泛的硬件设计语言(HDL)知识,如Verilog或VHDL,以及底层硬件细节。随着OpenCL对FPGA的支持,FPGA的设计、原型设计和实现越来越多地朝着更高的抽象层次发展,而HDL本质上是低层次的。另一方面,在传统的背景下(即,CPU)软件开发,OpenCL仍然被认为是低级和复杂的,因为程序员需要手动暴露代码中的并行性。在这项工作中,我们提出了我们的方法来提高FPGA的可编程性,通过GLAF,一个可视化的编程框架,自动生成可合成的OpenCL代码与FPGA特定的优化阵列。我们发现,我们的工具促进了开发过程,并产生功能正确和性能良好的代码在FPGA上为我们的分子建模,基因序列搜索和过滤算法。
Programming FPGAs has been an arduous task that requires extensive knowledge of hardware design languages (HDLs), such as Verilog or VHDL, and low-level hardware details. With OpenCL support for FPGAs, the design, prototyping and implementation of an FPGA is increasingly moving towards a much higher level of abstraction, when compared to the intrinsically low-level nature of HDLs. On the other hand, in the context of traditional (i.e., CPU) software development, OpenCL is still considered to be low-level and complex because the programmer needs to manually expose parallelism in the code. In this work, we present our approach to enhancing FPGA programmability via GLAF, a visual programming framework, to automatically generate synthesizable OpenCL code with an array of FPGA-specific optimizations. We find that our tool facilitates the development process and produces functionally correct and well-performing code on the FPGA for our molecular modeling, gene sequence search, and filtering algorithms.