通过 apt 在 Ubuntu 上原生安装 Holoscan SDK。用于 Ubuntu 上的 C++ 安装;结合 /holoscan-install-whee
Holoscan Debian/apt 安装
功能概述
Holoscan Debian/apt 安装是一项面向实际任务的技能,主要用于使用 NVIDIA 的 apt 仓库在 Ubuntu 上安装 Holoscan SDK C++ 运行时和头文件,为主机的 CUDA 驱动选择正确的 holoscan-cuda-* 包,并使用捆绑的 C++ 示例进行验证;Ubuntu x86_64(22.04 / 24.04)或 ARM64(Jetson / IGX),带有 N。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
- 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
使用与执行
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
结果检查与注意事项
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Holoscan Debian/apt 安装
目的
使用 NVIDIA 的 apt 仓库在 Ubuntu 上安装 Holoscan SDK C++ 运行时和头文件,为主机的 CUDA 驱动选择正确的 holoscan-cuda-* 包,并使用捆绑的 C++ 示例进行验证。
先决条件
- Ubuntu x86_64(22.04 / 24.04)或 ARM64(Jetson / IGX),带有 NVIDIA GPU 和可工作的驱动(
nvidia-smi)。 - 具有
sudo权限和网络访问developer.download.nvidia.com及docs.nvidia.com。 cuda-keyring包(步骤 2 在缺失时安装)。
限制
- apt 不提供 Python 绑定 —— 如果用户需要 Python,请结合
/holoscan-install-wheel。 - 仅限 Ubuntu。其他发行版必须使用容器或 wheel 安装。
- 包变体必须与主机 CUDA 驱动匹配(
holoscan-cuda-12vsholoscan-cuda-13);错误变体导致"CUDA driver version is insufficient"。
步骤 0:查阅官方安装说明
在安装前获取 https://docs.nvidia.com/holoscan/sdk-user-guide/sdk_installation.html 的 Debian/apt 部分。提取:
- 确切的包名(
holoscan-cuda-12、holoscan-cuda-13、holoscan) - 支持的 Ubuntu 版本
- 适合相应发行版的 cuda-keyring URL
如果文档与以下内容不符,以文档为准。
如果尚未确定,请确定 OS 版本和 CUDA 变体 —— 并行运行:
lsb_release -a 2>/dev/null || cat /etc/os-release nvidia-smi 2>&1 | head -5
CUDA 变体规则 —— 选择 apt 包:
| nvidia-smi CUDA 版本 | 包 |
|---|---|
| 13.x+ | holoscan-cuda-13 |
| 12.x(在 IGX 上) | holoscan |
| 12.x(不在 IGX 上) | holoscan-cuda-12 |
| 12.x(nvgpu) | holoscan-cuda-12 |
步骤 1:先决条件检查
dpkg -l | grep cuda-keyring dpkg -l | grep -E "holoscan-cuda-(12|13)|^ii holoscan " apt-cache show holoscan-cuda-13 holoscan-cuda-12 2>/dev/null | grep -E "^(Package|Version)"
基于步骤 1 结果的决策规则:
- 如果
cuda-keyring已安装,跳过密钥环步骤。 - 如果仓库已配置且包在
apt-cache show中可见,跳过apt-get update。 - 如果正确的包变体已安装(例如针对 cu12 的
holoscan-cuda-12),完全跳过步骤 2,直接进入步骤 3。
步骤 2:安装
如果包已安装(在步骤 1 中检测到)或用户在 IGX 平台上,跳过此步骤。
# 如果缺少 cuda-keyring(根据需要调整 ubuntu2204/ubuntu2404)且不在 IGX 平台上: wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb && sudo apt-get update sudo apt-get install -y holoscan-cuda-12 # 或 holoscan-cuda-13
步骤 3:验证
为本步骤的其余部分设置一次环境,然后运行三个 C++ 检查:
HS=/opt/nvidia/holoscan
export LD_LIBRARY_PATH=$HS/lib
export HOLOSCAN_INPUT_PATH=$HS/data
ulimit -s 32768
ls $HS/examples/{hello_world,tensor_interop,video_replayer}/
# hello_world —— 预期:"Hello World!"
$HS/examples/hello_world/cpp/hello_world
# tensor_interop —— 预期:张量每次传递加倍,"Graph execution finished."
# 如果显示"CUDA driver version is insufficient":交换包变体:
# sudo apt-get remove -y holoscan-cuda-13 && sudo apt-get install -y holoscan-cuda-12
$HS/examples/tensor_interop/cpp/tensor_interop
# video_replayer(10 帧,无头模式)—— 预期:Vulkan 选择 NVIDIA GPU,"Graph execution finished."
# 始终以无头模式运行:有或没有显示都能工作,避免通过 SSH 时的 GUI 失败模式。
ls $HS/data/racerx 2>/dev/null || sudo $HS/examples/download_example_data
python3 -c "
c=open('$HS/examples/video_replayer/cpp/video_replayer.yaml').read()
c=c.replace('count: 0','count: 10').replace('repeat: true','repeat: false').replace('realtime: true','realtime: false')
c=c.replace(' width: 854',' headless: truen width: 854')
open('/tmp/vr.yaml','w').write(c)"
$HS/examples/video_replayer/cpp/video_replayer --config /tmp/vr.yaml
步骤 4:给用户可复用的环境片段
验证后,将此片段分享给用户,并建议如果希望跨会话持久化,可将其添加到 shell 启动文件中(例如 ~/.bashrc):
export LD_LIBRARY_PATH=/opt/nvidia/holoscan/lib:${LD_LIBRARY_PATH}
export HOLOSCAN_INPUT_PATH=/opt/nvidia/holoscan/data
ulimit -s 32768
然后提供后续步骤:
- 添加 Python 支持:
/holoscan-install-wheel - 探索示例:
ls /opt/nvidia/holoscan/examples/ - 逐步讲解特定示例:
/explain-example - 开始构建自定义 Holoscan 应用
故障排除
- apt 安装后
python3 -c "import holoscan"失败。 这是预期的 —— 自 v3.0.0 起 Debian 包仅提供 C++。运行/holoscan-install-wheel以添加 Python 绑定。 - 运行示例时"CUDA driver version is insufficient"。 错误的包变体。重新检查
nvidia-smiCUDA 版本并交换变体:sudo apt-get remove -y holoscan-cuda-13 && sudo apt-get install -y holoscan-cuda-12(或反之)。 E: Unable to locate package holoscan-cuda-12。cuda-keyring未安装或仓库尚未拉取。运行步骤 2 中的密钥环 +apt-get update块(将ubuntu2204/ubuntu2404调整为主机版本)。- 启动示例时出现段错误。 当前 shell 中未设置
ulimit -s 32768。将其前置到命令前(步骤 3 模式)。 error while loading shared libraries: libholoscan_core.so。LD_LIBRARY_PATH未设置。使用步骤 4 中的环境片段 ——export LD_LIBRARY_PATH=/opt/nvidia/holoscan/lib。video_replayer找不到数据。 设置HOLOSCAN_INPUT_PATH=/opt/nvidia/holoscan/data,或运行sudo /opt/nvidia/holoscan/examples/download_example_data以获取racerx数据集。
热门AI工具
相关专题
本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。
0
2026.11.12
本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。
0
2026.11.12
本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。
0
2026.11.12
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章