@@ -269,6 +269,15 @@ inline bool onednn_strides_check(const Tensor& src) {
269269 dnnl_memory_desc_query (md, dnnl_query_format_kind, &md_fmt_kind);
270270 dnnl_memory_desc_query (md, dnnl_query_ndims_s32, &md_ndims);
271271 dnnl_memory_desc_query (md, dnnl_query_padded_dims, &md_padded_dims);
272+ auto block_size = 1 ;
273+ // const auto& blk = md->format_desc.blocking;
274+ dnnl_dims_t md_inner_blks;
275+ dnnl_dims_t md_blk_inner_idxs;
276+ dnnl_memory_desc_query (md, dnnl_query_inner_idxs, &md_blk_inner_idxs);
277+ dnnl_memory_desc_query (md, dnnl_query_inner_blks, &md_inner_blks);
278+
279+ dnnl_memory_desc_destroy (md);
280+
272281 if (strides == nullptr || md_ndims == 0 ||
273282 md_fmt_kind != dnnl_format_kind_t ::dnnl_blocked)
274283 return true ;
@@ -288,12 +297,6 @@ inline bool onednn_strides_check(const Tensor& src) {
288297 blocks[d] = 1 ;
289298 }
290299
291- auto block_size = 1 ;
292- // const auto& blk = md->format_desc.blocking;
293- dnnl_dims_t md_inner_blks;
294- dnnl_dims_t md_blk_inner_idxs;
295- dnnl_memory_desc_query (md, dnnl_query_inner_idxs, &md_blk_inner_idxs);
296- dnnl_memory_desc_query (md, dnnl_query_inner_blks, &md_inner_blks);
297300 for (int iblk = 0 ; iblk < md_inner_nblks; ++iblk) {
298301 blocks[md_blk_inner_idxs[iblk]] *= md_inner_blks[iblk];
299302 block_size *= md_inner_blks[iblk];
0 commit comments