Release Notes#
PVA SDK v2.9.0#
PVA SDK 2.9 is a feature release which adds support for improved internal driver APIs and various new runtime features, described in these release notes.
Supported Platforms and Devices#
Host#
The PVA SDK is designed for cross-compilation from an x86-64 host development environment. Supported host operating systems for this release are:
Ubuntu 22.04
Ubuntu 24.04
The PVA SDK may be used on a supported OS installation or via Docker. Refer to Installation and PVA SDK samples for more details on host setup and dependencies.
Targets#
Supported targets are:
DRIVE OS 6.5 or greater
JetPack 6.0 or greater
Native x86
PVA Architectures#
This release of PVA SDK supports Orin and Thor PVA architectures.
New Features#
Runtime API Features#
On supported platforms with PVA driver version 2.9,
cupva::CmdPFSD::GetPFSDTestCount()will now return non-zero values, indicating the availability of PFSD commands.Added support for DriveOS VM State Management System (DVMS) for Driver version 2.9, DRIVE OS 7.2.3.0 and later. For the platforms that support DVMS, DRIVE OS does not allow initialization APIs to be called in specific states. cuPVA will now generate errors if the initialization APIs are called in these states.
Added tutorial for Using L2 SRAM for Efficient ROI Gathering.
Bug Fixes#
The following bugs are resolved with this release.
Reference |
Description |
Fix information |
Affected platforms |
|---|---|---|---|
PVAAS-21180 |
When using RasterDataFlow with tiles larger than 64k pixels (including halo) and RDF_DOUBLE or larger VMEM buffer size, compileDataFlows would return an error. |
No longer returns an error, but under certain conditions will result in lower than expected performance. See known issues for more details. |
All |
PVAAS-22286 |
Adding many small parameters to a CmdProgram could cause runtime failures during submission |
Fixed |
All |
Known Issues#
This release contains the following known issues:
Reference |
Description |
Suggested workaround |
Projected closure |
|---|---|---|---|
PVAAS-16827 |
When linking StaticDataFlows with constant padding, the constant value must be the same even if px/py are both zero for one of the dataflows. Failure to do so leads to Dataflow compilation failing. |
Use the same constant value in these cases. |
Not planned |
PVAAS-12732 |
A StaticDataFlow specifying VMEM->VMEM transfer cannot be linked to a StaticDataFlow specifying DRAM->VMEM transfer. |
Use unlinked DataFlows for these cases. |
Not planned |
PVAAS-6633 |
NvSci APIs and CUDA interoperability are not supported for native. |
Decouple interop from execution to allow testing kernels in isolation in native. |
Not planned |
PVAAS-16828 |
Multiple |
Use separate handlers for such cases. |
Not planned |
PVAAS-16829 |
Chess compiler may optimize away some VMEM store instructions when calling dataflow Open/Update and Trig APIs back to back, leading to data corruption. |
Insert a chess_memory_fence() between Open and Trig APIs. |
Future feature release |
PVAAS-17465 |
When using a single UnifiedRDFHandler for multiple tile buffers in circular buffer mode, only the tilebuffer specified to |
Explicitly copy 64B of secondary tilebuffers using |
Future feature release |
PVAAS-21339 |
CUDA interoperability tutorial build fails with cmake lesser than 3.22 while using CUDA sbsa package |
Use cmake version 3.28 or higher. |
Future feature release |
PVAAS-21180 |
When using RasterDataFlow with tiles larger than 64k pixels (including halo), RDF_DOUBLE or larger VMEM buffer size, and non-zero halo or ROI and/or an odd number of tiles in the first dimension of traversal, the tile pattern may fall back to SINGLE buffering, reducing performance. |
Either reduce tile size below 64k pixels, or use SequenceDataFlow to manually implement double buffering. |
Not planned |
PVAAS-22292 |
6.5 DRIVE OS Linux ABI compatibility issue with PVA SDK >= 2.6.0 |
Use PVA SDK 2.5.x with DRIVE OS 6.5 |
Future feature release |