仅对英特尔可见 — GUID: ewa1413308516621
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: ewa1413308516621
Ixiasoft
5.2. 使用Performance Counters (-profile)设施注入(instrument)Kernel Pipeline
使用性能计数器(performance counter)将设施代码自动注入(instrument)OpenCL内核流水线,在编译您的内核时请将-profile=(all|autorun|enqueued)选项包含在aoc命令中。
注: 使用性能计数器instrument(设施代码自动注入)Verilog代码时会增加硬件资源利用率(即,增加FPGA面积使用)并且通常会降低性能。
要使用性能计数器将Verilog代码instrument到 <your_kernel_filename>.aocx文件中,请调用 aoc -profile=(all|autorun|enqueued) <your_kernel_filename>.cl命令,其中:
- all自变量使用性能计数器将所有内核instrument到 <your_kernel_filename>.cl文件中。如果没有提供自变量,那么这个是默认选项。
- autorun自变量使用性能计数器仅instrument(设施注入)autorun内核。
- enqueued自变量使用性能计数器仅instrument(设施注入)non-autorun内核。
注:
- 在分析多个不同内核时,请不要在不同的.aocx文件中使用同一内核名称。如果内核名称相同,则这些内核的profile数据是错误的。
- 无论clGetProfileDataDeviceIntelFPGA主机库调用的输入如何, Intel® FPGA dynamic profiler for OpenCL™ 仅分析您在编译期间指定的内核类型。
- 在所有或enqueued内核上使用性能计数器Instrument(设施注入)OpenCL内核流水线时,会因为OpenCL运行时环境而禁用硬件内核调用队列。这样可能会导致不同的profile时间。
警告:
分析autorun内核会导致计数器产生一些硬件开销。对于大型设计,此开销会导致fMAX和设计频率下降。如果 Intel® FPGA dynamic profiler for OpenCL™ 分析每个内核,还可能导致无法在芯片上实现设计。