Skip to content

Commit d5ddbc8

Browse files
xuxinzentprimak
authored andcommitted
cpu: x64: fix incorrect result in brgconv bwd w/zp on AMX
1 parent 2968c89 commit d5ddbc8

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

src/cpu/x64/jit_brgemm_conv_bwd_strided.cpp

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -904,24 +904,25 @@ void brgemm_convolution_bwd_strided_t<isa, is_deconv>::cal_compensation(
904904
if (jcp.s8s8_compensation_required && s8s8_comp_buffer)
905905
std::memset(&s8s8_comp_buffer[buffer_offs], 0,
906906
sizeof(int32_t) * comp_kw_sz);
907-
if (everyone_is(0, kd_e, kd_b, kh_e, kh_b, kw_e, kw_b)) continue;
908-
assert(kd_e > kd_b && kh_e > kh_b && kw_e > kw_b);
907+
if (!everyone_is(0, kd_e, kd_b, kh_e, kh_b, kw_e, kw_b)) {
908+
assert(kd_e > kd_b && kh_e > kh_b && kw_e > kw_b);
909909

910-
jit_brgemm_conv_comp_pad_call_s p;
910+
jit_brgemm_conv_comp_pad_call_s p;
911911

912-
p.kd_l = div_up(kd_e - kd_b, SD);
913-
p.kh_l = div_up(kh_e - kh_b, SH);
914-
p.kw_l = div_up(kw_e - kw_b, SW);
915-
p.use_inversion = false;
912+
p.kd_l = div_up(kd_e - kd_b, SD);
913+
p.kh_l = div_up(kh_e - kh_b, SH);
914+
p.kw_l = div_up(kw_e - kw_b, SW);
915+
p.use_inversion = false;
916916

917-
p.ptr_in = &weights[wei_offs];
918-
p.ptr_zp_out = jcp.src_zero_point ? &src_zp_buffer[buffer_offs]
919-
: nullptr;
920-
p.ptr_cp_out = jcp.s8s8_compensation_required
921-
? &s8s8_comp_buffer[buffer_offs]
922-
: nullptr;
917+
p.ptr_in = &weights[wei_offs];
918+
p.ptr_zp_out = jcp.src_zero_point ? &src_zp_buffer[buffer_offs]
919+
: nullptr;
920+
p.ptr_cp_out = jcp.s8s8_compensation_required
921+
? &s8s8_comp_buffer[buffer_offs]
922+
: nullptr;
923923

924-
(*comp_vpad_pbuffer_)(&p);
924+
(*comp_vpad_pbuffer_)(&p);
925+
}
925926

926927
nd_iterator_step(
927928
g, jcp.ngroups, icb, jcp.nb_ic, k, jcp.ker_ranges_size);

0 commit comments

Comments
 (0)