Using Holoscan Operators in GXF Applications

For users who are familiar with the GXF development ecosystem (used in Holoscan SDK 0.2), we provide an export feature to leverage native Holoscan operators as GXF codelets to execute in GXF applications and GraphComposer.

  • Native operators inputs/outputs must be of type holoscan::gxf::Entity.

  • A unique GXF extension is currently needed for each native operator to export (operators cannot be bundled in a single extension at this time).

  • No support for automatically wrapping entities that are not operators at this time.

We demonstrate how to wrap a native C++ holoscan operator as a GXF codelet in the wrap_operator_as_gxf_extension example on GitHub here.

  1. The ping_rx_native_op and ping_tx_native_op folders contain simple implementations of the generic ping tx/rx operators, where the input and output specified in Operator::setup(OperatorSpec& spec) are of type holoscan::gxf::Entity, to be compatible with GXF codelets.

  2. The gxf_extension folder contains the CMakeLists.txt which is the key interface to wrap the native GXF operators as extensions. The documentation for the inputs and outputs is listed at the top of the WrapOperatorAsGXFExtension.cmake.

  3. The gxf_app folder shows how to create a GXF application (as documented in the Creating a GXF Application section), using the two extensions generated above, and listing their cmake target name under the EXTENSIONS argument of the create_gxe_application cmake function.

© Copyright 2022-2023, NVIDIA. Last updated on Apr 27, 2023.