仅对英特尔可见 — GUID: ewa1458248440004
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: ewa1458248440004
Ixiasoft
2.6.5. Area Report Message中的Private Variable Storage
Area Report提供基于您的OpenCL™设计实现的private memory(专用存储器)的信息。 对于单个work-item内核, Intel® FPGA SDK for OpenCL™ Offline Compiler 根据变量类型,以不同方式实现private memory。离线编译器在各种配置的寄存器中实现标量和小数组(array)(例如,plain寄存器,移位寄存器和桶型移位器(barrel shifter))。offline编译器实现块RAM中的较大数组。
消息 | 注释 |
---|---|
Implementation of Private Memory Using On-Chip Block RAM(使用片上块RAM的Private Memory实现) | |
Private memory implemented in on-chip block RAM(在片上块RAM中实现的Private memory) | 块RAM实现会创建一个类似于NDRange内核局部存储器的系统。 |
Implementation of Private Memory Using On-Chip Block ROM(使用片上块ROM的Private Memory实现) | |
— | 每次使用片上块ROM,offline编译器都会对同一ROM创建另外一个实现。offline编译器在片上块ROM中实现的private变量没有显式注释(annotation)。 |
Implementation of Private Memory Using Registers(使用寄存器的Private Memory实现) | |
使用如下大小的寄存器的实现: - <X>寄存器的宽度<Y>个位和深度<Z>。
- ... |
报告offline编译器实现寄存器中的private变量。Offline编译器可能会在多个寄存器中实现private变量。该消息提供一个关于寄存器及其特定宽度和深度的列表。 |
Implementation of Private Memory Using Shift Registers(使用移位寄存器的Private Memory实现) | |
由于具有<N>个或更少tap(抽取)点的移位寄存器而实现。这是一种非常高效的存储类型。 使用以下大小的寄存器的实现: - <X>寄存器的宽度<Y>位和深度<Z>。
- ... |
报告offline编译器在移位寄存器中实现一个private变量。该消息提供一个关于移位寄存器及其特定宽度和深度的列表。
Offline编译器可能基于其抽取点(tap point)将单个数组拆分成多个更小的移位寄存器。
注: Offline编译器可能会高估抽取点的数量。
|
Implementation of Private Memory Using Barrel Shifters with Registers(通过寄存器实现的Private Memory使用桶型移位器) | |
由于动态索引,通过寄存器实现为桶型移位器。这是一种高开销存储类型。如果可能,更改为compile-time known indexing(编译时已知索引)。访问该变量的面积成本显示在访问发生的行上。 使用以下大小的寄存器的实现: - <X>寄存器的宽度<Y>个位和深度<Z>。
- ... |
报告由于动态索引,offline编译器通过寄存器将private变量实现为桶型移位器。 报告中的该行不会指定使用private变量的全部区域。该报告显示变量访问的行上其他区域使用情况的信息。 |
注:
- 该区域报告对声明或使用private存储器的代码行上的存储器信息进行注释(annotate),具体取决于其实现。
- 当offline编译器实现片上块RAM中的private存储器时,区域报告显示对private存储器系统的相关local-memory-specific(特定局部存储器)消息。