Holoscan SDK 概述

Holoscan SDK 概述 Holoscan SDK 概述原文来源NVIDIA Holoscan SDK 文档翻译日期2026年7月2日平台简介NVIDIA Holoscan是 AI 传感器处理平台它整合了用于低延迟传感器和网络连接的硬件系统、用于数据处理和 AI 的优化库以及用于运行流式、成像和其他应用的核心微服务——从嵌入式设备到边缘再到云端。它可用于构建面向多种领域的流式 AI 流水线pipeline包括医疗设备、边缘高性能计算、工业检测等。Holoscan SDK 为开发者提供的能力Holoscan SDK 通过以下方面为开发者提供支持1. 多种安装策略从容器containers到 Python wheels再到源码编译从开发环境到部署环境Holoscan SDK 提供了多种封装形式以适应不同需求。更多信息请参阅 SDK 安装 章节。2. C 和 Python API这些 API 现在是 Holoscan SDK 中创建应用流水线的推荐接口。请参阅 使用 SDK 章节了解如何利用这些 API或查看 Doxygen 页面获取具体的 API 文档C / Python。3. 内置 Operators算子Holoscan 应用中的工作单元在Operators内实现如 SDK 的 核心概念 所述。SDK 中包含的 operators 提供了领域无关的功能如 IO、机器学习推理、处理和可视化——针对 AI 流式流水线进行了优化并依托一系列 核心技术。本指南 此处 提供了 SDK 内置 operators 的更多信息。4. 最小示例Holoscan SDK 提供了一系列示例来展示 SDK 的特定功能。它们的源代码可在 GitHub 仓库 中找到。Holoscan 示例详解 章节对这些示例中的部分进行了逐步分析以阐明 Holoscan SDK 的内部工作原理。5. Operators 和 Applications 仓库HoloHub是用户和开发者与 Holoscan 社区共享可复用 operators 和示例应用的中心仓库。作为开源项目这些 operators 和应用也可用作参考实现以补充 SDK 中提供的内置 operators 和示例。6. 性能工具正如相关技术章节所强调的Holoscan 项目的灵魂是通过利用 NVIDIA 开发或第三方提供的硬件和软件来达到峰值性能。为验证这一点Holoscan 提供了性能工具来帮助用户和开发者追踪其应用性能。目前包括数据流追踪Data Flow Tracking功能——用于分析您的应用性能并剖析其计算图中 operators 之间的数据流。7. 文档Holoscan SDK 文档由以下部分组成本用户指南以 网页 格式提供针对每种 安装策略 的构建和运行说明GitHub 上的 发行说明文档结构导航Holoscan SDK 文档 ├── 简介 │ ├── 概述本文档 │ ├── 相关技术 │ └── 入门指南 ├── 环境搭建 │ ├── 搭建指南 │ ├── SDK 安装 │ ├── 额外设置 │ └── 第三方硬件设置 ├── 使用 SDK │ ├── Holoscan 核心 │ ├── GPU 驻留执行 │ ├── Holoscan 示例详解 │ │ ├── 创建应用 │ │ ├── 创建分布式应用 │ │ ├── 创建 Operator │ │ ├── 通过装饰器创建 Operator │ │ ├── 创建 Condition │ │ ├── 动态流控制 │ │ ├── CUDA 流处理 │ │ ├── 日志记录 │ │ └── 数据日志 │ ├── 调试 │ ├── Python Operator 绑定 │ └── ... ├── Operators │ ├── Operators 和扩展 │ ├── 可视化 │ ├── 推理 │ └── 测试 ├── 组件 │ ├── 调度器Schedulers │ ├── 条件Conditions │ ├── 资源Resources │ └── 分析Analytics ├── AI 技能 ├── API 参考 └── 性能 └── 数据流追踪Holoscan 核心概念原文来源NVIDIA Holoscan SDK 文档 - Holoscan Core翻译日期2026年7月2日架构概览一个Application应用由Fragments片段组成每个 Fragment 运行一组Operators算子构成的计算图。该图的实现有时被称为pipeline流水线或workflow工作流如下图所示核心概念Application应用核心概念Port端口Holoscan API 的核心概念Application应用一个Application应用负责采集和处理流式数据。应用是 Fragments 的集合其中每个 Fragment 可以被分配到 Holoscan 集群的独占或共享物理节点上执行。API 参考holoscan::Application(C) /holoscan.core.Application(Python)Fragment片段Fragment片段是应用的构建块。它是一个Operators 的有向图。一个 Fragment 在执行期间可以被分配到 Holoscan 集群的一个物理节点上。运行时执行负责管理跨 Fragments 的通信。在 Fragment 中Operators图节点通过flows数据流即图的边相互连接。API 参考holoscan::Fragment(C) /holoscan.core.Fragment(Python)Operator算子Operator算子是本框架中最基本的工作单元。一个 Operator 在输入端口input port接收流式数据对其进行处理并将结果发布到其输出端口output port之一。在由holoscan::gxf::GXFExecutor执行的应用中Operator 对应于 GXF 特有的Codelet概念。API 参考holoscan::Operator(C) /holoscan.core.Operator(Python)Port端口Port端口是两个 Operators 之间的交互点。Operators 在Input ports输入端口接收数据在Output ports输出端口发布数据。Port是 Holoscan 概念被holoscan::gxf::GXFExecutor和holoscan::GPUResidentExecutor两者共同使用。在holoscan::gxf::GXFExecutor中端口映射到 GXF 特有的Receiver接收器、Transmitter发射器和MessageRouter消息路由器概念用于在连接的 Operators 之间传输数据。API 参考holoscan::Port/holoscan::Input/holoscan::Output(C) /holoscan.core.Input/holoscan.core.Output(Python)Executor执行器Executor执行器负责管理 Fragment 在物理节点上的执行。框架提供了执行器实现如holoscan::gxf::GXFExecutor和holoscan::GPUResidentExecutor用于执行应用。API 参考holoscan::Executor(C) /holoscan.core.Executor(Python)Scheduler调度器Scheduler调度器决定 Fragment 中每个 Operator何时运行。SDK 内置了三种调度器调度器说明适用场景GreedyScheduler贪婪调度器简单的串行流水线MultiThreadScheduler多线程调度器需要多线程并行EventBasedScheduler事件驱动调度器推荐默认选项适合具有并行性的流水线推荐对于具有并行性的流水线推荐使用EventBasedScheduler。请参阅 选择调度器 获取决策表和配置指南。API 参考holoscan::Scheduler(C) /holoscan.core.Scheduler(Python)GXF 执行器特有概念以下概念特定于由holoscan::gxf::GXFExecutor执行的应用CodeletCodelet是 GXF 特有的执行单元。在 Holoscan SDK 中这一角色由Operator来表示。(Operator) Resource资源Resource资源是 Operator 执行工作所需的资源如系统内存或 GPU 内存池。资源在应用的初始化阶段分配。这对应于 GXF 的内存Allocator或 GXF 中从Component类派生的任何其他组件。API 参考holoscan::Resource(C) /holoscan.core.Resource(Python)Condition条件Condition条件是一个可以在运行时求值以确定 Operator 是否应该执行的谓词。API 参考holoscan::Condition(C) /holoscan.core.Condition(Python)Message消息Message消息是 Operators 用来相互通信信息的通用数据对象。API 参考holoscan::Message(C) /holoscan.core.Message(Python)Flow Graph API数据流图 APIHoloscan 4.1 使用FlowGraph和FlowGraphImpl实现现有的面向数据流的图 API以及 Python 模块holoscan.flow_graphs。概念关系总结Application应用 │ ├── Fragment片段→ 部署到物理节点 │ │ │ └── Operator Graph算子图 │ │ │ ├── Operator算子/工作单元 │ │ ├── Input Port输入端口← 接收数据 │ │ └── Output Port输出端口→ 发送数据 │ │ │ ├── Flow数据流/边→ 连接 Operators │ │ │ └── Scheduler调度器→ 控制执行时机 │ └── Executor执行器→ 管理运行时执行 │ ├── GXFExecutor → GXF 运行时 │ ├── Codelet ← Operator 的 GXF 映射 │ ├── Receiver/Transmitter ← Port 的 GXF 映射 │ └── Allocator ← Resource 的 GXF 映射 │ └── GPUResidentExecutor → GPU 驻留执行关键术语表英文术语中文翻译说明Application应用由 Fragments 组成的顶层实体负责采集和处理流式数据Fragment片段应用的构建块是 Operators 的有向图可部署到物理节点Operator算子最基本的工作单元接收输入、处理数据、发布输出Port端口Operators 之间的交互/连接点分为 Input 和 OutputFlow数据流连接两个 Operators 的数据通路图的边Executor执行器管理 Fragment 在物理节点上执行的运行时Scheduler调度器决定 Operators 何时执行的调度策略Condition条件运行时决定 Operator 是否执行的谓词Message消息Operators 之间通信的通用数据对象Resource资源Operator 执行所需的系统资源内存、GPU 等Codelet代码片段GXF 特有的执行单元概念对应 Holoscan 的 OperatorReceiver接收器GXF 中对应 Input Port 的概念Transmitter发射器GXF 中对应 Output Port 的概念Pipeline / Workflow流水线 / 工作流Operators 图的不同称呼本翻译基于 NVIDIA Holoscan SDK 4.3 (Latest) 版本文档关键术语表英文术语中文翻译说明Holoscan SDKHoloscan 软件开发工具包NVIDIA 的 AI 传感器处理平台 SDKOperator算子 / 操作符Holoscan 应用中的工作单元Pipeline流水线由多个 operators 组成的数据处理链Streaming流式处理实时连续数据处理方式Sensor Processing传感器处理对传感器输入数据进行采集、处理和 AI 推理Edge Computing边缘计算在靠近数据源的边缘设备上进行计算Data Flow Tracking数据流追踪用于性能分析的数据流剖析工具Condition条件控制 operator 执行时机的机制Scheduler调度器管理 operators 执行顺序的组件HoloHubHoloHubHoloscan 社区共享 operators 和应用的开源仓库CUDA StreamCUDA 流GPU 上的异步执行流Python WheelPython Wheel 包Python 的一种二进制分发格式本翻译基于 NVIDIA Holoscan SDK 4.3 (Latest) 版本文档