Skip to content

Commit

Permalink
Add RT info cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
itikhono committed Feb 14, 2025
1 parent 0d34dae commit 98afdef
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/core/src/preprocess/pre_post_process.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,33 @@ void transformation_pipeline(std::shared_ptr<ov::Model>& model) {
using namespace ov::element;

ov::pass::Manager manager("pre_post_processing");

// 1. Set "disable_const_folding" attribute
manager.register_pass<MarkDequantization>(TypeVector{i8, u8, i4, u4, nf4});
REGISTER_PASS(manager, DisableShapeOfConstantFolding);
REGISTER_PASS(manager, DisableRandomUniformConstantFolding)
// Mark quantized and f16/bf16 compressed constants to prevent CF for them,
// so that not extra memory is used for intermediate decompressed constants.
manager.register_pass<ov::pass::MarkCompressedFloatConstants>();

// 2. Fusion transformations:
REGISTER_PASS(manager, ConvertDivideWithConstant)

auto multiply_fusions = manager.register_pass<ov::pass::GraphRewrite>();
ADD_MATCHER(multiply_fusions, MultiplyConvolutionFusion)
ADD_MATCHER(multiply_fusions, MultiplyGroupConvolutionFusion)
ADD_MATCHER(multiply_fusions, MultiplyConvolutionBackpropDataFusion)
ADD_MATCHER(multiply_fusions, MultiplyGroupConvolutionBackpropDataFusion)
multiply_fusions->set_name("ov::pass::MultiplyFusions");

REGISTER_PASS(manager, ReverseInputChannelsFusion)

// 3. CF call due to detected perf degradations
REGISTER_PASS(manager, ConstantFolding)
manager.run_passes(model);

// 4. RT info cleanup to not affect plugin compilation
for (const auto& op : model->get_ops()) {
enable_constant_folding(op);
}
}

} // namespace
Expand Down

0 comments on commit 98afdef

Please sign in to comment.