openvino
208788c7 - [GPU] Move data_flow marking for const-convert-gemm pattern to reorder_inputs (#33604)

Commit
90 days ago
[GPU] Move data_flow marking for const-convert-gemm pattern to reorder_inputs (#33604) ### Issue: - `user->get_output_layout()` in `mark_if_data_flow()` is being called before user layouts are calculated. - In large graphs, this can trigger deep recursive layout computation from mid‑graph nodes back to inputs, which may lead to stack overflow. ### Root Cause: - `mark_if_data_flow()` runs during `mark_nodes` traversal and can evaluate GEMM users whose layouts are not yet cached. - When `get_output_layout()` is called on such nodes, it falls back to `calc_output_layouts()` and recursively requests input layouts, causing a deep call chain in large models. ### Fix: - Create a separate function, `mark_if_gemm_data_flow()` to mark `data_flow` for the case of `Constant -> Convert -> Gemm` pattern. - The function should be called from `reorder_inputs`. - For information on the pattern`, please refer [PR#32817](https://github.com/openvinotoolkit/openvino/pull/32817) #### Checklist - [x] Is it a proper fix? - [ ] Did you include test case for this fix, if necessary? - [ ] Did you review existing test that can be extended to cover this scenario? ### Tickets: - 178999
Parents
Loading