这些选项适用于 AI 引擎 tile 拼块上的内核实现。
重要: 在 AI 引擎计算图的后续编译中,仅对已修改的 AI 引擎内核进行重新编译。任何未修改的内核都不会进行重新编译;因此,这些选项的应用可能需对要重新编译的内核源代码进行编辑。
- Xchess arg
-
该选项可用于将内核专用选项传递给 CHESS 编译器,此编译器用于为每个 AI 引擎编译代码。选项字符串指定为
<kernel>:<optionid>=<value>
。在映射指定内核的 AI 引擎上编译生成的源文件期间包含该选项字符串。Xchess=main:darts.xargs=-nb
- Xelfgen arg
-
该选项可用于将附加命令行选项传递给编译器的 ELF 生成阶段,此阶段当前作为
make
命令来运行,用于构建所有 AI 引擎 ELF 文件。例如,为了将并行编译数量限制为 4,请写入
Xelfgen="-j4"
。注释: 如果 log 日志中出现bad_alloc
错误,或者如果 Vitis IDE 崩溃,可能是由于工作站上内存不足而导致的。除了增大机器上可用内存外,还有一种可行的变通方法是在代码生成期间限制编译器使用的并行度,具体方法是将该选项传递给 Elf Generator Makefile(-j1 或 -j2)。Xelfgen=-j2
- Xmapper arg
-
该选项可用于将其他命令行选项传递到编译器的映射器阶段。如果设计在映射或布线阶段无法收敛,或者如果您要尝试通过减少存储体冲突来提升性能,则可尝试这些选项。请参阅映射器和布线器选项,以获取选项列表及其描述。
Xmapper=DisableFloorplanning
- Xpreproc arg
-
该选项可用于将常规选项传递到 AI 引擎组件(例如,-D...)的 PREPROCESSOR 阶段,以执行所有源码编译 AIE/PS/PL/x86sim。
Xpreproc=-D<var>=<value>
- Xpslinker arg
- 该选项用于将常规选项传递到 AI 引擎组件(例如,-L... -l...)的 PS LINKER 阶段。
Xpslinker=-L<libpath> -l<libname>
- Xrouter arg
-
该选项用于将常规选项传递到 ROUTER 阶段。
Xrouter=dmaFIFOsInFreeBankOnly
- Xx86sim arg
-
将 x86sim 专用的选项传递给编译器。
Xx86sim=clangStaticAnalyzer
- fast-floats
-
该选项支持快速实现线性浮点标量运算,例如
add
、sub
、mul
和compare
。接受的值包括 true 和 false。默认为 false。fast-floats=true
- fast-nonlinearfloats
-
该选项支持快速实现非线性浮点标量运算,例如
sine
、cosine
、sqrt
和inv
。接受的值包括 true 和 false。默认为 false。fast-nonlinearfloats=true
- fastmath
-
该选项支持快速实现
float2fix
、fplt
和fpge
。接受的值包括 true 和 false。默认为 false。fastmath=true
- float-accuracy
-
该选项仅适用于 AI 引擎机器学习。它会选择所需的浮点计算精度,并以
bfloat16
数字类型进行仿真:float-accuracy=<arg
可用实参值包括:
-
safe
:精度略好于 FP32。 -
fast
:提升性能,精度与 FP32 相似。 -
low
:最佳性能,精度好于 FP16 和bfolat16
。
-