NVIDIA Holoscan SDK v2.9.0

SDK 安装

以下部分介绍 Holoscan SDK 的安装,该 SDK 被称为开发堆栈,专为 NVIDIA 开发者套件 (arm64) 和 x86_64 Linux 计算平台设计,非常适合 SDK 的开发和测试。

注意

对于 Holoscan 开发者套件(如 IGX Orin 开发者套件),另一种选择是基于 OpenEmbedded (Yocto 构建系统) 而不是 Ubuntu 的 部署堆栈。建议使用部署堆栈来将您的堆栈限制为运行 Holoscan 应用程序严格需要的软件组件。运行时板级支持包 (BSP) 可以针对内存使用、速度、安全性和功耗要求进行优化。

设置您的开发者套件

开发者套件

用户指南

操作系统

GPU 模式

NVIDIA IGX Orin 指南 IGX 软件 1.1 生产版本 iGPU * dGPU
NVIDIA Jetson AGX Orin 和 Orin Nano 指南 JetPack 6.1 iGPU
NVIDIA Clara AGX
仅支持 NGC 容器
指南 HoloPack 1.2
需要升级到 535+ 驱动程序
dGPU

* iGPU 和 dGPU 可以同时在 dGPU 模式下的单个开发者套件上使用。请参阅此处的详细信息。

此版本的 Holoscan SDK 已在配备 Ubuntu 22.04 的 Grace-Hopper 超级芯片 (GH200) 上进行测试。请按照此处的设置说明进行操作。

注意

SBSA/超级芯片不支持显示。但是,您可以使用 HoloViz 等进行无头渲染。

支持的 x86_64 发行版

操作系统

NGC 容器

Debian/RPM 包

Python wheel

从源代码构建

Ubuntu 22.04
RHEL 9.x 否¹
其他 Linux 发行版 否² 否³ 否¹

¹ 未经正式测试或支持,但如果使用足够的依赖项构建裸机,则有望可以工作。
² 未经正式测试或支持,但如果 NVIDIA 容器工具包支持,则有望可以工作。
³ 未经正式测试或支持,但如果发行版的 glibc 版本为 2.35 或更高版本,则有望可以工作。

NVIDIA 独立 GPU (dGPU) 要求

  • 对于 RDMA 支持,请按照启用 RDMA 部分中的说明进行操作。

  • 根据您选择安装 SDK 的方式(请参阅下面的部分),可能需要其他软件依赖项。

  • 有关其他先决条件,请参阅其他设置第三方硬件设置部分。

我们提供了多种安装和运行 Holoscan SDK 的方法

说明

  • dGPU (x86_64, IGX Orin dGPU, Clara AGX dGPU, GH200)

    复制
    已复制!
                

    docker pull nvcr.io/nvidia/clara-holoscan/holoscan:v2.9.0-dgpu

  • iGPU (Jetson, IGX Orin iGPU, Clara AGX iGPU)

    复制
    已复制!
                

    docker pull nvcr.io/nvidia/clara-holoscan/holoscan:v2.9.0-igpu

有关详细信息和使用说明,请参阅 NGC

尝试以下方法来安装 Holoscan SDK

复制
已复制!
            

sudo apt update sudo apt install holoscan

注意

这不会安装 Torch 或 ONNXRuntime 推理后端所需的依赖项。为此,请通过将 --install-suggests 标志添加到 apt install holoscan 来安装传递依赖项,并参阅下面的支持矩阵以获取安装 libtorch 和 onnxruntime 的链接。

故障排除

如果使用 apt 找不到 holoscan

复制
已复制!
            

E: Unable to locate package holoscan

在重复上述安装步骤之前,请尝试以下操作


如果您在运行时遇到缺少 CUDA 库(如下所示)

复制
已复制!
            

ImportError: libcudart.so.12: cannot open shared object file: No such file or directory

如果您的系统安装了多个 CUDA 工具包组件版本,则可能会发生这种情况。使用 find /usr/local/cuda* -name libcudart.so.12 查找缺少的 CUDA 库 (libcudart.so.12 在此处) 的路径,并在 sudo update-alternatives --config cuda 中选择该路径。如果找不到该库,或者之后缺少其他 CUDA 工具包库,您可以尝试完全重新安装 CUDA 工具包

复制
已复制!
            

sudo apt update && sudo apt install -y cuda-toolkit-12-6


如果您在编译时遇到缺少 CUDA 头文件(如下所示)

复制
已复制!
            

the link interface contains: CUDA::nppidei but the target was not found. [...] fatal error: npp.h: No such file or directory

通常与上述问题相同,原因是您的环境中混合了 CUDA 工具包组件版本。使用 find /usr/local/cuda-* -name npp.h 确认缺少的 CUDA 头文件 (npp.h 在此处) 的路径,并按照与上述相同的说明进行操作。


如果您在运行时遇到缺少 TensorRT 库(如下所示)

复制
已复制!
            

Error: libnvinfer.so.8: cannot open shared object file: No such file or directory ... Error: libnvonnxparser.so.8: cannot open shared object file: No such file or directory

如果您的系统安装的主要版本与版本 8 不同,则可能会发生这种情况。尝试重新安装 TensorRT 8,方法是

复制
已复制!
            

sudo apt update && sudo apt install -y libnvinfer-bin="8.6.*"


如果您无法导入 holoscan Python 模块

复制
已复制!
            

ModuleNotFoundError: No module named 'holoscan'

要利用 Debian 包中包含的 Python 模块(而不是安装 Python wheel),请将以下路径包含到您的 Python 路径中

复制
已复制!
            

export PYTHONPATH="/opt/nvidia/holoscan/python/lib"

复制
已复制!
            

pip install holoscan

有关详细信息和故障排除,请参阅 PyPI

注意

对于 x86_64,请确保已安装 CUDA 工具包

不确定选择哪个?

  • NGC 上的 Holoscan 容器镜像 是确保所有依赖项都存在并且版本符合预期的最安全方法(包括 Torch 和 ONNX Runtime),并且应在大多数 Linux 发行版上工作。它是运行嵌入式示例的最简单方法,同时仍然允许您在其之上创建自己的 C++ 和 Python Holoscan 应用程序。这些好处是有代价的

    • 来自众多(其中一些是可选的)依赖项的大镜像大小。如果您需要精简的运行时镜像,请参阅下面的部分

    • 使用 Docker 时存在的标准不便,例如用于正确配置的更复杂的运行说明。

  • 如果您确信自己有能力在主机环境中自行管理依赖项,则 Holoscan Debian 包应提供使用 Holoscan SDK 所需的所有功能,前提是您使用的是 Ubuntu 22.04。

  • 如果您对 C++ API 不感兴趣,而只需要在 Python 中工作,或者想要使用与 Python 3.10 不同的版本,则可以使用 PyPI 上的 Holoscan Python wheel。虽然它们是安装 SDK 的最简单解决方案,但根据您的需求,可能需要最多的工作来设置具有额外依赖项的环境。最后,它们仅在 Ubuntu 22.04 上得到正式支持,尽管应支持 glibc 2.35 或更高版本的其他 Linux 发行版。

NGC 开发容器

Debian 包

Python Wheel

运行时库 包含 包含 包含
Python 模块 3.10 3.10 3.9 到 3.12
C++ 头文件和
CMake 配置
包含 包含 不适用
示例(+ 源代码) 包含 包含 从以下位置检索
GitHub
示例数据集 包含 从以下位置检索
NGC
从以下位置检索
NGC
CUDA 运行时 1 包含 自动2
安装
需要手动
安装
NPP 支持 3 包含 自动2
安装
需要手动
安装
TensorRT 支持 4 包含 自动2
安装
需要手动
安装
Vulkan 支持 5 包含 自动2
安装
需要手动
安装
V4L2 支持 6 包含 自动2
安装
需要手动
安装
Torch 支持 7 包含 需要手动8
安装
需要手动8
安装
ONNX Runtime 支持 9 包含 需要手动10
安装
需要手动10
安装
MOFED 支持 11 包含用户空间
在主机上安装内核驱动程序
需要手动
安装
需要手动
安装
CLI 支持 需要手动安装 需要手动安装 需要手动安装

需要更多对 SDK 的控制?

Holoscan SDK 源代码存储库开源的,并提供参考实现以及用于自行构建 SDK 的基础架构。

注意

如果您需要使用调试符号或未作为已发布软件包一部分的其他选项来构建 SDK,我们才建议从源代码构建 SDK。如果您想编写自己的运算符或应用程序,则可以使用 SDK 作为依赖项(并贡献给 HoloHub)。如果您需要对 SDK 进行其他修改,请提交功能或错误请求

正在寻找轻量级运行时容器镜像?

当前 NGC 上的 Holoscan 容器由于包含每个内置运算符的所有依赖项,而且由于包含的开发工具和库,因此尺寸很大。请按照 GitHub 上的说明 构建不包含这些开发包的运行时容器。此页面还包含详细的文档,以帮助您仅包含 Holoscan 应用程序可能需要的运行时依赖项。


[1]

需要CUDA 12。已在配备 IGX Software 和 JetPack 的 NVIDIA 开发者套件上安装。

[2](1,2,3,4,5)

x86_64 上的 Debian 安装需要最新的 cuda-keyring 包以自动安装所有依赖项。

[3]

FormatConverter 和 BayerDemosaic 运算符需要 NPP 12。已在配备 IGX Software 和 JetPack 的 NVIDIA 开发者套件上安装。

[4]

Inference 运算符需要 TensorRT 10.3+。已在配备 IGX Software 和 JetPack 的 NVIDIA 开发者套件上安装。

[5]

HoloViz 运算符 (+ 用于无头渲染的 libegl1) 需要 Vulkan 1.3.204+ 加载器。已在配备 IGX Software 和 JetPack 的 NVIDIA 开发者套件上安装。

[6]

V4L2 运算符需要 V4L2 1.22+。已在配备 IGX Software 和 JetPack 的 NVIDIA 开发者套件上安装。V4L2 也需要 libjpeg。

[7]

Torch 支持需要 LibTorch 2.5+、TorchVision 0.20+、OpenBLAS 0.3.20+、OpenMPI v4.1.7a1+、UCC 1.4+、MKL 2021.1.1+ (仅限 x86_64)、NVIDIA Performance Libraries (仅限 aarch64 dGPU)、libpng 和 libjpeg。请注意,容器构建使用源自 NVIDIA HPC-X 软件包捆绑包的 OpenMPI 和 UCC。

[8](1,2)

要安装 LibTorch 和 TorchVision,请从源代码构建它们,下载我们的预构建软件包,或从 holoscan 容器(在 /opt 中)复制它们。

[9]

Inference 运算符需要 ONNXRuntime 1.18.1+。请注意,ONNX 模型也通过 Inference 运算符的 TensorRT 后端支持。

[10](1,2)

要安装 ONNXRuntime,请从源代码构建它,下载我们的预构建软件包,其中包含 CUDA 12 和 TensoRT 执行提供程序支持,或从 holoscan 容器(在 /opt/onnxruntime 中)复制它。

[11]

已使用 MOFED 24.07 进行测试

上一步 Holoscan 入门
下一步 其他设置
© 版权所有 2022-2024 NVIDIA。 上次更新时间:2025 年 1 月 27 日。