Skip to content

Conversation

sungeunk
Copy link
Contributor

Description of the issue(symptom, root-cause, how it was resolved)

  • onednn reorder can not handle the feature axis padding. 'is_supported_pad()' function does not check the feature axis padding.
  • fallback to ocl if the reorder has the feature axis padding.

The code and line that caused this issue (if it is not changed directly)

  • src/plugins/intel_gpu/src/graph/impls/onednn/reorder_onednn.cpp
  • src/plugins/intel_gpu/src/graph/impls/onednn/utils.cpp

Reproduction step and snapshot (if applicable. Do not attach for customer model)

  • reproducer is attached in the ticket
image

Problematic graph

image

Checklist

  • Is it a proper fix? (not a workaround)
  • Did you include test case for this fix, if necessary?
  • Did you review existing test that can be extended to cover this scenario? Which test did you review?

Tickets:

  • 172242

@sungeunk sungeunk requested review from a team as code owners August 19, 2025 06:54
@sungeunk sungeunk added the category: GPU OpenVINO GPU plugin label Aug 19, 2025
@sungeunk sungeunk requested a review from Copilot August 19, 2025 13:12
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes a bug in the oneDNN reorder implementation where feature axis padding was not being properly checked, causing incorrect behavior when feature padding was present. The fix adds validation for feature axis padding in the is_supported_pad() function to ensure oneDNN reorders fallback to OpenCL when feature padding is detected.

  • Added feature axis padding validation to prevent oneDNN from handling unsupported padding scenarios
  • Modified the return condition to include the new feature padding check alongside existing spatial and batch padding checks

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@sungeunk sungeunk requested a review from Lyamin-Roman August 20, 2025 01:05
@yeonbok yeonbok added this pull request to the merge queue Aug 20, 2025
Comment on lines +101 to +105
bool no_feature_padding = true;
no_feature_padding &= (pad._lower_size[1] == 0);
no_feature_padding &= (pad._upper_size[1] == 0);

return no_feature_padding;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bool no_feature_padding = true;
no_feature_padding &= (pad._lower_size[1] == 0);
no_feature_padding &= (pad._upper_size[1] == 0);
return no_feature_padding;
return (pad._lower_size[1] == 0) && (pad._upper_size[1] == 0);

Can be refactored?

@praasz praasz added this to the 2025.4 milestone Aug 20, 2025
Merged via the queue into openvinotoolkit:master with commit 268b02c Aug 20, 2025
191 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: GPU OpenVINO GPU plugin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants