From b2bf00be4bbf0225c7616976b5451ac3988f6ade Mon Sep 17 00:00:00 2001 From: wilson-seok Date: Tue, 20 Jan 2026 00:14:31 +0000 Subject: [PATCH] update condition of winograd kernel selection --- src/plugins/intel_gpu/src/graph/layout_optimizer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/intel_gpu/src/graph/layout_optimizer.cpp b/src/plugins/intel_gpu/src/graph/layout_optimizer.cpp index b421afe1f1dee3..a02879113877c3 100644 --- a/src/plugins/intel_gpu/src/graph/layout_optimizer.cpp +++ b/src/plugins/intel_gpu/src/graph/layout_optimizer.cpp @@ -500,6 +500,8 @@ bool should_use_winograd_2x3_s1(const convolution_node& node, || weights_layout.batch() % 64 != 0 // current algorithm is effective for ofm to be multiply of 64 || any_not_one(prim->stride) // stride has to be 1x1 by definition || any_not_one(prim->dilation) // no support for dilation + || !all_zeroes(prim->padding_begin) // no padding supported. padding could makes higher accuracy loss. + || !all_zeroes(prim->padding_end) // no padding supported. padding could makes higher accuracy loss. || output_size_handling_enabled // This condition is weird. Need to revise it and replace with something meaningful || (input_layout.count() > 3000000) // limit max input size as winograd consumes more memory || (input_layout.count() < 50000) // limit min input size as winograd is not effective for small input