[GPU] Fix reorder_data_fast_b1 performance regression for unaligned blocked formats#36410
Conversation
|
@sungeunk , could you please review? |
|
I have a few concerns before approval:
Could you please add model-level validation details to the PR?
Given the scope of this change, I am particularly concerned about impact on static models due to the |
Thank you very much for raising these questions. openvino/src/plugins/intel_gpu/tests/unit/test_cases/reorder_gpu_test.cpp Lines 267 to 271 in 5380884 Probably this don't even needed in inference scenarios as paddings values aren't used anyway and don't impact the result. So may be it does make sense to roll back these changes to pre 8932d86 and adjust the tests? What do you think? |
370ebfc to
74fd82d
Compare
|
@sungeunk , it turned out that enqueueing zero fill impacts throughput performance of CV models significantly. |
1100e92
Details:
Commit 8932d86 ("[GPU] Fix unit tests for Xe2+ platforms") introduced zero-fill for padding. Por this purpose GWS was expanded by ceil(features/fsv) ratio to cover padding positions. For small features count (first convolutions have 3 input features) this means that the most of the SIMD lanes are used to insert zeroes, wasting SIMD lanes and causing branch divergence.
In this PR padding zero-fill is moved from the kernel to clEnqueueFillBuffer. The reorder kernel is restored to its original GWS (logical size only). The fill is only enqueued when the output format has a feature-blocking dimension that is not aligned.
Tickets:
AI Assistance: