Installation#

This page contains instructions for installing the PVA SDK.

Install Prerequisites#

  1. Install cmake if not already installed. It is also recommended (but optional) to install ccache:

    sudo apt update
    sudo apt install cmake ccache
    
  2. Install build tools if not already installed:

    sudo apt install gcc g++ make gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
    
  3. If you want to deploy a PVA application to a supported device, follow the instructions with DRIVE OS or JetPack to flash your device.

  4. The host build system must have access to an installation of Synopsys ASIP programmer in order to build for target PVA.

    • The required ASIP programmer version for Orin is asip-programmer-2022.12-SP1-1 and the fixed model name is vpu_orin.

    • The required ASIP programmer version for Thor is asip-programmer-2022.12-TGT-230926 and the fixed model name is vpu_thor.

    These ASIP programmer versions are distributed by NVIDIA, and can be installed with apt, for example:

    sudo apt install ./asip-programmer-2022.12-sp1-1_2022.12-sp1-1.0_amd64.deb # For development targeting Orin
    sudo apt install ./asip-programmer-2022.12-tgt-230926_2022.12-tgt-230926.0_amd64.deb # For development targeting Thor
    
  5. The host build system must have access to an license for Synopsys ASIP programmer in order to build for target PVA. Typically, this is achieved by configuring a FlexLM license server according to the instructions provided by Synopsys. To purchase licenses, email asipinfo@synopsys.com (copy NVIDIA) with the following information:

    • Function: Programmable Vision Accelerator (PVA)

    • Product name: See below

    • Number of licenses required

    The available product names are:

    • ASIP Prog NVIDIA_VPU_Orin (Synopsys product code: G133-0)

    • ASIP Prog NVIDIA_VPU_Thor (Synopsys product code: J272-0)

    Note

    For evaluation purposes, Synopsys offers evaluation licenses which are locked to a single host machine and do not require a FlexLM license server. To request an evaluation license:

    • Go to https://eval.synopsys.com/.

    • Click on the link for “ASIP Programmer.”

    • Click on the link for “ASIP Programmer for VPU_Orin” and/or “ASIP Programmer for VPU_Thor” and follow the instructions.

  6. The system must have access to a usable QNX toolchain in order to build for QNX based OS. QNX toolchain is not distributed with the PVA SDK. The supported QNX toolchain is SDP8.0 (targeting DRIVE OS 7.0).

  7. The CUDA interop features require CUDA cross-compile packages on host at build time, and the CUDA libraries on the target platform at runtime. Similarly, the NvSci interop features require headers and libraries included in the system image for your target device. Consult the DRIVE OS or L4T installation instructions for how to set up your host development environment and target device.

Install PVA SDK from Local Debian Installer#

PVA SDK is distributed via local Debian installers. These local installers set up local repositories from which specific components may be installed depending on the requirements. A typical PVA SDK installation requires multiple local installers, one for the core PVA SDK components and an additional local installer for each PVA architecture.

Installing PVA SDK with local installers requires two steps.

  1. First, download and install the local installers. These register the available PVA SDK packages with your system package manager.

    cd <location of local_installers.deb>
    sudo apt install ./<local_installer_1.deb> ./<local_installer_2.deb> ...
    sudo apt update
    
  2. Now you are able to install PVA SDK components. For example, to install components needed to build PVA SDK applications for L4T, QNX and QNX safety variants:

    sudo apt install pva-sdk-2.7-l4t-dev pva-sdk-2.7-qnx-dev pva-sdk-2.7-qnx-safety-dev
    

If you modify the available local installers (step 1), you should uninstall packages installed in step 2 and reinstall them, to ensure all available features are installed. For example:

sudo apt install ./<new_local_installer.deb>
sudo apt update
sudo apt purge pva-sdk-2.7-l4t-dev
sudo apt install pva-sdk-2.7-l4t-dev

Note

When installing with apt, ensure that apt is configured to install recommended packages and that you do not use –no-install-recommends.

The supported top-level PVA SDK packages are as follows. Install any number of the below packages to support your desired use cases:

Package name

Description

pva-sdk-2.7-l4t-dev

To build for L4T and DRIVE OS Linux

pva-sdk-2.7-qnx-dev

To build for DRIVE OS QNX (non-safety)

pva-sdk-2.7-qnx-safety-dev

To build for DRIVE OS QNX (safety)

pva-sdk-2.7-native-dev

To build for x86 native emulator

pva-sdk-2.7-debug-tools

Debug tools, including Debug over IP

pva-sdk-2.7-l4t

arm64 package for cuPVA runtime on L4T/DRIVE OS Linux

On supported Linux platforms, the cuPVA runtime can be installed directly on the target using the pva-sdk-2.7-l4t package. On the target board, follow step 1 above to make PVA SDK packages available. Then:

sudo apt install pva-sdk-2.7-l4t

Installation Paths#

PVA SDK files are installed to /opt/nvidia/pva-sdk-2.7. Inside this directory, the following subdirectories can be found:

Directory

Description

bin

Helper scripts

cmake

Build scripts

include

C headers

lib/<arch>/*

libraries for host and device

samples

complete sample applications

tools/*

tooling for building VPU code and debugging

If the user wishes to relocate the PVA SDK after installation, they should be careful to preserve timestamps on all installed files. These are checked by the ASIP programmer. There may also be some additional configuration required, for example registering the new location with cmake or the systems dynamic linker.