2023.1 Release
2023.1 Release Notes
Vitis Data Mover Library
In this release, we migrate all data mover design from utils library. Also we add 4D datamover with internal URAM buffer support and tile based descriptor.
Known issues
- We use Jinja2 template to generate source code of data mover. When running on RHEL 9.x, it will fail. We’ll get this fixed in next release.
Vitis Data Analytics Library
Known issues
- Following kernels in L2/tests fail hardware run with 2023.1 Vitis and XRT. Please use 2022.2 Vitis and XRT for it.
- clustering/kmeans
- classification/xGradientBoost
- classification/decisiontree
- regression/linearRegressionSGDTrain
- regression/ridgeRegressionSGDTrain
Vitis DSP Library
The below features have been added to the library in this release.
- DDS Mixer LUT - new library element
- DDS Mixer
- FFT Window
- FFT/iFFT
- FIR Filters
Function | Namespace and class name |
DDS Mixer LUT | xf::dsp::aie::mixer::dds_mixer::dds_mixer_lut_graph |
This element adds a second implementation of a DDS/Mixer that provides higher SFDR figures than the existing DDS/Mixer solution.
Supports both AIE and AIE-ML devices (EA).
To be consistent with other library elements, the usage of Input Window Size parameter (TP_INPUT_WINDOW_VSIZE) has been changed in the DDS and DDS Mixer LUT elements. TP_INPUT_WINDOW_VSIZE describes the number of samples processed by the graph in a single iteration run.
In addition to AIE devices, FFT Window now supports AIE-ML devices (EA).
In addition to AIE devices, FFT/iFFT now supports AIE-ML devices (EA)..
Single Rate FIRs now support AIE-ML devices (EA) with 16-bit data types and 16-bit coeff types, which are listed below:
Data Type | |||
Int16 | Cint16 | ||
Coefficient type | Int16 | Supported | Supported |
Cint16 | note 1 | Supported | |
1. Complex coefficients are not supported for real-only data types. |
All FIR library elements now support AIE devices with 16-bit data types and 32-bit coefficients, which are listed below:
Data Type | |||
Int16 | Cint16 | ||
Coefficient type | Int32 | Supported | Supported |
Cint32 | note 1 | Supported | |
1. Complex coefficients are not supported for real-only data types. |
FIR Resampler now supports Super Sample Rate operation for higher throughput, through polyphase decomposition.
Vitis Quantitative Finacne Library
Known issues
There are some known issues for this release. Please use 2022.2 Vitis for them.
- L2/tests/M76Engine - hw build failure on u250 platform
- L2/tests/PortfolioOptimisation - hw build failure
- L2/tests/MCEuropeanHestonGreeksEngine - hw build failure on u50 and u200 platform
- L2/tests/MCAmericanEngineMultiKernel - hw build failure on u50 platform
- L2/tests/Quadrature - hw build failure on u200 platform
- L2/tests/MCAmericanEngine - hw build failure on u50 platform
The L3 of this library will be soon deprecated and removed. It has the following known issue.
- All L3 APIs will fail when running on Ubuntu Operating System
If you are still using the L3 of this library please reach us through forum for help.
Vitis Motor Control Library
The 2023.1 release covers a range of key algorithms, including the following:
- FOC: TAPI for sensor based field-orientated control (FOC). The eight control modes it supports cover basic speed and torque control modes, as well as field-weakening control.
- SVPWM_DUTY: This API is the front-end for Space Vector Pulse Width Modulation (SVPWM) to calculate ratios.
- PWM_GEN: This API is the back-end for Space Vector Pulse Width Modulation (SVPWM) to generate output signals based on ratios.
- QEI: API for quadrature encoder interface (QEI).
Vitis Solver Library
In this release, we add two API running on AI Engine.
- QRF (QR decomposition), for float / complex float matrix input
- Cholesky decomposition, for complex float matrix input
Vitis Ultrasound Library
- L1, imgrate window port to buffer port for aligning latest aie compiler feature
- L2, refine graph for dimension definition, now it could be inferred from template configuration
- L3, refine L3 graph for including L2 graphs as sub-graph and set the L3 beamformer as top graph
Vitis Utility Library
IThe data-mover APIs are promoted as a new top-level library. They will be removed from this library in future release.
Vitis Vision Library
New features and functions
PL additions/enhancements:
- New functions:
- Added 24 bits-per-channel L3 ISP pipeline
- dded all-in-one L3 ISP pipeline
- classification/decisiontree
- Pin-cushion, Barrel distortion support added in L1, L2 Remap testbench
- Updates:
- Added new functions in ISP-Multistream pipeline
- Added NPPC 2,4,8 support for RGBIR function
- Added URAM support for AWB, AEC, 3DLUT, Otsu-Threshold, HDRMerge, Histogram, Equalization
- Improved performance and utilization for ISP Stats
- Fixed the missing template parameters issue in
axiStrm2xfMat
andxfMat2axiStrm
functions
- Lib Infra Changes:
- Renamed all existing testcases and added new cases in tests directory of L1, L2
- Replaced
xf__config.h
withxf__accel_config.h
,xf__tb_config.h
files which are included inaccel.cpp
andtb.cpp
, respectively - All configurable parameters moved to
xf_config_params.h
- In the function directories, under the
examples
directory, renamedbuild
folder toconfig
- Standardized several variable names across
accel
andtestbench
files
AI Engine Additions/Enhancements:
- Updates:
- Improved RTL Data movers
- Miscellaneous bug fixes
Know Issues
- Vitis GUI projects on RHEL83 and CEntOS82 may fail because of a lib conflict in the LD_LIBRARY_PATH setting. For the function to build successfully, you must remove
${env_var:LD_LIBRARY_PATH}
from the project environment settings - rgbir2bayer, isppipeline_rgbir PL functions are not supplied with input images
- When URAM is enabled, lkdensepyroptflow fails to meet timing
- AWB, ISPStats output will not match with reference only on VCK190, because of a known XRT issue