Skip to content

[GPU] Fix GDN func test to use TEMPLATE plugin as reference#36081

Open
wine99 wants to merge 4 commits into
openvinotoolkit:masterfrom
wine99:fix/gpu-gdn-func-test-use-template
Open

[GPU] Fix GDN func test to use TEMPLATE plugin as reference#36081
wine99 wants to merge 4 commits into
openvinotoolkit:masterfrom
wine99:fix/gpu-gdn-func-test-use-template

Conversation

@wine99
Copy link
Copy Markdown
Contributor

@wine99 wine99 commented May 27, 2026

Details:

Problem:

The GPU functional test smoke_GatedDeltaNetStatic was failing on A770 (Linux) because it used the CPU plugin as a reference for output comparison, but the CPU plugin is not registered on that test platform.

Solution:

  1. Add evaluate() method to GatedDeltaNet op — implements the reference GDN algorithm directly in the core op, enabling the TEMPLATE plugin to evaluate it.
  2. Update the GPU functional test — replace core.compile_model(model, "CPU") with ov::test::utils::infer_on_template(), which uses the TEMPLATE plugin (interpreter backend) as reference.

Changes:

  • src/core/dev_api/openvino/op/gated_delta_net.hpp — declare evaluate() and has_evaluate() overrides
  • src/core/src/op/gated_delta_net.cpp — implement evaluate() with the GDN reference algorithm (f32 only)
  • src/plugins/intel_gpu/tests/functional/single_layer_tests/gated_delta_net.cpp — use infer_on_template instead of CPU plugin

The GPU functional test for GatedDeltaNet was failing on A770 because
it used the CPU plugin as reference, which is not available on that
test platform.

Changes:
- Add evaluate() method to GatedDeltaNet op, enabling the TEMPLATE
  plugin to evaluate it directly as a reference implementation.
- Update the GPU functional test to use infer_on_template() instead
  of compiling on CPU.

CVS-187512
@wine99 wine99 requested review from a team as code owners May 27, 2026 05:59
@github-actions github-actions Bot added category: Core OpenVINO Core (aka ngraph) category: GPU OpenVINO GPU plugin labels May 27, 2026
@sys-openvino-ci sys-openvino-ci added the ExternalPR External contributor label May 27, 2026
@wine99
Copy link
Copy Markdown
Contributor Author

wine99 commented May 27, 2026

@zhangYiIntel @isanghao Please take a look.

@t-jankowski t-jankowski requested review from mitruska and removed request for a team May 27, 2026 08:24
Comment thread src/core/src/op/gated_delta_net.cpp Outdated
Comment thread src/core/src/op/gated_delta_net.cpp Outdated
Comment thread src/core/src/op/gated_delta_net.cpp Outdated
Comment thread src/core/src/op/gated_delta_net.cpp Outdated
Comment thread src/core/src/op/gated_delta_net.cpp Outdated
Comment thread src/core/src/op/gated_delta_net.cpp Outdated
Copy link
Copy Markdown
Contributor

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 the GPU GatedDeltaNet functional test reference path by enabling TEMPLATE-based evaluation instead of relying on the CPU plugin, which may be unavailable on the target GPU test platform.

Changes:

  • Adds evaluate() / has_evaluate() support for ov::op::internal::GatedDeltaNet.
  • Implements an f32 reference GatedDeltaNet algorithm in core.
  • Updates the GPU functional test to compare GPU outputs against infer_on_template().

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
src/core/dev_api/openvino/op/gated_delta_net.hpp Declares evaluator overrides for the internal GatedDeltaNet op.
src/core/src/op/gated_delta_net.cpp Adds f32 evaluator implementation used by TEMPLATE inference.
src/plugins/intel_gpu/tests/functional/single_layer_tests/gated_delta_net.cpp Replaces CPU reference inference with TEMPLATE reference inference.

Comment thread src/core/src/op/gated_delta_net.cpp Outdated
Comment thread src/core/src/op/gated_delta_net.cpp Outdated
Comment thread src/core/src/op/gated_delta_net.cpp Outdated
@wine99
Copy link
Copy Markdown
Contributor Author

wine99 commented May 29, 2026

@zhangYiIntel Suggestions applied

Copy link
Copy Markdown
Contributor

@zhangYiIntel zhangYiIntel left a comment

Choose a reason for hiding this comment

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

LGTM for kernel side.

@wine99
Copy link
Copy Markdown
Contributor Author

wine99 commented Jun 1, 2026

@mitruska Could you take a look

@p-durandin
Copy link
Copy Markdown
Contributor

build_jenkins

Comment thread src/core/dev_api/openvino/op/gated_delta_net.hpp Outdated
@praasz praasz self-assigned this Jun 1, 2026
@wine99 wine99 requested a review from a team as a code owner June 3, 2026 05:34
@github-actions github-actions Bot added category: TEMPLATE OpenVINO Template plugin and removed category: Core OpenVINO Core (aka ngraph) labels Jun 3, 2026
@p-durandin
Copy link
Copy Markdown
Contributor

build_jenkins

@wine99
Copy link
Copy Markdown
Contributor Author

wine99 commented Jun 3, 2026

@p-durandin Could you help trigger CI again

@p-durandin
Copy link
Copy Markdown
Contributor

build_jenkins

@wine99
Copy link
Copy Markdown
Contributor Author

wine99 commented Jun 5, 2026

@praasz Could you take a look again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: GPU OpenVINO GPU plugin category: TEMPLATE OpenVINO Template plugin ExternalPR External contributor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants