Skip to content

Commit f46fffb

Browse files
tczeszuntprimak
authored andcommitted
x64: deconv: dispatch low performant shapes to jit
1 parent d39e1b7 commit f46fffb

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

src/cpu/x64/jit_brgemm_conv_bwd_utils.cpp

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1535,7 +1535,7 @@ status_t init_jcp(jit_brgemm_conv_conf_t &jcp, cpu_isa_t isa,
15351535
const bool is_f32
15361536
= utils::everyone_is(f32, jcp.src_dt, jcp.wei_dt, jcp.dst_dt);
15371537

1538-
// Disable 4 shapes that cause performance regression
1538+
// Disable shapes that cause performance regression
15391539
const auto is_regression_shape = jcp.id == 1 && jcp.od == 1
15401540
&& ((jcp.ic == 128 && jcp.oc == 256 && jcp.ih == 101 && jcp.oh == 49
15411541
&& jcp.iw == 85 && jcp.ow == 41)
@@ -1550,6 +1550,30 @@ status_t init_jcp(jit_brgemm_conv_conf_t &jcp, cpu_isa_t isa,
15501550
&& everyone_is(4, jcp.ih, jcp.iw)
15511551
&& everyone_is(2, jcp.oh, jcp.ow)
15521552
&& everyone_is(4, jcp.kh, jcp.kw)
1553+
&& everyone_is(2, jcp.stride_h, jcp.stride_w))
1554+
|| (jcp.ic == 64 && jcp.oc == 128
1555+
&& everyone_is(513, jcp.ih, jcp.iw)
1556+
&& everyone_is(256, jcp.oh, jcp.ow)
1557+
&& everyone_is(3, jcp.kh, jcp.kw)
1558+
&& everyone_is(2, jcp.stride_h, jcp.stride_w))
1559+
|| (jcp.ic == 32 && jcp.oc == 64
1560+
&& everyone_is(1025, jcp.ih, jcp.iw)
1561+
&& everyone_is(512, jcp.oh, jcp.ow)
1562+
&& everyone_is(3, jcp.kh, jcp.kw)
1563+
&& everyone_is(2, jcp.stride_h, jcp.stride_w))
1564+
|| (jcp.ic == 128 && jcp.oc == 256
1565+
&& everyone_is(257, jcp.ih, jcp.iw)
1566+
&& everyone_is(128, jcp.oh, jcp.ow)
1567+
&& everyone_is(3, jcp.kh, jcp.kw)
1568+
&& everyone_is(2, jcp.stride_h, jcp.stride_w))
1569+
|| (jcp.ic == 256 && jcp.oc == 512
1570+
&& everyone_is(129, jcp.ih, jcp.iw)
1571+
&& everyone_is(64, jcp.oh, jcp.ow)
1572+
&& everyone_is(3, jcp.kh, jcp.kw)
1573+
&& everyone_is(2, jcp.stride_h, jcp.stride_w))
1574+
|| (jcp.ic == 256 && jcp.oc == 512 && jcp.ih == 49
1575+
&& jcp.iw == 41 && jcp.oh == 23 && jcp.ow == 19
1576+
&& everyone_is(5, jcp.kh, jcp.kw)
15531577
&& everyone_is(2, jcp.stride_h, jcp.stride_w)));
15541578
VDISPATCH_CONV_IC(!(is_f32 && is_regression_shape),
15551579
"implementation skipped due to low performance");

0 commit comments

Comments
 (0)