Skip to content

Commit d7484cb

Browse files
nivas-x86vpirogov
authored andcommitted
src: cpu: dw: bwd_d: fixup stride_w
1 parent a7c32ec commit d7484cb

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/cpu/jit_uni_dw_convolution.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ void _jit_uni_dw_convolution_bwd_data_t<isa, diff_dst_type,
204204
return par_conv;
205205
};
206206

207+
const int aux_w
208+
= nstl::min(jcp.iw, jcp.iw - jcp.kw + jcp.r_pad + jcp.stride_w);
207209
const int chb_work = utils::div_up(jcp.nb_ch, jcp.nb_ch_blocking);
208210
parallel_nd(jcp.mb, chb_work, jcp.ih,
209211
[&](int n, int chb, int ih) {
@@ -233,8 +235,7 @@ void _jit_uni_dw_convolution_bwd_data_t<isa, diff_dst_type,
233235
}
234236

235237
// main loop
236-
ur_str_w = nstl::min((jcp.iw - jcp.kw + jcp.r_pad - iw)
237-
/ jcp.stride_w, jcp.iw);
238+
ur_str_w = (aux_w - iw) / jcp.stride_w;
238239
if (ur_str_w > 0) {
239240
jit_conv_call_s par_conv = kernel_params(ur_str_w, iw, oh,
240241
ih, i_t_overflow, i_b_overflow,

tests/benchdnn/inputs/test_conv_regression_general

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,9 @@ mb1_g2ic6oc16_ih5oh5kh1sh1dh0ph0_iw5ow5kw1sw1dw0pw0
109109
--cfg=f32
110110
mb1_g1_ic16oc16_kd1kh1kw1_id1ih2iw1_od1oh1ow1_sd1sh3sw1_pd0ph0pw0_dd0dh0dw0n"neg-padding(-1)"
111111
mb1_g1_ic16oc16_kd1kh1kw1_id2ih2iw1_od1oh1ow1_sd3sh3sw1_pd0ph0pw0_dd0dh0dw0n"neg-padding(-1)"
112+
113+
# Depthwise with large right padding
114+
--reset --dir=BWD_D
115+
mb1_g3ic3oc3_ih10oh9kh2sh2dh0ph4
116+
mb1_g16ic16oc16_ih5oh2kh2sh5ph0
117+
mb1_g16ic16oc16_ih5oh2kh2sh3ph0

0 commit comments

Comments
 (0)