仅对英特尔可见 — GUID: ewa1399040754211
Ixiasoft
产品终止通知
1. Intel® FPGA SDK for OpenCL™ Pro Edition最佳实践指南介绍
2. 查看您Kernel的report.html文件
3. OpenCL内核设计概念
4. OpenCL内核设计最佳实践
5. 分析(Profiling)您的内核来识别性能瓶颈
6. 提高单个Work-Item内核性能的策略
7. 提高NDRange内核数据处理效率的策略
8. 提高存储器访问效率的策略
9. 优化FPGA面积使用的策略
10. 优化英特尔 Stratix 10 OpenCL设计的策略
11. 提高主机应用程序性能的策略
12. Intel® FPGA SDK for OpenCL™ Pro版最佳实践指南存档
A. Intel® FPGA SDK for OpenCL™ Pro版最佳实践指南修订历史
仅对英特尔可见 — GUID: ewa1399040754211
Ixiasoft
4.1. 通过 Intel® FPGA SDK for OpenCL™ 通道或OpenCL管道传输数据
为了提高内核之间的数据传输效率,请使用您内核程序中的 Intel® FPGA SDK for OpenCL™ 通道扩展。如果您需要使用通道的功能,但又想使用其它SDK运行您的内核程序,就请实现OpenCL管道。
有时,FPGA-to-global存储器带宽会限制内核之间的数据传输效率。FPGA-to-global存储器的最大理论带宽取决于目标Custom Platform和电路板中可用的全局存储器bank数而有所不同。要确定您电路板的最大理论带宽,请参阅电路板供应商的文档。
在实践中,内核无法实现最大可用全局存储器带宽的100%利用率。利用了水平取决于算法的访问模式。
如果全局存储器带宽限制了您OpenCL内核的性能,首先请尝试将算法分解为多个较小的内核。其次,如下图所示,通过实现SDK的通道或OpenCL管道来进行内核之间的数据传输,以消除一部分对全局存储器的访问。
图 68. 通道或管道的实现导致全局存储器访问模式的差异
有关通道使用的更多信息,请参阅 Intel® FPGA SDK for OpenCL™ 编程指南中实现 Intel® FPGA SDK for OpenCL™ 通道扩展小节。
有关管道使用的更多信息,请参阅 Intel® FPGA SDK for OpenCL™ 编程指南中实现OpenCL管道小节。