Module Specific Options - 2023.2 English

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 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 CHESS compiler that is used 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.

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

Note: If you see errors with bad_alloc in the log, or if the Vitis IDE crashes, this 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 you are trying to achieve better performance via reduction in memory bank conflict. See the Mapper and Router Options for a list and description of options.

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 bfloat16numerical type:
float-accuracy=<arg

Available argument values are:

  • safe: Accuracy is slightly better than FP32.
  • fast: Improved performances with similar accuracy to FP32.
  • low: Best performances with better accuracy than FP16 and bfolat16.