Skip to content

Commit 8e14b33

Browse files
committed
cpu: x64: jit_reorder: add verbose messages
1 parent 8e5e1e2 commit 8e14b33

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

src/cpu/x64/jit_uni_reorder_utils.cpp

+24-13
Original file line numberDiff line numberDiff line change
@@ -199,14 +199,22 @@ status_t prb_init(prb_t &p, const memory_desc_t &imd, const memory_desc_t &omd,
199199
return po.len() == 0 || (po.len() == 1 && po.entry_[0].is_sum(false));
200200
};
201201

202-
bool ok = im_d.is_blocking_desc() && om_d.is_blocking_desc()
203-
&& !im_d.has_runtime_dims_or_strides() && !im_d.has_zero_dim()
204-
&& !om_d.has_runtime_dims_or_strides() && !om_d.has_zero_dim()
205-
&& attr->has_default_values(primitive_attr_t::skip_mask_t::scales
206-
| primitive_attr_t::skip_mask_t::zero_points
207-
| primitive_attr_t::skip_mask_t::post_ops)
208-
&& check_post_ops(attr);
209-
if (!ok) return unimplemented;
202+
VDISPATCH_REORDER_IC(
203+
im_d.is_blocking_desc(), VERBOSE_UNSUPPORTED_FORMAT_KIND);
204+
VDISPATCH_REORDER_IC(
205+
om_d.is_blocking_desc(), VERBOSE_UNSUPPORTED_FORMAT_KIND);
206+
VDISPATCH_REORDER_IC(!im_d.has_zero_dim(), VERBOSE_EMPTY_TENSOR, "src");
207+
VDISPATCH_REORDER_IC(!om_d.has_zero_dim(), VERBOSE_EMPTY_TENSOR, "dst");
208+
VDISPATCH_REORDER_IC(!im_d.has_runtime_dims_or_strides(),
209+
VERBOSE_RUNTIMEDIM_UNSUPPORTED);
210+
VDISPATCH_REORDER_IC(!om_d.has_runtime_dims_or_strides(),
211+
VERBOSE_RUNTIMEDIM_UNSUPPORTED);
212+
213+
using smask_t = primitive_attr_t::skip_mask_t;
214+
VDISPATCH_REORDER_IC(attr->has_default_values(smask_t::scales
215+
| smask_t::zero_points | smask_t::post_ops),
216+
VERBOSE_UNSUPPORTED_ATTR);
217+
VDISPATCH_REORDER_IC(check_post_ops(attr), VERBOSE_UNSUPPORTED_POSTOP);
210218

211219
bool is_tail_present = false;
212220
dims_t iblocks, oblocks, i_tails, o_tails, i_paddings, o_paddings;
@@ -218,7 +226,8 @@ status_t prb_init(prb_t &p, const memory_desc_t &imd, const memory_desc_t &omd,
218226
const auto pdim = om_d.padded_dims()[d];
219227
const auto cblock = oblocks[d];
220228
// do not allow excess pdim other than required for rounding-up of dim.
221-
if (utils::rnd_up(dim, cblock) != pdim) return unimplemented;
229+
VDISPATCH_REORDER_IC(
230+
utils::rnd_up(dim, cblock) == pdim, "Excess padding");
222231
}
223232

224233
utils::array_set(i_tails, 0, im_d.ndims());
@@ -306,10 +315,12 @@ status_t prb_init(prb_t &p, const memory_desc_t &imd, const memory_desc_t &omd,
306315
return IMPLICATION(check, mask == (with_groups ? 0x3 : 0x1));
307316
};
308317

309-
if (!mask_ok(p.req_s8s8_comp, om_d.extra().compensation_mask)
310-
|| !mask_ok(p.req_asymmetric_comp,
311-
om_d.extra().asymm_compensation_mask))
312-
return status::unimplemented;
318+
VDISPATCH_REORDER_IC(
319+
mask_ok(p.req_s8s8_comp, om_d.extra().compensation_mask),
320+
VERBOSE_UNSUPPORTED_MD_FLAG, "dst");
321+
VDISPATCH_REORDER_IC(mask_ok(p.req_asymmetric_comp,
322+
om_d.extra().asymm_compensation_mask),
323+
VERBOSE_UNSUPPORTED_MD_FLAG, "dst");
313324

314325
ptrdiff_t ss[max_ndims] = {0}; // scales strides
315326
if (p.src_scale_type == scale_type_t::MANY

0 commit comments

Comments
 (0)