仅对英特尔可见 — GUID: jkn1597242584397
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: jkn1597242584397
Ixiasoft
2.3. 查看设计中吞吐量瓶颈
Bottlenecks viewer(瓶颈查看器)与Loop Analysis和Schedule Viewer报告一起使用时,提供关于您设计中吞吐量瓶颈的信息。该查看器列出了当前所选系统,内核或任务中所有导致瓶颈的循环。您可以在Details窗格中选择这些循环来查看关于这些循环的更多详细信息。有关瓶颈概念的更多信息,请参阅循环瓶颈(Loop Bottleneck)。
Bottlenecks viewer可识别如下类型的瓶颈:
- FMAX减少或者II增加,或者两者兼而有之
- 应用编译器的瓶颈(局部存储器上的专用副本设置为1)
- 由于您循环上应用的pragmas或者属性而导致的瓶颈
- Concurrency limiter(并发限制器)瓶颈
以下是一个数据依赖项的实例:
kernel void lowered_fmax (global int *dst, int N) { int res = N; #pragma unroll 9 for (int i = 0; i < N; i++) { res += 1; res ^= i; } dst[0] = res; }
Bottlenecks查看器显示如下消息:
9X Partially unrolled lowered_fmax.B1: Compiler failed to schedule this loop with smaller II due to data dependency on variable(s): res (Unknown location) Most critical loop feedback path during scheduling: Number of nodes in critical path exceeded what the compiler has captured. Only the top 19 failing nodes are listed. 1.00 clock cycle 32-bit Select Operation (fmax_ii.cl: 2, fmax_ii.cl: 6)
在Bottlenecks viewer中,您可以选择循环后以在Details窗口显示更多信息,您可以使用这些信息来调查为什么和是什么导致该瓶颈。有关瓶颈的其他信息,请参阅System Viewer和Schedule Viewer。System Viewer提供关于隔离故障路径和瓶颈的类型。Schedule Viewer显示变量的瓶颈路径。