diff --git a/src/plugins/intel_cpu/src/nodes/generic.cpp b/src/plugins/intel_cpu/src/nodes/generic.cpp index 21902d0149f..338762f52a9 100644 --- a/src/plugins/intel_cpu/src/nodes/generic.cpp +++ b/src/plugins/intel_cpu/src/nodes/generic.cpp @@ -17,8 +17,34 @@ namespace ov { namespace intel_cpu { namespace node { +namespace { +/** + * Dummy Shape Inference while Generic op doesn't support Dynamism + * + */ +class GenericShapeInfer : public ShapeInferEmptyPads { +public: + GenericShapeInfer() = default; + std::vector infer( + const std::vector>& input_shapes, + const std::unordered_map& data_dependency) override { + IE_THROW(Unexpected) << "Generic operations doesn't support shape inference."; + return {}; + } + + port_mask_t get_port_mask() const override { return EMPTY_PORT_MASK; } +}; + +class GenericShapeInferFactory : public ShapeInferFactory { +public: + ShapeInferPtr makeShapeInfer() const override { + return std::make_shared(); + } +}; +} // namespace + Generic::Generic(const std::shared_ptr& op, const dnnl::engine& eng, WeightsSharing::Ptr &cache) - : Node(op, eng, cache, NgraphShapeInferFactory(op, EMPTY_PORT_MASK)), ngraphOp(op) { + : Node(op, eng, cache, GenericShapeInferFactory()), ngraphOp(op) { } void Generic::getSupportedDescriptors() {