NGC | Catalog
CatalogResourcesHoloscan Debian Packages

Holoscan Debian Packages

For downloads and more information, please view on a desktop device.
Logo for Holoscan Debian Packages

Description

The debian packages for the Holoscan SDK

Publisher

NVIDIA

Latest Version

v0.5.0-amd64

Modified

April 4, 2023

Compressed Size

37.84 MB

Overview

The Holoscan SDK Debian package is part of NVIDIA Holoscan, the AI sensor processing platform that combines hardware systems for low-latency sensor and network connectivity, optimized libraries for data processing and AI, and core microservices to run streaming, imaging, and other applications, from embedded to edge to cloud. It can be used to build streaming AI pipelines for a variety of domains, including Medical Devices, High Performance Computing at the Edge, Industrial Inspection and more.

The Holoscan Debian package includes the libraries, headers, example applications and CMake configurations needed for both C++ and Python developers. It does not include sample datasets.

Visit the NGC demo website for a live demonstration of some of Holoscan capabilities.

Prerequisites

Holoscan Debian packages were built for the Holoscan Developer Kits (aarch64) as well as x86_64 systems.

For a full list of Holoscan documentation, visit the Holoscan developer page.

For Clara AGX Developer Kit and NVIDIA IGX Orin Developer Kit (aarch64)

Set up your developer kit:

Make sure you have joined the Holoscan SDK Program and, if needed, the RiverMax SDK Program before using the NVIDIA SDK Manager.

  • SDK Manager will install Holopack 1.2 as well as the nvgpuswitch.py script. Once configured for dGPU mode, your developer kit will include the necessary components to use the Debian package.
  • For Rivermax support (optional), GPUDirect drivers need to be loaded manually at this time, see the User Guide.
  • Refer to the User Guide for additional steps to support the AJA capture card.

For x86_64 systems

You'll need the following to use the Holoscan Debian package on x86_64:

Installing the Debian package

Manually (UI):

  1. Select your version and download the adequate resource
  2. Extract the debian package within the downloaded files.zip
  3. Open the debian package with Software Install application

CLI:

version="v0.5.0-amd64" # for x86_64, or v0.5.0-arm64 on aarch64
name="holoscan_dev_deb"
folder="${name}_${version}"
zip="${folder}.zip"
wget -O ${zip} https://api.ngc.nvidia.com/v2/resources/nvidia/clara-holoscan/${name}/versions/${version}/zip
unzip ${zip} -d ${folder} && rm ${zip}
deb=$(find ${folder} -name '*.deb' -type file)
sudo apt install ./${deb}
rm -r ${folder}

Using the installed libraries and headers

The content of the Debian package is installed under /opt/nvidia/holoscan. It exports a CMake configuration file inside lib/cmake/holoscan allowing you to use holoscan as follow in your CMake project (link libraries + include headers):

find_package(holoscan REQUIRED CONFIG PATHS "/opt/nvidia/holoscan")
target_link_libraries(yourTarget PRIVATE holoscan::core)

Alternatives to hardcoding PATHS inside find_package in CMake are listed under the Config Mode Search Procedure documentation.

Running the packaged examples

The Holoscan debian package includes Python, C++, and GXF examples. Refer to the run instructions under each example folder in the GitHub repository.

Example to run the Hello World example in Python:

export PYTHONPATH=/opt/nvidia/holoscan/python/lib
python3 /opt/nvidia/holoscan/examples/hello_world/python/hello_world.py

Building the packaged examples

The Holoscan debian package includes the source code and CMake configuration of the C++ and GXF examples to showcase how you can build your own applications using the Holoscan SDK. You can build from these source directories or copy them anywhere on your system to experiment with.

Requirement: CMake 3.20+

Example to build all the C++ and GXF examples:

export src_dir="/opt/nvidia/holoscan/examples/" # Add "<example_of_your_choice>/cpp" to build a specific example
export build_dir="</path/of/your/choice/>"
cmake -S $src_dir -B $build_dir \
  -D Holoscan_ROOT="/opt/nvidia/holoscan"
cmake --build $build_dir -j

If you build a C++ or GXF example that depends on external data, make sure to edit any relative path in the yaml config if you want to run from a different working directory.

Also see the HoloHub repository for a collection of Holoscan operators and applications which you can use in your pipeline or for reference.

Uninstalling the Debian package

To uninstall the Holoscan debian package from your system, run:

sudo apt remove holoscan

Troubleshooting

Unmet dependencies

The following packages have unmet dependencies: holoscan-dev : Depends: libnvinfer-bin (>= 8.2.3) but it is not installable ...

You have installed holoscan-dev without the CUDA Linux GPG Repository Key. You can either:

  • Install CUDA, cuDNN, and TensorRT manually, or
  • Install the cuda-keyring mentioned above, then run apt --fix-broken install

Permission issue

N: Download is performed unsandboxed as root as file 'holoscan_x.x.x.deb' couldn't be accessed by user '_apt'. pkgAcquire::Run (13: Permission denied)

Make sure both the .deb package and its containing directory have read/write access for the group (not only the current user):

chmod 777 <dir> <dir>/<holoscan_package.deb>