[论文解读] Integrating NVIDIA Deep Learning Accelerator (NVDLA) with RISC-V SoC on FireSim
本论文提出了一种基于云的、针对集成于RISC-V SoC中的NVDLA深度神经网络(DNN)加速器的周期精确仿真,采用Amazon FPGA上的FireSim实现,实现了成本效益高、精度高的性能分析。主要贡献在于展示了NVDLA在YOLOv3推理中达到7.5 fps的性能,通过最后一级缓存共享实现最高1.56倍的加速,并揭示了当CPU与NVDLA共享内存子系统时存在显著的内存干扰(最坏情况下导致2.5倍的性能下降)。
NVDLA is an open-source deep neural network (DNN) accelerator which has received a lot of attention by the community since its introduction by Nvidia. It is a full-featured hardware IP and can serve as a good reference for conducting research and development of SoCs with integrated accelerators. However, an expensive FPGA board is required to do experiments with this IP in a real SoC. Moreover, since NVDLA is clocked at a lower frequency on an FPGA, it would be hard to do accurate performance analysis with such a setup. To overcome these limitations, we integrate NVDLA into a real RISC-V SoC on the Amazon cloud FPGA using FireSim, a cycle-exact FPGA-accelerated simulator. We then evaluate the performance of NVDLA by running YOLOv3 object-detection algorithm. Our results show that NVDLA can sustain 7.5 fps when running YOLOv3. We further analyze the performance by showing that sharing the last-level cache with NVDLA can result in up to 1.56x speedup. We then identify that sharing the memory system with the accelerator can result in unpredictable execution time for the real-time tasks running on this platform. We believe this is an important issue that must be addressed in order for on-chip DNN accelerators to be incorporated in real-time embedded systems.
研究动机与目标
- 为克服物理FPGA上NVDLA集成在研究中面临的高成本和性能限制。
- 实现在真实RISC-V SoC环境中对NVDLA进行精确、周期精确的性能评估。
- 研究共享内存和缓存资源对多核系统中NVDLA性能的影响。
- 识别共享内存系统中影响嵌入式系统中实时DNN推理的关键干扰问题。
- 为RISC-V上的DNN加速器研究提供一个公开可用、开源的仿真平台。
提出的方法
- 使用Verilog和FireSim的软硬件协同仿真框架,将NVDLA集成到FireSim优化的RISC-V Rocket Chip SoC设计中。
- 利用Amazon云FPGA上的FireSim FPGA加速、周期精确的仿真,模拟包含L2缓存和DRAM的真实内存子系统。
- 将目标SoC与主机FPGA的DRAM控制器解耦,并以可配置的内存模型替代,以实现精确的性能测量。
- 配置共享的最后一级缓存(LLC),并调整缓存参数(大小、块大小)以评估其对NVDLA性能的影响。
- 通过协同调度YOLOv3推理在NVDLA上的执行与CPU核心上的合成内存密集型工作负载(BwWrite),测量干扰效应。
- 在不同内存争用水平(L1、LLC、DRAM工作集大小)和核心数量(1–4)下测量并归一化NVDLA的执行时间。
实验结果
研究问题
- RQ1在仿真周期精确环境中运行的NVDLA与在真实FPGA上运行的NVDLA在YOLOv3推理性能上相比如何?
- RQ2在CPU与NVDLA之间共享最后一级缓存对DNN推理吞吐量有何影响?
- RQ3CPU工作负载与NVDLA之间的内存争用如何影响实时系统中DNN推理的可预测性和延迟?
- RQ4缓存块大小在通过空间局部性优化NVDLA性能方面起到什么作用?
- RQ5CPU与加速器之间共享内存访问在多大程度上导致执行时间不可预测,尤其是在安全关键的嵌入式应用中?
主要发现
- 在FireSim仿真RISC-V SoC上运行YOLOv3目标检测时,NVDLA实现了7.5 fps的性能,表明其在嵌入式应用中具备可行的推理能力。
- 与NVDLA共享最后一级缓存可实现最高1.56倍的加速,最大收益出现在128字节缓存块大小时,因其能更好地捕获空间局部性。
- LLC共享带来的性能增益对块大小敏感,在128字节块大小和4096 KiB缓存容量下实现1.51倍加速。
- 来自共置CPU工作负载的内存干扰,当CPU工作集可容纳在DRAM中且同时运行四个BwWrite任务时,可导致NVDLA执行时间最多下降2.5倍。
- 当CPU工作负载仅访问L1缓存时,干扰可忽略不计;但当它们访问共享的LLC或DRAM时,干扰显著增加,凸显了实时系统中的关键瓶颈。
- 结果表明,必须引入QoS机制(如内存带宽分区或优先级调度)以确保在使用片上加速器的实时嵌入式系统中实现可预测的性能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。