fpga在自动驾驶中的应用情况如何
FPGA 在自动驾驶中的应用情况非常出色。
首先FPGA 技术可靠在汽车行业早有广泛应用还经受住了军工、航天等领域的考验比新开发的 ASIC 更让人放心。
它还特别灵活适合自动驾驶这种功能需求不太确定的新兴领域。因为可编程算法能不断迭代不像 ASIC 会束缚算法的发展。
而且有现成的成熟 FPGA 产品可供选择能直接提供不同算力。
不过FPGA 加速也面临挑战比如多样的加速需求和有限的硬件资源存在矛盾。硬件资源受限包括 FPGA 资源受限和内存带宽受限像峰值算力受限、支持的算子种类受限以及内存数据传输占计算总时间长等。
为解决这些问题采取了量化计算的方法。用 int8 计算逼近浮点数计算有动态量化和静态量化两种。动态量化能充分利用数据表征能力但有计算误差静态量化节约资源且准召率可控。
在节约 FPGA 资源方面采用了共享 DMA 模块、SuperTile 结构、算子资源复用、异构计算和静态量化等手段。比如通过共享 DMA 模块兼顾所有算子的需求对特定算子定制单独模块提高效率。采用 SuperTile 结构实现单个 DSP 一个时钟周期完成两个乘法提高算力。算子资源复用把 CNN 主要算子抽象分类实现计算资源共享。异构计算让部分算子在 ARM 等上实现缓解 FPGA 资源压力。
还通过多算子融合和静态量化来节约内存带宽。多算子融合减少对内存的读写提高处理帧率。静态量化降低内存吞吐提高帧率。
总之FPGA 在自动驾驶中的应用有诸多优势通过各种技术手段克服了遇到的挑战有效提高了自动驾驶的性能和效率。