Skip to content

2023.2 Release

Compare
Choose a tag to compare
@vt-lib-support vt-lib-support released this 20 Oct 15:11
· 96 commits to main since this release

2023.2 Vitis Libraries Release Notes

Vitis Data Analytics Library

In this release, there are no major updates.

Known Issues

The following cases fail hardware run with 2023.1 Vitis and XRT. Instead, use 2022.2 Vitis and XRT.

  • L2/tests/knn_sc
  • L3/tests/gunzip_csv_sc_test

Vitis DSP Library

The below features have been added to the library in this release.

  • DFT - new library element
Function Namespace and class name
DFT xf::dsp::aie::fft::dtf::dft_graph

This element adds an implementation of the Discrete Fourier Transform (DFT).

Supports both AIE and AIE-ML devices.

  • Mixed-Radix FFT - new library element
Function Namespace and class name
Mixed Radix FFT xf::dsp::aie::fft::mixed_radix_fft::mixed_radix_fft_graph

This element adds an implementation of a s a single-channel, decimation-in-time, fixed point size Fast Fourier Transform (FFT) that includes radix3, radix4 and/or radix5 stages.

Supports AIE devices.

  • GeMV - new library element
Function Namespace and class name
GeMV xf::dsp::aie::blas::matrix_vector_mul::matrix_mult_graph

This element adds an implementation of the General Matrix Vector Multiplier(GeMV).

Supports AIE devices.

  • Vectorized Sample Delay - new library element
Function Namespace and class name
Sample Delay xf::dsp::aie::sample_delay::sample_delay_graph

This element adds an implementation of a delay filter for introducing delay into a time series.

Supports both AIE and AIE-ML devices.

  • FIR Filters

The support for AIE-ML devices has been rolled out to all FIR variants.

  • FFT IFFT

Added a performance optimization that will extract some SSR FFT features onto widget kernels and map these kernels in separate tiles, achieving better performance at a high AIE usage cost.

  • All Library elements

All libraries now offer selectable saturation mode, as well as rounding modes.

Test harnesses for all library elements have been expanded to allow parameter configuration through .json files.

Vitis Motor Control Library

The sensor-based FOC IP has been updated by adding a new control mode called MOD_MANUAL_TORQUE_FLUX_FIXED_ANGLE.

Vitis Quantitative Finance Library

The L3 of this library are deprecated and removed.

If you are still using the L3 of this library, go to the forum for help.

Vitis Solver Library

Added two APIs running on AI Engine:

  • Singular value decomposition, for complex float matrix input
  • Pseudoinverse, for complex float matrix input

Vitis Ultrasound Library

L1

Contains not only the fine-grained arithmetic kernels, but also the coarse-grained algorithm kernels of scanline. The algorithm kernels have interfaces for both data units and run-time parameters, making it easier to extend functionalities.

L2

Provides two kinds of sub-graphs for sub-algorithm modules and a scanline L2 top-graph. One kind of sub-graph is directly based on L1 arithmetic kernel combination, the other kind is the wrappers of L1 algorithm kernel. The top-graph of scanline can support the end-to-end validation in the L2 level by invoking a C-model of scanline algorithm.

L3

Besides the examples for connected units for 3 beamformer of PW/SA/Scanline, L3 provides an end-to-end scanline project based on L2 scanline top-graph which can be verified on VCK190.

From this release, an algorithm-end to AIE-end implementation of scanline are provided in L2 and L3 with a set of scanline C-model functions. These C-model functions show a step-by-step process for how to start from a natural description of a complex algorithm, to obtaining an AIE-mappable implementation. You can also directly invoke the C-models in any level of AIE projects to generate input and verify output simultaneously and conveniently.

Vitis Utility Library

Data-mover APIs were migrated to the Data Mover library.

Vitis Vision Library

New Features and Functions

PL additions/enhancements

  • Updates:

    • Added reference functions for extractExposureFrames, autoexposurecorrection_sin, LTM, and bgr2yuyv
    • Added reference function for all-in-one L3 ISP pipeline
    • Fixed border rows issue in Bad Pixel Correction function
    • Fixed divide-by-zero condition in GTM
    • Improved accuracy of AWB and AEC functions
    • Optimized resource utilization of 3DLUT function
    • Other minor bug fixes
  • Lib Infra Changes:

    • Added L1 api.json to autofill the function APIs in Vitis HLS GUI
    • Updated APIs in L2 api.json
    • Updated Makefiles of L1 examples and testcases to a new template

AIE additions/enhancements

  • Updates:

    • Host code of all AIE1 cases modified to use new graph coding methodology

Known Issues

  • Vitis GUI projects on RHEL83 and CEntOS82 may fail because of a lib conflict in the LD_LIBRARY_PATH setting. You must remove ${env_var:LD_LIBRARY_PATH} from the project environment settings for the function to build successfully.
  • rgbir2bayer, isppipeline_rgbir PL functions are not supplied with input images
  • lkdensepyroptflow fails to meet timing when URAM is enabled
  • AWB, ISPStats output will not match with reference only on VCK190, because of a known XRT issue