Module Specific Options - 2024.1 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
UG1393
Release Date
2024-07-03
Version
2024.1 English

Options that apply to kernel implementation on AI Engine tiles.

Important: Only AI Engine kernels that were modified are recompiled in subsequent compilations of the AI Engine graph. Any un-modified kernels will not be recompiled; therefore, the application of these options might require touching kernel source to be recompiled.
Xchess arg

Used to pass kernel specific options to the AI Engine compiler, which in turn uses the CHESS compiler to compile code for each AI Engine. The option string is specified as <kernel>:<optionid>=<value>. The option string is included during compilation of generated source files on the AI Engine where the specified kernel is mapped.

Xchess=main:darts.xargs=-nb
Xelfgen arg

Can be used to pass additional command-line options to the ELF generation phase of the compiler, which is currently run as a make command to build all AI Engine ELF files. The values for this option can be provided in quotes which is especially useful if you want to pass special characters. For example, Xelfgen="CLANG_OPTS='-g1 -mllvm --issue-limit=6".

For example, to limit the number of parallel compilations to four, use Xelfgen="-j4".

Note: If errors with bad_alloc appear in the log, or if the Vitis IDE crashes, it could be due to insufficient memory on your workstation. A possible workaround (other than increasing the available memory on your machine) is to limit the parallelism used by the compiler during code generation by passing this option to the Elf Generator Makefile (-j1 or -j2).
Xelfgen=-j2
Xmapper arg

Can be used to pass additional command-line options to the mapper phase of the compiler. These are options to try when the design is either failing to converge in the mapping or routing phase, or when trying to achieve better performance via reduction in memory bank conflict.

Xmapper=DisableFloorplanning
Xpreproc arg

Pass general option to the PREPROCESSOR phase for all source code compilations AIE/PS/PL/x86sim of the AI Engine component (e.g., -D...).

Xpreproc=-D<var>=<value>
Xpslinker arg
Pass general option to the PS LINKER phase of the AI Engine component (e.g., -L... -l...).
Xpslinker=-L<libpath> -l<libname>
Xrouter arg

Pass general option to the ROUTER phase.

Xrouter=dmaFIFOsInFreeBankOnly
Xx86sim arg

Pass x86sim-specific option to the compiler.

Xx86sim=clangStaticAnalyzer
fast-floats

Enable fast implementation for linear floating point scalar operations like add, sub, mul and compare. Accepted values are true and false. The default is false.

fast-floats=true
fast-nonlinearfloats

Enable fast implementation for non-linear floating point scalar operations like sine/cosine, sqrt and inv. Accepted values are true and false. The default is false.

fast-nonlinearfloats=true
fastmath
Enable fast implementations of float2fix, fplt and fpge. Accepted values are true and false. The default is false.
fastmath=true
float-accuracy
Option available only for AI Engine-ML. It selects the required floating-point compute accuracy emulated with multiplebfloat16 numerical type operations:
float-accuracy=<arg>

Available argument values are:

  • safe: Accuracy is slightly better than single precision floating-point (FP32).
  • fast: Improved performance with similar accuracy to FP32 (default).
  • low: Best performance with better accuracy than FP16 and bfloat16.