并行新时代的可重构计算与可重构多线程架构综述
可重构计算的加速因素与挑战
可重构计算在提升应用执行性能方面展现出巨大潜力,FPGA 作为可重构计算的关键硬件,其加速因素主要有以下两点:
- 消除开销操作 :循环体中管理数据与内存间移动、索引计算和控制操作的指令。通过将数据获取与计算解耦,可消除冯·诺依曼模型固有的开销。不过,当数据需按运行时动态确定的模式随机访问时,这一优势会减弱或消失。数据流式传输还能消除因缓存未命中、数据和指令以及控制操作等导致的流水线气泡,实验测量显示这种低效因素约为一个数量级。
- 实现并行性 :FPGA 可通过展开循环体等方式实现并行性。其并行性主要源于芯片尺寸大,并且通过常量折叠(用逻辑代替寄存器)、可变位宽、分布式存储等优化措施可大幅增强。研究论文中报道的并行度通常按数量级衡量,这是其相较于微处理器实现加速的主要因素。
尽管 FPGA 潜力巨大,但尚未成为主流计算平台,面临以下挑战:
- 可编程性和工具链 :FPGA 编程通常使用硬件描述语言(HDL),需要扎实的逻辑和电路设计背景。与传统语言的简单编译步骤相比,编程工具链长且复杂。HDL 与命令式语言范式截然不同,它描述反应式实体,支持定时和并发。要让 FPGA 更广泛地被接受为代码加速器,需要一种利用广泛使用的编程语言(如 C/C++ 和 Java)的可编程性模型,以及能够抽象 FPGA 架构细节的编程工具链。
- 算法和应用 :理想情况下,将应用代码移植到 FPGA 加速器只需将频繁执行的代码段(通常是循环嵌套)编译为硬件,但
超级会员免费看
订阅专栏 解锁全文
2345

被折叠的 条评论
为什么被折叠?



