Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/smart-ci/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
ghapi==1.0.4
pyyaml==6.0.1
jsonschema==4.19.1
jsonschema==4.19.2
1 change: 1 addition & 0 deletions .github/workflows/ubuntu_22.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ on:
- master
- 'releases/**'


concurrency:
# github.ref is not unique in post-commit
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-ubuntu-22
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ bool ov::pass::MOCTransformations::run_on_model(const std::shared_ptr<ov::Model>
REGISTER_PASS(manager, EliminateScatterUpdate)
REGISTER_PASS(manager, RemoveConcatZeroDimInput)
REGISTER_PASS(manager, EliminateLoopInputsOutputs);
REGISTER_PASS(manager, Validate)
// REGISTER_PASS(manager, Validate)
// todo: ticket 96960
// the order EliminateDuplicateTIInputs and RemoveMultiSubGraphOpDanglingParamsResults is important
// it looks like we need to combine these transformations into one.
Expand All @@ -162,20 +162,20 @@ bool ov::pass::MOCTransformations::run_on_model(const std::shared_ptr<ov::Model>
REGISTER_PASS(manager, DisableRandomUniformConstantFolding)
REGISTER_PASS(manager, PushConstantToSubgraph)
REGISTER_PASS(manager, ConstantFolding)
REGISTER_PASS(manager, Validate)
// REGISTER_PASS(manager, Validate)

// FusedFilteringBoxesBySize transformation has the complex pattern
// which can be affected by further transformations. So we have to
// execute it at the beginning of the pipeline. Also, this pass resolves
// dynamism, so we have to execute type/shape propagation after.
REGISTER_PASS(manager, FuseFilteringBoxesBySize)
REGISTER_PASS(manager, Validate)
// REGISTER_PASS(manager, Validate)

if (!m_use_shapes) { // Approved Smart Reshape
REGISTER_PASS(manager, LSTMStatesBroadcast)
REGISTER_PASS(manager, Validate)
// REGISTER_PASS(manager, Validate)
REGISTER_PASS(manager, ReshapeSinkingMatMul)
REGISTER_PASS(manager, Validate)
// REGISTER_PASS(manager, Validate)
}
REGISTER_PASS(manager, ConvertQuantizeDequantize)
REGISTER_PASS(manager, SimplifyShapeOfSubGraph, m_use_shapes)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -371,8 +371,6 @@ bool pass::SimplifyShapeOfSubGraph::run_on_model(const std::shared_ptr<Model>& f

REGISTER_PASS(manager, PrepareShapeOpsForEliminationAroundBE)
REGISTER_PASS(manager, AbsSinking)
// FIXME: manager runs Validate based on the last pass, when fixed the following line must be deleted
REGISTER_PASS(manager, Validate)
REGISTER_PASS(manager, SharedOpOptimization)
REGISTER_PASS(manager, EliminateGatherUnsqueeze) // should run after SharedOpOptimization
REGISTER_PASS(manager, NopElimination, m_use_shapes)
Expand Down
1 change: 1 addition & 0 deletions src/core/include/openvino/core/core.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,4 @@
// type
#include "openvino/core/type/element_type.hpp"
#include "openvino/core/type/element_type_traits.hpp"
// comment for triggering CI
1 change: 1 addition & 0 deletions src/core/include/openvino/core/type/element_type.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ enum class Type_t {
f4e2m1, //!< f4e2m1 element type
f8e8m0, //!< f8e8m0 element type
};
// comment for triggering CI

/// \brief Base class to define element type
/// \ingroup ov_element_cpp_api
Expand Down
2 changes: 1 addition & 1 deletion src/core/include/openvino/pass/manager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ class OPENVINO_API Manager {
std::string m_name = "UnnamedManager";

private:
bool run_pass(const std::shared_ptr<PassBase>& pass, const std::shared_ptr<Model>& model, bool needs_validate);
bool run_pass(const std::shared_ptr<PassBase>& pass, const std::shared_ptr<Model>& model, bool& needs_validate);
};
} // namespace pass
} // namespace ov
11 changes: 8 additions & 3 deletions src/core/src/pass/manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,7 @@ bool ov::pass::Manager::run_passes(const std::shared_ptr<ov::Model>& model) {

bool model_changed = false;
bool pass_changed_model = false;
bool needs_validate = false;

profiler.start_timer(m_name);
for (const auto& pass : m_pass_list) {
Expand All @@ -347,6 +348,7 @@ bool ov::pass::Manager::run_passes(const std::shared_ptr<ov::Model>& model) {
profiler.stop_timer(pass_name, pass_changed_model);

model_changed = model_changed || pass_changed_model;
needs_validate = needs_validate || pass_changed_model;

profiler.visualize(model, pass_name);
profiler.serialize(model, pass_name);
Expand All @@ -358,7 +360,7 @@ bool ov::pass::Manager::run_passes(const std::shared_ptr<ov::Model>& model) {

bool ov::pass::Manager::run_pass(const std::shared_ptr<PassBase>& pass,
const std::shared_ptr<Model>& model,
bool needs_validate) {
bool& needs_validate) {
if (m_pass_config->is_disabled(pass->get_type_info())) {
OPENVINO_DEBUG("Pass ", pass->get_name(), " is disabled.");
return false;
Expand All @@ -380,8 +382,11 @@ bool ov::pass::Manager::run_pass(const std::shared_ptr<PassBase>& pass,
// GraphRewrite is a temporary container for MatcherPass to make execution on entire ov::Model
return GraphRewrite(matcher_pass).run_on_model(model);
} else if (auto model_pass = ov::as_type_ptr<ModelPass>(pass)) {
if (ov::as_type_ptr<ov::pass::Validate>(model_pass) && !needs_validate) {
return false;
if (ov::as_type_ptr<ov::pass::Validate>(model_pass)) {
if (!needs_validate) {
return false;
}
needs_validate = false;
}
return model_pass->run_on_model(model);
}
Expand Down
1 change: 1 addition & 0 deletions src/core/src/type/element_type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ namespace {
constexpr size_t idx(Type_t e) noexcept {
return static_cast<std::underlying_type_t<Type_t>>(e);
}
// comment for triggering CI

// Update it when new type is added
constexpr size_t enum_types_size = idx(f8e8m0) + 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1126,11 +1126,6 @@ void TransformationsPipeline::apply(std::shared_ptr<ov::Model> func) {
ov::op::v3::Broadcast::get_type_info_static(),
};
manager.register_pass<ov::pass::MoveEltwiseUpThroughDataMovScalar>(allowed_data_movement_ops);
// FIXME (151111): this Validate is added as a workaround for resolving element
// types after MoveEltwiseUpThroughDataMovScalar. It has to be removed
// after 141764 is fixed as there's a clear issue with Validate passes
// not working properly.
manager.register_pass<ov::pass::Validate>();

manager.register_pass<ov::pass::RoPEFusion>(true);
pass_config->disable<ov::pass::RoPEFusionGPTJ>();
Expand Down
Loading