找回密码
 注册
关于网站域名变更的通知
查看: 667|回复: 3
打印 上一主题 下一主题

FPGA为什么适合做神经网络的计算加速

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-8-6 16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
FPGA为什么适合做神经网络的计算加速
( w2 Z* r  H+ o7 X

该用户从未签到

2#
发表于 2021-8-6 16:41 | 只看该作者
大约4年前组里有同学用FPGA做CNN加速,我当时判断是死路一条,现在观点仍然不变,市场基本也能反应出来,用FPGA做神经网络加速的大大小小的创业公司,基本都消失得差不多了。回答题主的问题,FPGA的优势,在于解决大部分数字电路能解决的问题,你甚至可以用编程的方式把FPGA当成CPU来用,不过因为CPU太重要了,市场很大,所以有专门的CPU芯片。同样的,人工智能应用场景也很大,所以市场出现NPU是必然的,就像很多CPU都会带一个集成显卡GPU,也是因为图形计算应用很广泛。至于以后GPU和NPU会不会统一起来,目前看概率比较低。一言以蔽之,FPGA适合解决数字电路问题,且市场需求不是那么通用,存在一些定制化需求的应用场景。/ x8 y9 I3 @6 l0 B7 S

该用户从未签到

3#
发表于 2021-8-6 16:55 | 只看该作者
这个项目的目标是在FPGA上实现专门的求解器,并加快对该贪婪优化问题的计算。由于Barton的硬件设计是开源的,因此这将有助于使更多的人无需高端计算机和MATLAB许可即可构建完整的系统。作者团队成功地实现了论文中最佳算法的简化版本,比该论文显示结果的加速度还要快100倍。但是,由于内存限制,我们无法在DE1-SoC的FPGA上安装其他采样部分。
5 P# M- [5 n2 M" F# Q
* R7 }2 ~* }/ H4 a6 u7 C' a

该用户从未签到

4#
发表于 2021-8-6 17:23 | 只看该作者
FPGA本身其实特别适合做神经网络加速。很多人说不适合并不全面。越来越多的ai模型走backbone+后续自主设计网络的结构。对于backbone确实不适合FPGA来做。因为backbone结构固定适合用gpu和ASIC这些来加速。但是对于backbone后面接的八仙过海网络,其网络结构并不固定3x3卷积,1x1卷积,全连接,batch normalization等所需的计算力占比千变万化。特别的很多网络数据流并不是和传统卷积那样规规矩矩(这也是为什么现在pytorch,和tensorflow eager模式越来越流行的原因,因为网络结构越来越不局限于传统卷积的形式)。不同的卷积核和不同的数据流水结构带来的是不同的硬件算子形式以及对cache大小,分布以及不同的访存模式。而能做到对以上全优化的ASIC不存在。但是FPGA可以通过在其上实现的计算架构做调整来进行优化。记得17年深涧科技的Han Song在媒体采访时就说过。FPGA加速神经网络的优势在于,通过FPGA神经网络编译器,对特定任务能够最大化性能和芯片面积比。比如xc7z020有220个乘法器。如何做到设计一个pipeline的结构让所有乘法器都满负荷运作。从而以相同的成本来得到最大的性能。同时神经网络压缩技术使原本的矩阵运算变得sparse,需要相对dense操作相对随机的DRAM访存。这些都需要不同的逻辑电路去实现具体的操作以达到最大话性能,而这些都是ASIC办不到的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-12 08:15 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表