作者:禅与计算机程序设计艺术
随着移动计算平台(如移动终端、手机等)的普及,深度学习在移动端上的应用变得越来越多。而移动端硬件资源有限,当遇到高维度、复杂的神经网络时,移动端上深度学习算法的性能会受到影响。为了解决这一问题,近年来研究者们不断探索利用低功耗、低成本的FPGA芯片来实现深度学习算法的加速。
基于这个背景,本文将对FPGA与GPU两种深度学习加速技术进行综合评测,并分析它们各自的优缺点,并且尝试通过优化的方式,使得深度学习模型在FPGA上运行速度更快、资源消耗更小。
2.基本概念术语说明
FPGA
FPGA (Field Programmable Gate Array),即可编程逻辑门阵列,是一种可编程的集成电路,它由多个功能单元组成,可以对输入数据执行动态编程,根据程序控制信号,输出特定功能或结果。因此,它可以在程序运行过程中对其内部功能进行修改。如今,FPGA已经成为非常常用的一种集成电路,被广泛用于很多方面,例如图像处理、音频处理、机器学习等领域。由于其可编程性强、低功耗、价格低廉、开放接口方便迁移等特点,使得在某些场景下被大量用于深度学习加速。
GPU
GPU (Graphics Processing Unit),即图形处理器ÿ