仅对英特尔可见 — GUID: nza1525091500914
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: nza1525091500914
Ixiasoft
10.1.1. 减少内核数量
与其将设计划分成多个内核,不如考虑将设计合并到更少的内核中。 对于英特尔 Stratix 10设计, Intel® 建议您仅使用单独的内核进行真正的异步执行。
以下实例显示了producer内核和consumer内核通过通道通信:
kernel producer(unsigned N) { int result; for (unsigned int i = 0; i < N; i++) { write_channel_intel(Produce(i)); } } kernel consumer(unsigned N) { for (unsigned int i = 0; i < N; i++) { Consume(i, read_channel_intel()); } }
以下的优化代码将上述实例中的两个内核合并成为单个内核,从而可以直接使用计算结果无需通道访问:
kernel fused(unsigned N) { for (unsigned int i = 0; i < N; i++) { Consume(i, Produce(i)); } }