内置算子和扩展
以下算子在 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 算子和扩展的集合。