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:
NVIDIA IGX Orin: coming soon
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.pyscript. 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 loaded manually at this time, see Setting-up GPUDirect RDMA.
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
Tested with NVIDIA RTX 6000 and NVIDIA RTX A6000
NVIDIA dGPU drivers: 510.73.08 or above
For Rivermax support (optional):
OFED Network Drivers: 5.8
GPUDirect Drivers: 1.1
Rivermax SDK: 1.20 (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 provide multiple 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, 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.
The Holoscan python wheels on PyPI are the simplest way for Python developers to get started with the SDK using
pip install holoscan. The wheels include the SDK libraries, not the example applications or the sample datasets.
The Holoscan Debian package on NGC includes the libraries, headers, example applications and CMake configurations needed for both C++ and Python developers. It does not include sample datasets.
The Holoscan SDK source repository provides reference implementations as well as infrastructure for building the libraries and example 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.