仅对英特尔可见 — GUID: mwh1391807511852
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: mwh1391807511852
Ixiasoft
8.2.2. 全局存储器手动分区
您可以对存储器手动分区,以使每个缓冲区占用不同的存储器bank。
全局存储器的默认突发交叉配置会通过确保存储器访问不会仅偏向于一个外部存储器bank来防止负载不平衡。然而,您可以选择通过对数据手动分区来控制一组缓冲区的带宽。
Intel® FPGA SDK for OpenCL™ Offline Compiler不能在不同存储器类型之间进行突发交叉存取。要对特定类型的全局存储器进行手动分区,编译具有 -no-interleaving=<global_memory_type> 标记的OpenCL™内核以将特定存储器类型的每个bank配置为non-interleaved(非交叉存取) bank。
如果您的内核访问存储器中两个等大的缓冲区,那么您可以九江数据同时分发到这两个存储器bank,无论负载之间的动态调度如何。该优化步骤可能会明显增加存储器带宽。
如果您的内核访问异构全局存储器类型,请在每个您需要手动分区的存储器类型的aoc命令中包含 -no-interleaving=<global_memory_type> 选项。
对于使用 -no-interleaving=<global_memory_type> 选项的更多信息,请参阅 Intel® FPGA SDK for OpenCL™ 编程指南中的禁用全局存储器突发交叉存取(-no-interleaving=<global_memory_type>)小节。