Skip to content

Commit 6a8185f

Browse files
jane-intelpraasz
andauthored
Skip Constant data copy during partial value propagation (#29451)
### Details: - *Skip Constant data copy during partial value propagation* ### Tickets: - *DeepSeek R1 related: CVS-162883,CVS-164161* --------- Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>
1 parent 4438add commit 6a8185f

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/core/src/op/constant.cpp

+11-2
Original file line numberDiff line numberDiff line change
@@ -658,10 +658,19 @@ bool Constant::has_evaluate() const {
658658
}
659659

660660
bool Constant::evaluate_lower(TensorVector& outputs) const {
661-
return evaluate(outputs, {});
661+
if (!outputs.empty() && outputs[0].get_element_type() != m_element_type)
662+
return evaluate(outputs, {}); // for TypeRelaxed<Constant>
663+
outputs.resize(1);
664+
outputs[0] = get_tensor_view();
665+
return get_data_ptr() != nullptr;
662666
}
667+
663668
bool Constant::evaluate_upper(TensorVector& outputs) const {
664-
return evaluate(outputs, {});
669+
if (!outputs.empty() && outputs[0].get_element_type() != m_element_type)
670+
return evaluate(outputs, {}); // for TypeRelaxed<Constant>
671+
outputs.resize(1);
672+
outputs[0] = get_tensor_view();
673+
return get_data_ptr() != nullptr;
665674
}
666675

667676
bool Constant::can_constant_fold(const OutputVector& input_values) const {

0 commit comments

Comments
 (0)