openvino
openvino copied to clipboard
Add ConcatToTile transformation
Details:
- Add a ConcatToTile transformation to replace Concat having inputs from the same output with a Tile or Broadcast
- Add a test for the ConcatToTile transformation
- Make shared_op_optimization() really visit nodes only once and do not iterate over the same nodes several times.
- Significantly reduce model compile time and performance time.
Tickets:
- CVS-138829, CVS-138077
Signed-off-by: Andrii Staikov [email protected]
Added Tile. Tests to be added/fixed later.
Approve Tile transformation, but not the change in SharedOp. IR names would change because output choice is non deterministic. Can we keep the vector to store outputs and check if the same output exists in this vector?
It's deterministic if we are talking about running the same model twice or more. The algo will work the same way.
If we are talking about some debug capabilities. Or friendly_names
get_target_inputs already returns set<Input< Node> > which will be sorted by Node index order and Node address
So the order is non deterministic already.
Maybe it's better to use set instead of unordered_set to achieve the same effect.
It will use the same sorting algorithm.
Concat to Tile causes an issue in e2e tests with unknown root cause. We decided to exclude Tile from transformation and leave Concat to Broadcast case only. https://github.com/openvinotoolkit/openvino/pull/24661
This PR will be closed in a week because of 2 weeks of no activity.
This PR was closed because it has been stalled for 2 week with no activity.