In its early days, the Holoscan SDK was tightly linked to the GXF core concepts, which included defining tasks in GXF extensions and running a pipeline with GXE using a pure YAML definition. While the Holoscan SDK is still heavily dependent on GXF, the way it does has evolved across each release:

  • In version 0.3.0, we introduced a new framework with a C++ API to provide an easier and more flexible way to create applications by eliminating the need to compose workflows in YAML files while still using GXF’s features.

  • In version 0.4.0, we introduced a Python API implemented as bindings on top of the underlying C++ API, enabling the development and execution of applications using a mixture of GXF Operators as well as arbitrary Python objects that allow interfacing with a large ecosystem of powerful GPU-enabled Python libraries (e.g. RAPIDS libraries, CuPy, PyTorch).

  • In version 0.4.0, we also introduced Native Operators, a more flexible way to create operators directly from the Holoscan C++ or Python APIs without requiring to wrap GXF codelets for the former, or C++ operators for the latter.


While the Python API only consists of lightweight modules that wrap python bindings on top of a performant C++ API, it should be easy to first prototype an application in Python and then translate it to C++ given the similarity of those APIs.

The goal of this section is to provide a deep insight of the Holoscan SDK by covering the following topics:

© Copyright 2022, NVIDIA. Last updated on Jun 28, 2023.