The Holoscan SDK requires a specific software stack to build and run. We provide two:
The Development Stack for Holoscan Developer Kits based on Holopack (Jetson L4T based), and for x86_64 Linux compute platforms, ideal for development and testing of the SDK.
The Deployment Stack for Holoscan Developer Kits based on OpenEmbedded (Yocto build system), recommended to limit your stack to only the software components required to run your Holoscan application. The runtime Board Support Package (BSP) can be optimized with respect to memory usage, speed, security and power requirements.
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.1 as well as the
nvgpuswitch.py script. Once configured for dGPU mode, your developer kit will include the necessary components to build and/or use the SDK.
For Rivermax support (optional), GPUDirect drivers need to be installed manually at this time.
You’ll need the following to use the Holoscan SDK on x86_64:
OS: Ubuntu 20.04
Ampere or above recommended for best performance
Quadro/NVIDIA RTX necessary for GPUDirect RDMA support
NVIDIA dGPU drivers: 510.73.08
For Rivermax support (optional):
OFED Network Drivers: 5.7
Rivermax SDK: 1.11 (for local development only)
Additional software dependencies are needed, which vary based on how you choose to install the SDK (see section below).
Refer to the following sections in this user guide for additional setup or to support third-party technologies, such as AJA cards or Emergent cameras.
Install the SDK
We offer three ways to install and run the Holoscan SDK:
The Holoscan container image on NGC includes the Holoscan libraries, GXF extensions, headers, example source code, and sample datasets. It is the simplest way to run sample streaming applications or create your own application using Holoscan.
The Holoscan python wheels on PyPI are the simplest way for Python developers to quickly get started in creating their own application with a simple
pip install holoscan. They only include the necessary libraries and extensions, not including example code, built applications, nor sample datasets.
The Holoscan SDK source repository provides reference implementations as well as infrastructure for building the libraries and applications yourself.
Refer to the documentation in each of those for specific install and run instructions.
NVIDIA Holoscan accelerates deployment of production-quality applications by providing a set of OpenEmbedded build recipes and reference configurations that can be leveraged to customize and build Holoscan-compatible Linux4Tegra (L4T) embedded board support packages (BSP) on Holoscan Developer Kits.
Holoscan OpenEmbedded/Yocto recipes add OpenEmbedded recipes and sample build configurations to build BSPs for NVIDIA Holoscan Developer Kits that feature support for discrete GPUs (dGPU), AJA Video Systems I/O boards, and the Holoscan SDK. These BSPs are built on a developer’s host machine and are then flashed onto a Holoscan Developer Kit using provided scripts.
There are two options available to set up a build environment and start building Holoscan BSP images using OpenEmbedded.
The first sets up a local build environment in which all dependencies are fetched and installed manually by the developer directly on their host machine. Please refer to the Holoscan OpenEmbedded/Yocto recipes README for more information on how to use the local build environment.
The second uses a Holoscan OpenEmbedded/Yocto Build Container that is provided by NVIDIA on NGC which contains all of the dependencies and configuration scripts such that the entire process of building and flashing a BSP can be done with just a few simple commands.