NGC | Catalog
CatalogContainersHoloscan PB October 2023 (PB 23h2)

Holoscan PB October 2023 (PB 23h2)

Logo for Holoscan PB October 2023 (PB 23h2)
Associated Products
Features
Description
Holoscan Production Branch October 2023 (PB 23h2) offers a 9-month lifecycle for API stability, with monthly patches for high and critical software vulnerabilities.
Publisher
NVIDIA
Latest Tag
23.10.04
Modified
March 1, 2024
Compressed Size
6.02 GB
Multinode Support
No
Multi-Arch Support
No
23.10.04 (Latest) Security Scan Results

Linux / amd64

Sorry, your browser does not support inline SVG.

What Is Holoscan?

The Holoscan container 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 container includes the Holoscan libraries, GXF extensions, headers, example source code, and sample datasets, as well as all the dependencies that were tested with Holoscan. It is the recommended way to run the Holoscan examples, while still allowing you to create your own C++ and Python Holoscan application.

What Is Holoscan Production Branch October 2023?

The Holoscan Production Branch, exclusively available with NVIDIA AI Enterprise, is a 9-month supported, API-stable branch that includes monthly fixes for high and critical software vulnerabilities. This branch provides a stable and secure environment for building your mission-critical AI applications. The Holoscan production branch releases every six months with a three-month overlap in between two releases.

Getting started with Holoscan Production Branch

Before you start, ensure that your environment is set up by following one of the deployment guides available in the NVIDIA AI Enterprise Documentation.

Visit the Holoscan User Guide to get started with the Holoscan SDK.

Holoscan Prerequisites

  • Prerequisites for each supported platform are documented in the user guide.
  • Additionally, on x86_64, you'll need the NVIDIA Container Toolkit version 1.14.1 and Docker. These should already be installed on NVIDIA developer kits with IGX Software or JetPack.

Running the container

  1. Log in to the NGC docker registry

    docker login nvcr.io
    
  2. Press the Get Container button at the top of this webpage and choose the version you want to use. You can set it as NGC_CONTAINER_IMAGE_PATH in your terminal for the next steps to use:

    # For example
    export NGC_CONTAINER_IMAGE_PATH="nvcr.io/nvaie/holoscan-pb23h2:23.10.04"
    
  3. If using a display, ensure that X11 is configured to allow commands from docker:

    xhost +local:docker
    
  4. Start the container

    docker run -it --rm --net host \
      --runtime=nvidia \
      -e NVIDIA_DRIVER_CAPABILITIES=all \
      -v /tmp/.X11-unix:/tmp/.X11-unix \
      -e DISPLAY=$DISPLAY \
      --ipc=host \
      --cap-add=CAP_SYS_PTRACE \
      --ulimit memlock=-1 \
      --ulimit stack=67108864 \
      ${NGC_CONTAINER_IMAGE_PATH}
    
    • --runtime=nvidia and -e NVIDIA_DRIVER_CAPABILITIES are properties of the nvidia container toolkit to leverage the NVIDIA GPUs and their capabilities. Read more here.
    • -v /tmp/.X11-unix and -e DISPLAY are needed to enable X11 display forwarding.
    • --ipc=host, --cap-add=CAP_SYS_PTRACE, --ulimit memlock=-1 and --ulimit stack=67108864 are required to run distributed applications with UCX. Read more here.
    • Add --device /dev/ajantv20 (and/or ajantv2<n>) in the docker run command if you have an AJA capture card you'd like to access from the container.
    • Add --device /dev/video0 (and/or video<n>) to make your V4L2 video devices (HDMI IN, USB) available in the container.
      • If configuring a non-root user in the container, add --group-add video or ensure the user has appropriate permissions to the video device nodes (/dev/video*).
    • Add --device /dev/infiniband/rdma_cm and --device /dev/infiniband/uverbs0 (and/or uverbs0<n>) to make your ConnectX RDMA interface available in the container.
      • This requires the MOFED drivers installed on the host.
      • Needed for RoCE or Infiniband. Not required for simple TCP Ethernet communication through a ConnectX SmartNIC.

Using the installed libraries and headers

The Holoscan SDK is installed under /opt/nvidia/holoscan. It includes a CMake configuration file inside lib/cmake/holoscan, allowing you to import holoscan in your CMake project (link libraries + include headers):

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

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

Examples

Python, C++, and GXF examples are installed in /opt/nvidia/holoscan/examples alongside their source code, and run instructions (also available on the GitHub repository).

Running the examples

Example to run the Hello World example:

# Python
python3 /opt/nvidia/holoscan/examples/hello_world/python/hello_world.py

# C++
cd /opt/nvidia/holoscan/examples
./hello_world/cpp/hello_world

Make sure to edit any relative path in the yaml config if you want to run from a different working directory.

Building the examples

You can rebuild the C++ and GXF examples as-is or copy them anywhere on your system to experiment with.

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 -G Ninja \
  -D Holoscan_ROOT="/opt/nvidia/holoscan"
cmake --build $build_dir -j

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

Security Vulnerabilities in Open Source Packages

Please review the Security Scanning tab to view the latest security scan results.

For certain open-source vulnerabilities listed in the scan results, NVIDIA provides a response in the form of a Vulnerability Exploitability eXchange (VEX) document. The VEX information can be reviewed and downloaded from the Security Scanning tab.

Get Help

Enterprise Support

Get access to knowledge base articles and support cases or submit a ticket.

NVIDIA AI Enterprise Documentation

Visit the NVIDIA AI Enterprise Documentation Hub for release documentation, deployment guides and more.

NVIDIA Licensing Portal

Go to the NVIDIA Licensing Portal to manage your software licenses. licensing portal for your products. Get Your Licenses