Getting Access to the PVA on Custom Applications

From RidgeRun Developer Wiki




NVIDIA partner logo






LibPVA: Simplified Access to RidgeRun PVA Kernels



Info
Feature coming soon. Stay Tuned!


LibPVA is a lightweight, user-friendly library developed by RidgeRun to simplify the execution of custom PVA-accelerated kernels. It is designed to integrate seamlessly into applications that require access to pre-built, optimized PVA programs—without the need for low-level SDK interaction or PVA programming expertise.

LibPVA is suited for two primary use cases:

  1. When a custom PVA kernel has been developed to meet specific algorithmic requirements, LibPVA enables straightforward integration of that kernel into the host application.
  2. When leveraging existing RidgeRun-developed kernels, LibPVA provides an accessible interface for running these optimized components to exploit the full performance of the PVA.

In both scenarios, LibPVA serves exclusively as an execution interface. It does not support creating or modifying PVA programs and is not intended as a development framework for new kernels.

Key Features

  • Stream-Based Execution Model: Supports a clean and modular data flow through predefined kernel streams.
  • Built-In PVA Programs: All PVA programs are embedded and preconfigured, eliminating the need for custom graph compilation or setup.
  • C++ API: Offers a robust, standards-compliant C++ interface designed for integration in production-quality systems.

RidgeRun Development with LibPVA

LibPVA is used internally by RidgeRun as part of delivering optimized, ready-to-run solutions, including:

  • Fully customized vision processing pipelines
  • End-to-end system integration, from design to deployment
  • Integration into Holoscan graphs and GStreamer pipelines for real-time multimedia and AI processing

LibPVA is ideal for deeply embedded systems where execution of pre-defined, fine-tuned PVA.