Limitations and Known Issues - 2023.1 English

Vitis Unified IDE and Common Command-Line Reference Manual (UG1553)

Document ID
UG1553
Release Date
2023-07-17
Version
2023.1 English

The new Vitis IDE is available as a preview for users of the 2023.1 release. The tool has some known issues as described below.

Table 1. Known Issues for 2023.1
Known Issue Description
Software emulation sometimes cannot stop the kernel code for software emulation. This issue is found on some specific machines. It is also a known issue in Vitis IDE.
Renaming System projects or Components causes build errors. Build scripts cannot be updated according to the System project name or Component name change. Rename only source files or user managed directories. If necessary, delete the project or component and create a new one.
Virtualization related error messages reported on Ubuntu OS. Error messages such as "gpu_channel_manager.cc(819): ContextResult::kFatalFailure: Failed to create shared context for virtualization" are reported on Ubuntu OS. These error messages can be safely ignored. The GUI functions are not impacted.
Error message "not able to find readline library" reported on Ubuntu 18 systems.
libreadline.so.6 is a system package requirement for the Vitis IDE. However, Ubuntu 18 only has libreadline.so.5 or libreadline.so.7. To resolve the dependency, use the following commands:
sudo apt-get install libreadline-dev
cd /lib/x86_64-linux-gnu/
sudo ln -s libreadline.so.7.0 libreadline.so.6
The software emulation build of an HLS component requires any #include files from the source code to be added to the component definition. The files named in #include statements inside the HLS component source code will need to be added to the Sources folder to successfully build the Software Emulation build of a System Project where the HLS Component is used. This is due to the difference between the Software Emulation build and the Hardware Emulation/Hardware build used by the Vitis Unified IDE.

Some options of the hw_link.cfg file have separate options in the HLS component and must be manually mapped between the hw_link.cfg and the hls_config.cfg.

Examples of this include the -g option in hw_link.cfg maps to syn.debug.enable=1 in hls_config.cfg. --profile.stall maps to syn.rtl.kernel_profile=1.

The GMIO Bandwidth AI Engine example which can be loaded from the Examples view does not support the debug process, though it runs fine outside of debug. You can use the template for to evaluate the system design and operation, but it will not run in the Debug flow.

Currently on the Linux operating system, the number of file watchers is limited to around 8000. This setting is used by the operating system to track the files to watch during its processes. If a workspace has multiple projects with multiple components, you might see a message indicating this limit has been exceeded when launching the Vitis IDE, or when launching multiple instances of the Vitis IDE with multiple workspaces opened. This issue can lead to errors in the tool.

To resolve the issue, you can reduce the size of a workspace by limiting it to a single project, or increase the watcher limit to a greater value on the OS side. There are a number of techniques for increasing the file watchers; an example is described at https://howchoo.com/node/node-increase-file-watcher-system-limit

The tool requires a recent version of gcc to properly compile the Application component, especially when working with AI Engine components.

If you encounter errors compiling the Application component, upgrade to a more recent version of gcc such as 8.3.

AttributeError: partially initialized module vitis has no attribute create_client (most likely due to a circular import).

The name of the script is similar to one of the internal modules (e.g. platform.py, grpc.py, socket.py, etc).

A temporary solution is to change the script name (e.g. change platform.py to platform1.py).

Python CLI cannot handle 2 XSA for platform creation. The Python CLI can create platforms like XSCT, but in this release, it can only take one XSA as input. Using two different XSAs to create platforms for hw and hw_emu will be supported in the next release.