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 cupva::RasterDataFlow sharing the same handler and configured with different PadModeType can lead to incorrect values in tile padding.

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 cupvaRasterDataFlowOpen() will have its tail properly copied.

Explicitly copy 64B of secondary tilebuffers using cupvaCircularBufferMemcpy().

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