当CPU遇到FPGA 异构计算威力大无穷
2016-07-13
作者:王伟
来源:电子技术应用
在过去较长一段时间里,我们使用单核CPU进行计算,然而随着晶体管尺寸的不断减小,单核CPU的性能提升遇到瓶颈。而单纯的增加核心数目对性能提升有限,同时由于同构处理器累加造成能效低下,功耗、散热、可靠性等问题难以解决。
此时,专用领域的众核处理器与CPU组成的异构计算平台成为了一种新的解决方案,由此开启了异构计算时代的大门。其中CPU+FPGA的新型异构计算平台,因其较高的能量效率,成为了一个新的研究热点。
在2016年中国(成都)电子展期间,电子技术应用举办了以“基于FPGA的异构计算开发平台及应用”为主题的Tech-Workshop。来自电子科技大学的黄乐天博士介绍了基于CPU和FPGA平台进行数据挖掘的算法研究与实现。这里的FPGA异构计算平台,采用了OpenCL异构计算标准进行异构程序的设计,包括运行在CPU上的主机程序以及运行在FPGA上的内核程序。同时,黄乐天还分享了两个设计方案,即分类/聚类算法异构实现方案设计和游戏机器人异构实现方案设计。
电子科技大学黄乐天博士
分类/聚类算法异构实现方案设计
传统异构方案中,CPU将数据一次性发送给FPGA,处理完成后再交给CPU,加速设备与主机并不同时参与计算。与传统方案不同,本设计采用了设备间流水处理的加速方案,即:将数据集进行了分组,各组数据在被处理时可在FPGA与CPU之间形成流水操作,使得CPU和FPGA可以同时参与计算,充分发挥了异构系统的优势。
KNN算法异构实现方案设计
游戏机器人异构实现方案设计
本设计的主机端采用Intel 的CPU,主要进行逻辑控制;设备端采用Altera的DE5板卡,主要完成图像处理加速任务。该设计基于OpenCL开发,具有拟人视觉、智能进化、并行优化、异构加速和噪声抑制的特性。
游戏机器人系统架构
以上分享的两个设计案例都是服务器级的异构计算,同时也是最为成熟的异构计算模式。除此之外还有芯片级异构计算和数据中心级异构计算,其中前者目前尚不成熟,有很大的优化空间,其实现模式业内尚未探讨清楚,但可以肯定未来将成为最有价值的市场。