Intel® FPGA SDK for OpenCL™ Pro Edition: 最佳实践实践指南

ID 683521
日期 9/26/2022
Public
文档目录

5.8.3. 高停顿和高占用量百分比

具有高停顿百分比的加载和存储操作或者通道是导致内核流水线停顿的原因。
切记: 理想的流水线条件是停顿百分比为0%而占用量百分比为100%。

通常,停顿和占用量百分比的综合大约等于100%。如果加载和存储操作或者通道具有高停顿百分比,就意味着加载和存储操作或者通道有能力执行每个周期,但同时生成停顿。

停顿的全局加载和存储操作的解决方案

  • 使用全局存储器来高速缓存数据。
  • 减少读取数据的次数。
  • 改善全局存储器访问。
    • 更改访问模式以便更易于全局存储器寻址(例如,从跨距访问更改为顺序访问)。
    • 使用-no-interleaving=default Intel® FPGA SDK for OpenCL™ Offline Compiler命令选项编译您的内核,并将读和写缓冲区分离到不同的DDR bank中。
    • 具有更少但是更宽的全局存储器访问。
  • 获得具有更多带宽的加速器板(例如,有3个DDR的板就不使用只有2个DDR的板)。

停顿的局部加载和存储操作的解决方案

  • 查看HTML区域报告以验证局部存储器配置并修改配置以使其无停顿。

停顿通道的解决方案:

  • 修复通道另一端的停顿。例如,如果通道读停顿,表示通道写入程序没有足够快地将数据写入通道,需要进行调整。
  • 如果您的设计中存在通道循环,就请指定通道深度。