Skip to content

Commit 474a6b3

Browse files
authored
Fix host memory leak (#4199)
Fix host memory leak bring by dnnl_memory_desc_t. Shall destroy it after using it.
1 parent 3eec440 commit 474a6b3

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

csrc/gpu/oneDNN/Utils.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)