diff --git a/src/core/include/openvino/core/core_visibility.hpp b/src/core/include/openvino/core/core_visibility.hpp index ea41a2287cf309..5bedb917ee1852 100644 --- a/src/core/include/openvino/core/core_visibility.hpp +++ b/src/core/include/openvino/core/core_visibility.hpp @@ -28,6 +28,10 @@ * @ingroup ov_cpp_api * OpenVINO C++ API to work with operation sets * + * @defgroup ov_pass_cpp_api Transformation passes + * @ingroup ov_cpp_api + * OpenVINO C++ API to work with OpenVINO transformations + * * @defgroup ov_runtime_cpp_api Inference * @ingroup ov_cpp_api * OpenVINO Inference C++ API provides ov::Core, ov::CompiledModel, ov::InferRequest diff --git a/src/core/include/openvino/pass/constant_folding.hpp b/src/core/include/openvino/pass/constant_folding.hpp index 5cce3572fea9fe..dca820708e5ca1 100644 --- a/src/core/include/openvino/pass/constant_folding.hpp +++ b/src/core/include/openvino/pass/constant_folding.hpp @@ -14,6 +14,7 @@ namespace pass { * @brief Constant folding iterates over the function and tries to evaluate nodes * with constant inputs. Such nodes are then replaced with new Constants containing * the result of a folded operation. + * @ingroup ov_pass_cpp_api */ class OPENVINO_API ConstantFolding : public ModelPass { public: @@ -36,6 +37,7 @@ class OPENVINO_API ConstantFolding : public ModelPass { * consumer) * 2. If node with disable_constant_folding was replaced with another node, the attribute will be lost because * it is not copyable. + * @ingroup ov_pass_cpp_api */ OPENVINO_API void disable_constant_folding(const std::shared_ptr& node); diff --git a/src/core/include/openvino/pass/convert_fp32_to_fp16.hpp b/src/core/include/openvino/pass/convert_fp32_to_fp16.hpp index 3ca1025d6fbf97..9562223ac58a0d 100644 --- a/src/core/include/openvino/pass/convert_fp32_to_fp16.hpp +++ b/src/core/include/openvino/pass/convert_fp32_to_fp16.hpp @@ -8,6 +8,10 @@ namespace ov { namespace pass { +/** + * @brief ConvertFP32ToFP16 transformation + * @ingroup ov_pass_cpp_api + */ class OPENVINO_API ConvertFP32ToFP16 : public ModelPass { public: OPENVINO_RTTI("ConvertFP32ToFP16"); diff --git a/src/core/include/openvino/pass/graph_rewrite.hpp b/src/core/include/openvino/pass/graph_rewrite.hpp index a070504ef4d34d..13210657d15c9c 100644 --- a/src/core/include/openvino/pass/graph_rewrite.hpp +++ b/src/core/include/openvino/pass/graph_rewrite.hpp @@ -40,7 +40,7 @@ namespace pass { /// or has ov::pass::pattern::op::WrapType. That will help GraphRewrite to execute matcher /// passes more /// efficient. - +/// \ingroup ov_pass_cpp_api class OPENVINO_API MatcherPass : public PassBase { public: OPENVINO_RTTI("ov::pass::MatcherPass"); @@ -116,7 +116,7 @@ class OPENVINO_API MatcherPass : public PassBase { /// or has ov::pattern::op::WrapType. That will help GraphRewrite to execute matcher /// passes more /// efficient. - +/// \ingroup ov_pass_cpp_api class OPENVINO_API GraphRewrite : public ModelPass { public: OPENVINO_RTTI("ov::pass::GraphRewrite"); diff --git a/src/core/include/openvino/pass/low_latency.hpp b/src/core/include/openvino/pass/low_latency.hpp index 9dd7269c568574..f92c2257ef3e17 100644 --- a/src/core/include/openvino/pass/low_latency.hpp +++ b/src/core/include/openvino/pass/low_latency.hpp @@ -32,6 +32,7 @@ namespace pass { * ->... * After applying the transformation, the resulting network can be inferred * step by step, the states will store between inferences. + * @ingroup ov_pass_cpp_api */ class OPENVINO_API LowLatency2 : public ModelPass { public: diff --git a/src/core/include/openvino/pass/make_stateful.hpp b/src/core/include/openvino/pass/make_stateful.hpp index aeb7e490dacfc1..b036b52cef14c6 100644 --- a/src/core/include/openvino/pass/make_stateful.hpp +++ b/src/core/include/openvino/pass/make_stateful.hpp @@ -15,6 +15,7 @@ namespace pass { /** * @brief The transformation replaces the provided pairs Parameter and Result with ngraph Memory layers * ReadValue and Assign + * \ingroup ov_pass_cpp_api */ class OPENVINO_API MakeStateful : public ModelPass { public: diff --git a/src/core/include/openvino/pass/manager.hpp b/src/core/include/openvino/pass/manager.hpp index 18186b5829fac9..be55be4ed41829 100644 --- a/src/core/include/openvino/pass/manager.hpp +++ b/src/core/include/openvino/pass/manager.hpp @@ -14,6 +14,10 @@ namespace ov { namespace pass { +/** + * @brief Manager class allows to manage transformation passes + * @ingroup ov_pass_cpp_api + */ class OPENVINO_API Manager { public: Manager(); diff --git a/src/core/include/openvino/pass/pass.hpp b/src/core/include/openvino/pass/pass.hpp index c702841951112e..6f6df021a9f4c1 100644 --- a/src/core/include/openvino/pass/pass.hpp +++ b/src/core/include/openvino/pass/pass.hpp @@ -26,6 +26,10 @@ enum class PassProperty : uint32_t { using PassPropertyMask = ov::EnumMask; +/** + * @brief Base class for transformation passes + * @ingroup ov_pass_cpp_api + */ class OPENVINO_API PassBase { friend class Manager; @@ -87,6 +91,10 @@ class OPENVINO_API PassBase { std::shared_ptr m_pass_config; }; +/** + * @brief Base class for Model passes + * @ingroup ov_pass_cpp_api + */ class OPENVINO_API ModelPass : public PassBase { public: OPENVINO_RTTI("ov::pass::ModelPass"); diff --git a/src/core/include/openvino/pass/pass_config.hpp b/src/core/include/openvino/pass/pass_config.hpp index 471bf9c04e6dd9..bb3cc4657bb4d8 100644 --- a/src/core/include/openvino/pass/pass_config.hpp +++ b/src/core/include/openvino/pass/pass_config.hpp @@ -54,6 +54,7 @@ using param_callback_map = std::map; /// /// Following this logic inside your transformations you will guaranty that transformations /// will be executed in a right way. +/// \ingroup ov_pass_cpp_api class OPENVINO_API PassConfig { public: /// \brief Disable transformation by its type_info diff --git a/src/core/include/openvino/pass/serialize.hpp b/src/core/include/openvino/pass/serialize.hpp index 74c3e0d8b11815..0d8dd9284470c7 100644 --- a/src/core/include/openvino/pass/serialize.hpp +++ b/src/core/include/openvino/pass/serialize.hpp @@ -21,6 +21,7 @@ namespace pass { * - order of generated layers in xml file is ngraph specific (given by * get_ordered_ops()); MO generates file with different order, but they are * logically equivalent + * \ingroup ov_pass_cpp_api */ class OPENVINO_API Serialize : public ov::pass::ModelPass { public: @@ -60,6 +61,7 @@ class OPENVINO_API Serialize : public ov::pass::ModelPass { * @brief StreamSerialize transformation converts ngraph::Function into single binary stream * @attention * - dynamic shapes are not supported + * \ingroup ov_pass_cpp_api */ class OPENVINO_API StreamSerialize : public ov::pass::ModelPass { public: diff --git a/src/core/include/openvino/pass/validate.hpp b/src/core/include/openvino/pass/validate.hpp index 6783a429a536cd..152a9c52f454fb 100644 --- a/src/core/include/openvino/pass/validate.hpp +++ b/src/core/include/openvino/pass/validate.hpp @@ -21,6 +21,7 @@ namespace pass { /// pass does not break the shape and data type requirement on a computation node. /// This default validation run can be changed via calling the /// \link ov::pass::Manager::set_per_pass_validation(bool) \endlink function. +/// \ingroup ov_pass_cpp_api class OPENVINO_API Validate : public ModelPass { public: OPENVINO_RTTI("ov::pass::Validate"); diff --git a/src/core/include/openvino/pass/visualize_tree.hpp b/src/core/include/openvino/pass/visualize_tree.hpp index a1de61d87f315e..28665a253bd4f9 100644 --- a/src/core/include/openvino/pass/visualize_tree.hpp +++ b/src/core/include/openvino/pass/visualize_tree.hpp @@ -22,6 +22,10 @@ using visualize_tree_ops_map_t = namespace ov { namespace pass { +/** + * @brief VisualizeTree pass allows to serialize ov::Model to xDot format + * @ingroup ov_pass_cpp_api + */ class OPENVINO_API VisualizeTree : public ModelPass { public: OPENVINO_RTTI("ov::pass::VisualizeTree");