内置算子和扩展
以下算子在 C++ 和 CMake 的 holoscan::ops 命名空间下以及 Python 的 holoscan.operators 模块中定义。
类 | CMake 目标/库 | 文档 |
|---|---|---|
| AJASourceOp | aja |
C++/Python |
| BayerDemosaicOp | bayer_demosaic |
C++/Python |
| FormatConverterOp | format_converter |
C++/Python |
| HolovizOp | holoviz |
C++/Python |
| InferenceOp | inference |
C++/Python |
| InferenceProcessorOp | inference_processor |
C++/Python |
| PingRxOp | ping_rx |
C++/Python |
| PingTensorRxOp | ping_tensor_rx |
C++/Python |
| PingTensorTxOp | ping_tensor_tx |
C++/Python |
| PingTxOp | ping_tx |
C++/Python |
| SegmentationPostprocessorOp | segmentation_postprocessor |
C++/Python |
| VideoStreamRecorderOp | video_stream_recorder |
C++/Python |
| VideoStreamReplayerOp | video_stream_replayer |
C++/Python |
| V4L2VideoCaptureOp | v4l2 |
C++/Python |
给定一个算子类的实例,您可以打印其规范的人工可读描述,以检查可以在该算子类上配置的输入、输出和参数
std::cout << operator_object->spec()->description() << std::endl;
print(operator_object.spec)
Holoscan SDK 使用带有模板和 std::any 的元编程来支持任意数据类型。因此,某些类型信息(以及值)可能无法通过 description API 检索。如果需要更多详细信息,我们建议检查算子头文件中的 Parameter 成员列表以识别其类型。
Holoscan SDK 还包括一些带有 GXF 代码扩展的 GXF 扩展,这些扩展通常包装为算子,或出于遗留原因而存在。除了此处列出的核心 GXF 扩展(std、cuda、serialization、multimedia)之外,Holoscan SDK 还包括以下 GXF 扩展
GXF Holoscan 包装器
gxf_holoscan_wrapper 扩展提供了 holoscan::gxf::OperatorWrapper 代码元和 holoscan::gxf::ResourceWrapper 组件。它用作分别将 Holoscan 算子或资源包装为 GXF 代码元或组件的实用程序基类。此扩展允许将 Holoscan 算子和资源集成到 GXF 应用程序和 GraphComposer 工作流程中。
在在 GXF 应用程序中使用 Holoscan 算子部分了解更多信息。
UCX (Holoscan)
ucx_holoscan 扩展包括 nvidia::holoscan::UcxHoloscanComponentSerializer,这是一个 nvidia::gxf::ComponentSerializer,用于处理 holoscan::Message 和 holoscan::Tensor 类型的序列化,以便使用统一通信 X (UCX) 库进行传输。UCX 是 Holoscan SDK 用于在分布式应用程序中的片段之间实现数据通信的库。
UcxHoloscanComponentSerializer 旨在与 GXF UCX 扩展中定义的其他 UCX 组件结合使用。具体而言,它可以被 UcxEntitySerializer 使用,在其中它可以与序列化 GXF 特定类型的 UcxComponentSerializer(nvidia::gxf::Tensor、nvidia::gxf::VideoBuffer 等)一起运行。这样,GXF 和 Holoscan 类型都可以通过分布式应用程序进行序列化。
HoloHub
访问 HoloHub 存储库以查找其他 Holoscan 算子和扩展的集合。