仅对英特尔可见 — GUID: cpc1520272581622
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: cpc1520272581622
Ixiasoft
10.1.3. 使用非阻塞通道(Non-Blocking)通道
如果必须在您的英特尔 Stratix 10 OpenCL设计中实现通道,则请考虑使用非阻塞通道。某些情况下,这样可以减少面积开销。
如下实例代码有一个阻塞通道读取:
while (cond) { val = read_channel_intel (my_ch); <do_compute (val)> }
将非阻塞通道读切换成等效功能阻塞通道读,请按以下方式修改代码:
bool have_data = true; while (cond) { val = read_channel_nb_intel (my_ch, &have_data); if (have_data) <do_compute (val)> }
对于该实例,从阻塞通道读取更改为非阻塞通道读取的缺点是循环控制逻辑变得更复杂。如果您以这种方式转换多个通道访问,循环控制逻辑可能会限制您设计的性能或这实际上增加面积开销。