Intel®高层次综合编译器专业版: 最佳实践指南

ID 683152
日期 12/04/2023
Public
文档目录

6.1. 平衡目标fMAX和目标II

编译器会根据是否设置fMAX目标对象和是否设置每个循环的#pragma II来尝试优化预定fMAX各个目标的组件。

强烈建议实现fMAX,如果编译器无法实现fMAX,也不会显示出错,而如果编译器无法实现要求的II,则#pragma II会触发错误。针对每个代码块实现fMAX的结果显示在Loops循环报告中。

下表概述 Intel® HLS Compiler中调度程序的行为:

是否明确指定fMAX 是否明确指定II? 编译器行为
使用试探法(heuristic)实现最佳fMAX/II权衡。
尽最大努力实现相应循环的II(可能无法实现可能的最佳fMAX)。
尽最大努力实现指定的fMAX(可能无法达到可能的最佳II)。
尽最大努力以给定II实现指定的fMAX。如果无法实现要求的II,则编译器显示出错。
注: 如果您对组件使用命令行中的fMAX最为目标,则请将 #pragma II =<N>用于设计中性能关键的循环。