FPGA相比GPU和CPU有什么行业竞争优势

(文章来源:和讯网)
与其他计算载体如cpu与gpu相比,fpga具有高性能、低能耗以及可硬件编程的特点。图1介绍了fpga的硬件架构,每个fpga主要由叁个部分组成:输入输出逻辑,主要用于fpga与外部其他部件,比如传感器的通信;计算逻辑部件,主要用于建造计算模块;以及可编程连接网络,主要用于连接不同的计算逻辑部件去组成一个计算器。
在编程时,我们可以把计算逻辑映射到硬件上,通过调整网络连接把不同的逻辑部件连通在一起去完成一个计算任务。比如要完成一个图像特征提取的任务,我们会连接fpga的输入逻辑与照相机的输出逻辑,让图片可以进入fpga。然后,连接fpga的输入逻辑与多个计算逻辑部件,让这些计算逻辑部件并行提取每个图片区域的特征点。最后,我们可以连接计算逻辑部件与fpga的输出逻辑,把特征点汇总后输出。由此可见,fpga通常把算法的数据流以及执行指令写死在硬件逻辑中,从而避免了cpu的instruction fetch与instruction decode 工作。
虽然fpga的频率一般比cpu低,但是可以用fpga实现并行度很大的硬件计算器。比如一般cpu每次只能处理4到8个指令,在fpga上使用数据并行的方法可以每次处理256个或者更多的指令,让fpga可以处理比cpu多很多的数据量。另外,如上所述,在fpga中一般不需要instruction fetch与instruction decode, 减少了这些流水线工序后也节省了不少计算时间。
为了让读者对fpga加速有更好的了解,我们总结了微软研究院2010年对blas算法的fpga加速研究。blas是矩阵运算的底层库,被广泛运用到高性能计算、机器学习等领域。在这个研究中,微软的研究人员分析了cpu、gpu以及fpga对blas的加速以及能耗。图2对比了fpga以及cpu、gpu执行gaxpy算法每次迭代的时间,相对于cpu,gpu与fpga都达到了60%的加速。图中显示的是小矩阵运算,随着矩阵的增大,gpu与fpga相对与cpu的加速比会越来越明显。
fpga相对于cpu与gpu有明显的能耗优势,主要有两个塬因。首先,在fpga中没有instruction fetch与instruction decode,在intel的cpu里面,由于使用的是cisc架构,仅仅decoder就占整个芯片能耗的50%;在gpu里面,fetch与decode也消耗了10%~20%的能源。其次,fpga的主频比cpu与gpu低很多,通常cpu与gpu都在1ghz到3ghz之间,而fpga的主频一般在500mhz以下。如此大的频率差使得fpga消耗的能源远低于cpu与gpu。

信号隔离采集模块的功能简介
三款齐发!下一个大屏时代的到来,5.5英寸iPhone 8被曝光!
硕盟USB3.0 转RJ45千兆网卡 千兆网口转换器
智能工厂全面解读
高颜美机,淑女好逑!华为Nova青春版俘获“少女心”
FPGA相比GPU和CPU有什么行业竞争优势
比亚迪董事长王传福:电动车全面替代燃油车的时机已成熟
科创板嘉元科技董事沈东明介绍、履历信息
传感器自动识别装置在空调节能中的应用
您不能不知道的几大无人机飞控系统
PLC的工作原理和应用领域及未来展望详细说明
指纹识别技术在手机上被应用得最为广泛
等离子电视的视角
北京元泰推出手机扫描二维条码技术
德州仪器推出支持超过1 Mbps数据速率Turbo CAN收发器
一文看懂百度自动驾驶平台阿波罗Apollo
CAN转光纤设备长距离稳定传输数据
如何更好的发挥人员定位系统在智慧电厂中的应用
国家对于物联网安全技术的标准有哪些
Google如何管理位置数据