[GPU] Disable unrolling by default for LSTMsequence and TensorIterator having length>=16 (#10406)

This commit is contained in:
Mikhail Letavin
2022-02-22 12:45:32 +03:00
committed by GitHub
parent 3f56438d06
commit 171ad9536f

View File

@@ -233,6 +233,7 @@ void TransformationsPipeline::apply(std::shared_ptr<ov::Model> func) {
} else if (const auto &lstm_seq = std::dynamic_pointer_cast<const ngraph::opset6::LSTMSequence>(node)) {
return lstm_seq->get_clip() == 0.0f &&
lstm_seq->get_activations() == std::vector<std::string>{"sigmoid", "tanh", "tanh"} &&
max_seq_len < 16 &&
!ngraph::op::util::is_seq_len_provided(lstm_seq->get_input_node_shared_ptr(3),
max_seq_len);
}
@@ -459,10 +460,9 @@ void TransformationsPipeline::apply(std::shared_ptr<ov::Model> func) {
[this](const std::shared_ptr<const ngraph::Node> &node) -> bool {
auto sub_graph_op = std::dynamic_pointer_cast<const ngraph::op::util::SubGraphOp>(node);
int64_t num_iter = sub_graph_op->get_num_iterations();
if (num_iter == 1) {
return false;
}
return !config.enable_loop_unrolling;
if (!config.enable_loop_unrolling)
return num_iter != 1;
return num_iter >= 16;
});
manager.register_pass<ov::pass::ResolveNameCollisions>();