EE学生搞硬件
FPGA和GPU这俩东西,其实有点像瑞士军刀和电锯的区别。GPU是现成的、高度优化的并行计算猛兽,特别适合大规模矩阵运算,所以深度学习训练基本被它承包了。你用CUDA写代码,调用现成的库,很快就能让模型跑起来,生态太成熟了。
但GPU的问题也明显,功耗高,而且架构固定。它就是为了通用并行计算设计的,哪怕你只是做个小规模的推理,它那一整套硬件也得全上,有点杀鸡用牛刀的意思。
FPGA就灵活多了,你可以把电路配置成专门为某个算法服务的结构,相当于硬件级别的定制。所以它的能效比往往比GPU高不少,特别适合那些对功耗敏感、或者算法比较固定的场景,比如边缘设备上的实时推理。
不过FPGA的开发是真的麻烦。你得懂硬件描述语言,搞时序、调资源,开发周期比写软件长多了。而且它的绝对算力上限通常不如顶级GPU,大规模训练还是吃力。
未来的趋势,我觉得会是分工更明确。GPU继续统治训练和云端高性能推理,毕竟它的通用性和生态优势太大了。FPGA和它的“升级版”ASIC,会在边缘侧、或者对功耗和延迟有极致要求的特定领域找到稳固的位置,比如自动驾驶的感知模块、工业质检这些地方。
另外,现在FPGA也在变得更“友好”,有些公司提供了高层次综合工具,让你用C++之类的语言也能搞开发,门槛在慢慢降低。但短期内,想完全取代GPU在AI训练里的地位,基本没戏。它更像是一个重要的补充,在特定的赛道里发挥不可替代的作用。
