PVA Solutions 0.5.1: Pre-compiled device target binaries missing from downloaded tarball

Hi,

I am currently evaluating PVA SDK 2.9.2 and PVA Solutions 0.5.1 on Jetson AGX Orin (GEN2).

Since I do not currently have access to an ASIP Programmer license, I would first like to evaluate some of the existing PVA Solutions operators, particularly RangeFFT / DopplerFFT, using the pre-compiled device target binaries.

According to the PVA Solutions Getting Started documentation:

Pre-compiled device target binaries are also provided in the source tree to enable building PVA Solutions without needing the ASIP Programmer.

The documentation also states that these binaries can be used by configuring the L4T build with:

-DIMPORT_DEVICE_TARGETS=ON

My host environment is currently:

  • Ubuntu 22.04 x86_64

  • PVA SDK 2.9.2

  • CUDA Toolkit 12.6

  • CUDA aarch64 cross-platform packages

  • pva-sdk-2.9-l4t-dev

I downloaded pva-solutions-v0.5.1.tar from NVIDIA and inspected the CMake configuration.

public/CMakeLists.txt defines:

DEVICE_BINARIES_ROOT = public/src/operator/device_binaries

and public/cmake/pva_operator_utils.cmake expects the pre-compiled device target binaries in the form:

<DEVICE_BINARIES_ROOT>/<CUPVA_RUNTIME_VERSION>/<target_name>/<TARGET>__merged.bin

The build also expects the corresponding allowlist:

<DEVICE_BINARIES_ROOT>/<CUPVA_RUNTIME_VERSION>/pva_allowlist_default_all

However, in the downloaded pva-solutions-v0.5.1.tar, the following directory does not exist:

public/src/operator/device_binaries/

I also noticed that several submodule directories, including 3rdparty/pva-lib, are empty in the tarball. The README refers to repositories under gitlab-master.nvidia.com, but this hostname is not resolvable from our external development environment.

Could you please clarify:

  1. Is pva-solutions-v0.5.1.tar expected to contain the pre-compiled device target binaries required by IMPORT_DEVICE_TARGETS=ON?

  2. If not, where can external PVA SDK / PVA Solutions users obtain these pre-compiled device target binaries?

  3. Is access to the NVIDIA GitLab repository required to obtain the complete PVA Solutions package, including the device binaries and required submodules?

  4. Is there any additional access or package that needs to be enabled for users with active PVA SDK for Jetson Early Access membership?

For now, my goal is simply to run the existing PVA FFT operators on AGX Orin using the provided pre-compiled device target binaries and compare their results and performance with our existing CUDA/cuFFT implementation, without modifying or rebuilding the PVA device kernels.

Thanks.

Dear @seongmin.kwon ,
Are you using Jetpack 7.2?

You can ignore the repository setup step.
Were you able to build using Getting Started — PVA Solutions or notice any build issues?
Let me check internally on the pre compiled target binaries and get back to you.

Thanks for checking internally on the pre-compiled target binaries.

Regarding JetPack, the target AGX Orin is currently running Jetson Linux / L4T r36.5.0, not JetPack 7.2.

cat /etc/nv_tegra_release reports:

# R36 (release), REVISION: 5.0

So this corresponds to the JetPack 6.x / L4T r36.5.0 environment.

For the host side, I am building from an Ubuntu 22.04 x86_64 machine using the L4T cross-build flow from the Getting Started guide:

Since I currently do not have an ASIP Programmer license, I used:

cmake -DPVA_BUILD_MODE=L4T -DIMPORT_DEVICE_TARGETS=ON ..

The L4T cross-build environment itself appears to be detected correctly:

  • PVA SDK 2.9.2 is found

  • aarch64-linux-gnu-gcc/g++ is selected

  • CUDA 12.6.85 is found under /usr/local/cuda/targets/aarch64-linux

  • CMake reports: This CUPVA installation does not support building device code. Only importing prebuilt code is supported.

However, I encountered several configuration issues during this build.

First, the downloaded pva-solutions-v0.5.1.tar contains empty directories for some dependencies, including:

3rdparty/googletest

3rdparty/pva-lib

This causes the following errors:

3rdparty/googletest does not contain a CMakeLists.txt file

3rdparty/pva-lib does not contain a CMakeLists.txt file

This then appears to lead to another error in 3rdparty/CMakeLists.txt:

add_dependencies called with incorrect number of arguments

Also, even with IMPORT_DEVICE_TARGETS=ON, configuration reaches:

tests/apl_tests/device/Sort/CMakeLists.txt

which invokes pva_device_testlib() and eventually attempts to build device code. This fails with:

This CUPVA installation does not support building device code.

So, in addition to the pre-compiled device target binaries that you are checking internally, I am seeing missing dependency contents in the downloaded tarball and some test targets that still attempt device compilation with IMPORT_DEVICE_TARGETS=ON.

My immediate goal is only to use the existing pre-compiled PVA Solutions operators, especially RangeFFT/DopplerFFT, on AGX Orin without rebuilding the PVA device kernels.

I can provide the complete CMake log if that would be helpful.

Dear @seongmin.kwon ,
Our team will reach out to you for further guidance on this issue

Hi @seongmin.kwon,

While NVIDIA follows up regarding access to the complete PVA Solutions package, I wanted to mention that RidgeRun provides support for NVIDIA PVA development.

Our work includes porting CPU/GPU algorithms to the PVA, performance and memory optimization, development of custom PVA kernels and applications, and integration with GStreamer and Holoscan pipelines. We also provide LibPVA, which simplifies the integration and execution of prebuilt PVA programs from C++ applications.

If your broader objective is to evaluate moving parts of your existing CUDA/cuFFT radar pipeline to the PVA, RidgeRun may be able to help with feasibility analysis, implementation, benchmarking, and integration on Jetson AGX Orin.

More RidgeRun PVA information is available here:

Please feel free to contact us if this would be useful for your evaluation.

—————————————————————————-
Tobias Fonseca

Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com